我正在关注关于使用着色器进行水模拟的Nvidia GPU Gems Chapter 1。我正在尝试按照本章在OpenGL es 2.0(iOS)中使用glsl创建海洋水着色器。
我能够按照本章所述创建几何波,但是在创建纹理法线贴图时遇到了麻烦。本章对于实际渲染到纹理渲染目标的内容有些不清楚。我应该渲染法线贴图还是高度图?在文字中,它暗示法线正以rgb颜色呈现给目标,但是再次,第1.3节“创作”下的图像(b)和(d)似乎指示应该将灰度高度图呈现给纹理目标。本章还讨论了使用查找纹理作为纹理的u坐标,但是我不清楚这与渲染纹理的方式如何匹配。有2种不同的纹理可以渲染吗?如果有人可以帮助阐明这些组件如何组合在一起,我将不胜感激!
为什么要完全渲染到纹理?您可以轻松地在几何着色器中即时计算这些值。由于它们会改变每一帧,因此您仍然需要每次都重复这些计算,因此我看不到通过渲染到纹理会获得什么。
尽管您确实需要计算两个值:高度位移(使用公式3)和每个顶点的法线(使用公式6b)。