4

我正在关注关于使用着色器进行水模拟的Nvidia GPU Gems 第 1 章。我正在尝试按照本章在 OpenGL es 2.0 (iOS) 中使用 glsl 创建海水着色器。

我能够按照本章中的描述创建几何波,但是在创建纹理法线贴图时我遇到了麻烦。本章对于实际渲染到纹理渲染目标的内容有些不清楚。我应该渲染法线贴图还是高度贴图?在文本中,它建议将法线作为 rgb 颜色渲染到目标,但同样,第 1.3 节“创作”下的图像 (b) 和 (d) 似乎表明应该将灰度高度图渲染到纹理目标. 本章还讨论了使用查找纹理作为纹理的 u 坐标,但我不清楚这如何适合渲染到纹理。是否有 2 种不同的纹理可供渲染?如果有人可以帮助澄清这些组件如何组合在一起,我将非常感激!

4

1 回答 1

0

为什么要渲染到纹理?您可以轻松地在几何着色器中即时计算这些值。由于它们更改每一帧,因此您每次都需要重复这些计算,所以我看不到通过渲染到纹理可以获得什么。

您确实需要计算两个值:高度位移(使用等式 3)和每个顶点的法线(使用等式 6b)。

于 2013-05-17T07:42:17.247 回答