我正在关注 Nvidia GPU Gems Chapter 1关于使用着色器进行水模拟。我正在尝试按照这一章在 OpenGL es 2.0 (iOS) 中使用 glsl 创建海水着色器。
我能够创建本章中描述的几何波,但是在创建纹理法线贴图时我遇到了麻烦。本章不太清楚实际渲染到纹理渲染目标的内容。我应该渲染法线贴图还是高度贴图?在文本中,它表明法线将作为 rgb 颜色渲染到目标,但同样,第 1.3 节“创作”下的图像 (b) 和 (d) 似乎表明应将灰度高度图渲染到纹理目标.本章还讨论了对纹理的 u 坐标使用查找纹理,但我不清楚这如何适合渲染到纹理。是否有两种不同的纹理要渲染?如果有人能帮助澄清这些组件如何组合在一起,我将非常感激!
最佳答案
为什么要渲染到纹理?您可以轻松地在几何着色器中即时计算这些值。由于它们每帧都会改变,因此无论如何您每次都需要重复这些计算,因此我看不出通过渲染到纹理会获得什么。
不过,您确实需要计算两个值:高度位移(使用等式 3)和每个顶点的法线(使用等式 6b)。
关于opengl-es - 遵循 Nvidia GPU Gems 第 1 章设置 GLSL 海洋水着色器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16577837/