我正试图找到一种聪明的方式来渲染大的谱图(比如全屏)。谱图是一个坐标系,其中x轴是时间,y轴是频率,颜色强度是频率分量的大小,它看起来很有意思的是每帧,一个新的列(1个像素宽)是新的,,但整个其余的光谱是相同的,只移动左边的一个像素。目前,我只是写了一个像图像一样的循环软件缓冲区,然后绘制该缓冲区 - 但在高帧率和屏幕大小时显然很慢。高效渲染谱图的可视化
是否有任何明显的解决这个问题,使用OpenGL(或一些软件技巧 - 必须跨平台,虽然)?也许通过在GPU内存上使用缓冲区,使用填充它的着色器(不可否认,除了绘制简单的东西外,我对OpenGL有一个非常模糊的理解)?它围绕着保持GPU内存上的旧数据,我看到它。
要计算FFT的源数据集有多大?自从OpenGL支持VBO之后,您可以使用OpenCL来转换数据并将其作为OpenGL纹理吐出。将数据推送到GPU可能会很昂贵。 – BlamKiwi 2014-10-28 22:49:56
最坏的情况是60 fps * 65536个样本。我想将DSP部分保留在CPU上,因为我也对数据进行了插值和分析--FFT也不是我使用的唯一算法。 – Shaggi 2014-10-28 23:11:33