audio - 对数网格间距的替代方案
问题描述
我目前正在尝试渲染音频瀑布图。音频频谱分析仪通常有一个对数 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 数据映射到相应的顶点。不过,我不确定如何实现这一点。这甚至是一个合理的方法吗?如果不是,还有哪些其他可能性?
提前感谢您的任何答案!:)
– 施罗夫尔
解决方案
推荐阅读
- arrays - 如何将对象推送到作为状态对象的数组,使用 Typescript 做出反应
- python - 为什么参数的值改变了?
- android - 在应用程序消息崩溃应用程序,安装更新时
- objective-c - 如何在 Objective-C 中创建通用属性?
- r - 从多个页面抓取数据时如何处理异常?
- c# - 如何找出哪个任务已完成
- c++ - Clang 不会在编译时评估非 constexpr 变量的 constexpr 函数的值
- android - BILLING_RESPONSE_RESULT_DEVELOPER_ERROR
- javascript - 点击 JS 事件触发时内容高度发生变化
- c++ - 如何抑制“module_attach”/“module_detach”调试器日志