OpenGL ES 2.0 雾

Posted Msnow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenGL ES 2.0 雾相关的知识,希望对你有一定的参考价值。

在场景中使用雾不但可以提高真实感,特定的情况下还能优化性能。具体是指当物体离摄像机足够远时,雾就足够浓,此时只能看到雾而看不到物体,也就不必对物体着色进行详细计算,这样可以大大提高渲染效率。

雾有很多数学模型

线性模型:

f=max(min((end-dist)/(end-start),1.0),0.0)
  • f为雾化因子,其取值范围为0.0~1.0(0表示雾很浓,只看见雾)
  • dist为当前要绘制的片元离摄像机的距离。
  • end表示一个特定的距离值,当片元据摄像机的距离超过end时,雾化因子为0
  • start表示一个特定的距离值,当片元距摄像机的距离小于start时,雾化因子为1

非线性计算公式:

f=1.0-smoothstep(start,end,dist)

 

以上是关于OpenGL ES 2.0 雾的主要内容,如果未能解决你的问题,请参考以下文章

OpenGL ES 2.0中的剪切平面

如何在Android上将OpenGL ES 1.0代码转换为OpenGL Es 2.0?

如何在Android上使用OpenGL ES 2.0绘制点

OpenGL ES 2.0 shader开发

使用 OpenGL 2.0(不是 ES)绘制三角形

如何在Android上使用OpenGL ES 2.0绘制点