如何在3D场景中加入Fog.doc

上传人:laozhun 文档编号:2353150 上传时间:2023-02-15 格式:DOC 页数:1 大小:13.50KB
返回 下载 相关 举报
如何在3D场景中加入Fog.doc_第1页
第1页 / 共1页
亲,该文档总共1页,全部预览完了,如果喜欢就下载吧!
资源描述

《如何在3D场景中加入Fog.doc》由会员分享,可在线阅读,更多相关《如何在3D场景中加入Fog.doc(1页珍藏版)》请在三一办公上搜索。

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的公式模式有三种D3DFOG_LIN

2、EAR 、D3DFOG_EXP、D3DFOG_EXP21.如果使用D3DFOG_LINEAR模式,就要设置起用Fog的深度的开始值D3DRS_FOGSTART和结束值D3DRS_FOGEND pd3dDevice8-SetRenderState(D3DRS_FOGSTART, *(DWORD*) (&fFogStart); pd3dDevice8-SetRenderState(D3DRS_FOGEND, *(DWORD*) (&fFogEnd);2.如果使用非D3DFOG_LINEAR模式,就要设置Fog的浓度 g_pDevice-SetRenderState(D3DRS_FOGDENSITY

3、, *(DWORD *)(&Density);个人感觉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_pD

4、evice-SetRenderState(D3DRS_FOGCOLOR, 0x0f0fff);/ Set fog parameters.if(D3DFOG_LINEAR = Mode) g_pDevice-SetRenderState(D3DRS_FOGTABLEMODE, Mode); g_pDevice-SetRenderState(D3DRS_FOGSTART, *(DWORD *)(&Start); g_pDevice-SetRenderState(D3DRS_FOGEND, *(DWORD *)(&End);else g_pDevice-SetRenderState(D3DRS_FOGTABLEMODE, Mode); g_pDevice-SetRenderState(D3DRS_FOGDENSITY, *(DWORD *)(&Density);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号