opengl中实现高度雾,我目前知道的有三种
第一种 屏幕后效
渲染深度图到renderTarget中,在屏幕后效处理中,根据当前片断的纹理坐标与深度图纹理,采样得到片断的深度。
再结合相机的矩阵得到片断的世界坐标。 有了世界坐标,就可以很方便的计算高度雾了
第二种 将雾效加到平面或者其他Mesh上。
以平面为例,同样是渲染深度图,传到平面的渲染shader中,计算平面当前片断的深度与深度图的深度差,作为雾的浓度
第三种 将雾效计算加到每个Mesh上
每个Mesh在渲染时肯定是知道世界坐标的,直接计算高度雾即可
网友评论