c++ - 用openGL绘制频谱图的最佳方法是什么
问题描述
我编写了一个代码来计算正弦和余弦信号的频谱图,应用 Hann 窗口,计算 FFT,计算频率系数的对数幅度。
我通过在openGL中编写一个简单的函数来绘制幅度频谱来测试它是否可以正常工作,我得到了以下结果:
如您所见,有 2 个条形表示正弦 * cos 波。
我拥有绘制频谱图所需的所有信息(频率、幅度、时间)现在我的问题是如何绘制它?我的第一个想法是绘制点,所以我将使用时间数组作为间隔时间,我需要在 X 轴上绘制点,频率数组到在 Y 轴上绘制它们的位置,幅度将是颜色的点。
也许这是一个低效的想法,因为我看到在 openGL 中绘制点确实效率低下,所以我不知道什么是更好的想法,我在网上找不到任何“简单”的 openGL 频谱图示例。
解决方案
@HolyBlackCat 评论就是答案
“制作一组颜色,填充一次,然后将其作为纹理提供给 GL”
推荐阅读
- javascript - 滑块中的图像重复
- java - 如何在 Android Studio 中正确使用 database.raw 查询?
- token - 如何在万事达卡网关支付(mpgs)中使用托管结账方式进行标记化
- android - RecyclerView.Adapter StateRestorationPolicy 是如何工作的?
- excel - 数据归一化范围和规模
- android - 如何按前一天的按钮,前一天的日历应该来?
- android - ViewModel:检查片段是恢复还是停止
- python - 验证性能可以从 MNIST 训练数据和测试数据输出吗?
- css - 为什么 bulma 会覆盖我的 vue3 组件 css?
- azure-databricks - 如何使用已发布管道的 PipelineParameter 通过 DatabricksStep 指定 databricks 笔记本小部件?