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:参数
大家可以参考红皮书 。上面写的十分详细,好吧,就到这里吧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值