OpenGL如何实现雾化效果


                                     雾化效果实现首先我用的例子是在MFC的环境下制作OpenGL程序,原理和win32控制台是相同的,这点大家注意。OpenGL下的雾化效果实现起来是十分简单的,只需要几行代码就能将神奇的效果表现的淋漓尽致。本文是针对初学者设计的,高手勿喷。1:这是程序刚刚运行起来的样子:显然我们还没有对其进行雾化操作。接下来进入正题。2:添加几个变量GLuint fogColor[4] = {0.5f,0.5f,0.5f,1.0f};这句代码的功能就是将雾的颜色设置一下。
3:接下来在你的初始化OpenGL的函数里面添加下面的代码:glClearColor(0.5f,0.5f,0.5f,1.0f);//没错 就是将屏幕的颜色清除为雾的颜色 否则可能效果不会太明显。
glEnable(GL_FOG); //启用雾化效果 不然雾气是出不来的哦 glFogi(GL_FOG_MODE, GL_LINER);//设置雾的过滤模式 GL_LINER只是其中的一种方式 我们下面将会介绍glFogfv(GL_FOG_COLOR, fogColor);//设置雾的颜色啦 我们已经在上面初始化过来 再次就不赘余了glFogf(GL_FOG_DENSITY, 0.2f); //设置雾的密度 第二个数字越大 说明雾气越浓glHint(GL_FOG_HINT, GL_DONT_CARE); //设置系统如何计算雾气glFogf(GL_FOG_START,3.0f); //设置雾气的开始位置glFogf(GL_FOG_ED, 8.0f);//设置雾气的结束位置显然我们已经将雾气制作好了 然而刚刚接触OpenGL的童鞋可能还是有些问题,我们就程序中美介绍的参数讲一下。
4:参数大家可以参考红皮书 。上面写的十分详细,好吧,就到这里吧。
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告