- 热门文章:
- · 深入RPG游戏制作—图形篇
- · 角色扮演游戏的升级系统研究
- · 游戏外挂分析
- · 特效天地——水波
- · 隨筆]遊戲程式設計初學者…
- · 特效天地——位图卷轴
- · 未来游戏发展趋向
- · 纹理映射:JeffMolofee(…
- · 向3D进军:JeffMolofee(…
- · 看骂国产游戏、骂国内制…
- · 五子棋的核心算法
- · 拼图游戏的算法
上一篇:论游戏中的搜索问题(初级篇) >>
如何在3D场景中加入Fog
Fog的使用相当简单。只需要设置好几个参数就可以。
首先设置是否启用Fog效果:
g_pDevice->SetRenderState(D3DRS_FOGENABLE, TRUE);
接着判断Fog的颜色:
g_pDevice->SetRenderState(D3DRS_FOGCOLOR, 0x0f0f0f);
然后判断要使用的Fog的公式模式,Fog的公式模式有三种——D3DFOG_LINEAR 、D3DFOG_EXP、D3DFOG_EXP2
1.如果使用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, *(DWORD *)(&Density));
个人感觉Pixel Fog更容易实现和控制一些
下面给出一个Pixel Fog的例子
float Start = 0.5f, // For linear mode
End = 0.8f,
Density = 0.66; // For exponential modes
DWORD Mode = D3DFOG_EXP;//你也可尝试着设置 Mode = D3DFOG_LINEAR;
// Enable fog blending.
g_pDevice->SetRenderState(D3DRS_FOGENABLE, TRUE);
// Set the fog color.
g_pDevice->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));
}
下一篇:深入RPG游戏制作—图形篇 >>
相关文章:
- · 上楼梯算法的java实现
- · 杨辉三角形
- · 水仙花数
- · 刘徽《九章算术》中的勾股数
- · 图像分割中阈值的自动选取的研究及其算法实现
- · 【C++/OOP】(侯捷著)
- · 《Borland传奇》序-李维
- · 工作不努力,罚你去印度…
- · 《多收了三五斗》大学毕…
- · 停止思考是一种堕落--…
- · 夜幕下的程序员
- · 《各大IT公司薪金大曝光…
- · 我国加速城市有线电视数字化进程
- · 石家庄市政府“网站集群”全面升级
- · 农垦系统全面信息化启动
- · 推广“绿色电子”天津率先行动
- · 江西省将实行信息化工程监理体制
- · 美政府电脑系统遭少年黑客攻击
- · 交通运输信息化本周首次亮相亚洲
- · 神州数码20年扎根电子政务
- · 电子政务最好的是加拿大
- · 瞄准“数字莆田”建设
- · 我的门户网站:Yahoo
- · MicrosoftOffice-坚持还…
- · B/S模式安全性探讨
- · 分析网上销售软件是否能…
- · 80/20定律在客户关系管理…
- · 中国到底需不需要CRM
- · 一步一步了解CRM(概念篇)
- · 中国网络公司谁在盈利
- · 王志东预言中国门户网站…
- · CRM中的订单系统
- · 软件开发中项目需求管理简述
- · 跳出程序员的视界 感悟软件测试
- · 杂谈:项目管理的是与非
- · 对项目开发中几种测试类型的理解
- · 初学者入门:软件测试从零开始
- · EA与Rose UML建模工具比较
