简单介绍一下水面倒影的实现方式
这里简单介绍一下水面倒影的渲染实现方式,因为我自己也没有找到比较理想的水面波动生成算法,所以就不介绍了
直接说原理吧,和上一篇的阴影实现有点类似
在实现水面倒影前我们先想想,当摄像机在水面上方移动的时候倒影的渲染也会变化,所以倒影的渲染和相机的纹理息息相关
假设摄像机Camera0此帧在P位置,水面为Plane,我们创建一个新的相机Camera1,将Camera1位置,方向用Plane做一个镜面对称,将水面设置为近截面。然后利用Camera1渲染出一张RTT纹理。和纹理阴影记录纹理和视图投影M1矩阵,在Shader里面进行相对的映射(有时候会考虑水面法向量),映射方式请参考上一篇纹理阴影映射方式。
然后将水面本身的颜色和当前映射出的颜色做混合。即得到了倒影效果,简单吧