SweetDream
高歌一壶新酿酒,醉抱青山不必归。
雾效开启后离视点较远的物体将融入到雾的颜色中。通过使用雾可以提高性能,因为我们无需绘制那些由于雾的影响而看不见的物体。

OpenGL中开启雾很容易,它只是一条语句:

glEnable(GL_FOG);//开启雾效果

然而开启雾效后得到的默认的效果可能不是我们想要的,我们可以通过调用

void glFog*( GLenum pname, GLfloat param );来设置雾效达到我们预期的效果。

pname GL_FOG_MODE的时候可以设置雾的过滤模式,param可以是GL_EXP, GL_EXP2, GL_LINEAR。它分别代表了不同雾效的混合因子f如下图:


当渲染的时候,使用雾效混合因子将雾的颜色和片元的颜色混合起来,得到雾的效果。

pnameGL_FOG_COLOR的时候可以设置雾的颜色。

pnameGL_FOG_DENSITY的时候可以设置雾的浓度。

pnameGL_FOG_START/END时候设定雾效距屏幕多近开始和雾效持续到距屏幕多远。
posted on 2006-02-25 10:53  SweetDream  阅读(497)  评论(0编辑  收藏  举报