Monthly Archives: February 2014

OpenGL雾简介

本文主要对OpenGL中雾的计算原理进行介绍,在参考【1】的第6章、 NEHE教程的第16章和第41章都有示例代码。 一. 雾的计算原理 把片断(fragment)颜色和雾颜色以一定比例混合,就能产生雾的效果。比例因子f,主要有三种计算混合因子的方法,如下面的三个等式所示,其中c指的是眼睛坐标与片段中心之间的距离或者是雾坐标,通过等式计算出个的因子f,需要缩放至范围内。 雾浓度的计算等式 在RGBA模式和颜色索引模式下,都能支持雾的计算,具体可以参考【1】。 二. OpenGL雾相关的API函数 void glFog{f,i}(GLenum  pname,  TYPE  param); void glFog{f,i}v(GLenum  pname,  const TYPE *  params); void glFogCoord{d,f}(TYPE  coord); void glFogCoord{d,f}v(TYPE *  coord); void glFogCoordPointer(GLenum  type,  GLsizei  stride,  GLvoid *  pointer); void glFog{f,i}(GLenum  pname,  TYPE  param);

spacer