我想学习使用OpenGL,并想过写一个音乐可视化程序。有人能指点一下我需要哪些元素以及我应该如何学习实现吗?
我想学习使用OpenGL,并想过写一个音乐可视化程序。有人能指点一下我需要哪些元素以及我应该如何学习实现吗?
我创建BeatHarness (http://www.beatharness.com) 的方法:
现在你有一些漂亮的变量可以用于你的图形显示。 例如,显示一张图片,大小乘以低音 - 这将给你一个会随着节拍缩放的图片。 从那里开始,就是你自己的想象力! :)
你是否尝试编写自己的音频/音乐播放器?也许你应该尝试为现有播放器编写插件,这样你就可以专注于图形而不必过于关注编解码器、DSP和音频输出设备的细节。
我知道WinAMP和Foobar有可视化插件的API。我相信Windows Media Player和iTunes也有类似功能。只需选择一个媒体播放器并开始阅读相关文档。其中一些甚至可能还拥有现有的OpenGL插件,供您开始使用,这样您就可以专注于纯OpenGL编程了。
你可能想考虑使用libvisual的FFT/DCT函数而不是FFTW;它们更简单易用,并且提供的数据同样易于生成视觉效果。一些媒体播放器和可视化插件在视觉方面在某种程度上使用了libvisual。例如:Totem(播放器)、GOOM(适用于Totem和其他播放器的插件)、PsyMP3 2.x(播放器)。