首页 > 解决方案 > 对数网格间距的替代方案

问题描述

我目前正在尝试渲染音频瀑布图。音频频谱分析仪通常有一个对数 X 轴,这也是我想要实现的。所以在我的设置中,我计算网格的 x 分量,如下所示:

// This is just pseudo-code

float max_frequency = sample_rate / 2;

for (int i = 0; i < mesh_width; i++) {
    float frequency = i / (mesh_width - 1) * max_frequency;
    float x = log(frequency + 1) / log(max_frequency + 1);

    mesh[x_index] = x;
}

然而,这会导致高频中的极端 z-fighting。大概是因为顶点太密集了。

我必须解决的一个想法是使用具有线性间距的规则网格并将 FFT 数据映射到相应的顶点。不过,我不确定如何实现这一点。这甚至是一个合理的方法吗?如果不是,还有哪些其他可能性?

提前感谢您的任何答案!:)

– 施罗夫尔

标签: audiographicssignal-processing

解决方案


推荐阅读