参考教程
学习记录
这篇文章种我们介绍另一种渲染云层得方法,使用扰动纹理(Perturb Texture)实现,本篇代码基于上一篇,无新增类。
上一篇中我们使用了两张纹理来渲染云层,这篇中我们依然使用两张,但是一张为云层纹理,一张为扰动纹理,我们此时需要更改 SkyPlane.ps 来使用 scale , translation , brightless 来进行计算纹理坐标 。此时的 SkyPlane.vs 如下:
1 | //////////////////////////////////////////////////////////////////////////////// |
主要的内容就是在这里,SkyPlaneShaderClass 的更改仅仅是支持新的 Shader ,其声明如下:
1 | //////////////////////////////////////////////////////////////////////////////// |
在我们的 SkyPlaneClass 中,我们更改之前的多个 Translation 变量为 Translation ,Brightless 和 Scale 以及更改其对应的 Get 方法,其声明如下:
1 | //////////////////////////////////////////////////////////////////////////////// |
最后我们修改 ShaderManagerClass 和 ZoneClass 对应部分,最终效果如下:
