如何在3d场景中加入fog

上传人:aa****6 文档编号:38097895 上传时间:2018-04-26 格式:DOC 页数:2 大小:13.50KB
返回 下载 相关 举报
如何在3d场景中加入fog_第1页
第1页 / 共2页
如何在3d场景中加入fog_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《如何在3d场景中加入fog》由会员分享,可在线阅读,更多相关《如何在3d场景中加入fog(2页珍藏版)》请在金锄头文库上搜索。

1、如何在如何在 3D 场景中加入场景中加入 Fog3D 场景中加入 Fog(雾化效果)能增加真实感,产生纵深感和距离感,也可以用来营造气氛;或者使景物产生朦胧的感觉。Direct3D 支持两种雾化模式pixel fog 和 vertex fog 。Fog 的使用相当简单。只需要设置好几个参数就可以。首先设置是否启用 Fog 效果:g_pDevice-SetRenderState(D3DRS_FOGENABLE, TRUE); 接着判断 Fog 的颜色:g_pDevice-SetRenderState(D3DRS_FOGCOLOR, 0x0f0f0f);然后判断要使用的 Fog 的公式模式,Fog

2、 的公式模式有三种D3DFOG_LINEAR 、D3DFOG_EXP、D3DFOG_EXP21.如果使用 D3DFOG_LINEAR 模式,就要设置起用 Fog 的深度的开始值 D3DRS_FOGSTART 和结束值D3DRS_FOGEND pd3dDevice8-SetRenderState(D3DRS_FOGSTART, *(DWORD*) (pd3dDevice8-SetRenderState(D3DRS_FOGEND, *(DWORD*) (2.如果使用非 D3DFOG_LINEAR 模式,就要设置 Fog 的浓度g_pDevice-SetRenderState(D3DRS_FOGDE

3、NSITY, *(DWORD *)(个人感觉 Pixel Fog 更容易实现和控制一些下面给出一个 Pixel Fog 的例子float Start = 0.5f, / For linear modeEnd = 0.8f,Density = 0.66; / For exponential modesDWORD Mode = D3DFOG_EXP;/你也可尝试着设置 Mode = D3DFOG_LINEAR;/ Enable fog blending.g_pDevice-SetRenderState(D3DRS_FOGENABLE, TRUE);/ Set the fog color.g_pDe

4、vice-SetRenderState(D3DRS_FOGCOLOR, 0x0f0fff);/ Set fog parameters.if(D3DFOG_LINEAR = Mode)g_pDevice-SetRenderState(D3DRS_FOGTABLEMODE, Mode);g_pDevice-SetRenderState(D3DRS_FOGSTART, *(DWORD *)(g_pDevice-SetRenderState(D3DRS_FOGEND, *(DWORD *)(elseg_pDevice-SetRenderState(D3DRS_FOGTABLEMODE, Mode);g_pDevice-SetRenderState(D3DRS_FOGDENSITY, *(DWORD *)(

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号