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