我正在用opengl2 es为android开发一个游戏,我想要这样的效果:https://lh6.ggpht.com/RF0R32tKjDhQcjNTtW51xd-giuXp-FlsDJaqscilDetI7cMpNQwUDjCryT2qyyBzT6PZ
我假设光线是用法线映射完成的(我说得对吗?
但我坚持认为,贝兴纹理上有某种类型的扭曲,以模拟 de 波浪。
我可以使用哪个数学函数来模拟图像中出现的噪点?
谢谢
是的,使用法线贴图。为了使效果更具说服力,请使用多个法线贴图(两个或三个),这些法线贴图以不同的速度向不同的方向平移。使用 Google 查找一些模拟水的法线贴图。
您不需要数学函数来模拟失真。折射和反射畸变是根据法线贴图非常简单地计算的。
下面是PowerVR对水效果的描述和实现。http://www.imgtec.com/powervr/insider/docs/POWERVR.Shader%20Based%20Water%20Effects.1.0.14.OGLES2External.pdf
以下是一篇关于实现折射的 NVIDIA 文章。这是针对 DirectX 的,但高级解释非常好。阅读有关水的部分。http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter19.html