|
|
请各位帮忙看看,为什么这样实现不了雾的效果呢,用的是dx9.0 别人都说雾效果实现很简单的 我折腾了半天却没有弄出来,惭愧啊,请大家帮帮忙吧
d3d_Device->BeginScene();
float fogstart=1.0f,fogend=50.0f; //雾的开始范围和结束范围
d3d_Device->SetRenderState(D3DRS_FOGENABLE, true); //打开雾
d3d_Device->SetRenderState(D3DRS_FOGCOLOR, 0x00000000); //设置雾的颜色
//设置雾的衰减方式为线性
d3d_Device->SetRenderState(D3DRS_FOGTABLEMODE, D3DFOG_LINEAR );
//设定雾的开始范围和结束范围
//*((DWORD*)(&x))的作用是通过把指向x的指针转为指向DWORD类型的数据的指
//针来实现把x转为DWORD类型的目的(绕口…)
d3d_Device->SetRenderState(D3DRS_FOGSTART, *((DWORD*)(&fogstart)));
d3d_Device->SetRenderState(D3DRS_FOGEND, *((DWORD*)(&fogend)));
d3d_Device->EndScene();
d3d_Device-> resent( NULL, NULL, NULL, NULL ); |
|