读书人

关于material的有关问题极度不解当中

发布时间: 2012-02-21 16:26:23 作者: rapoo

关于material的问题,极度不解当中
material指的是物体表面对光的反应特性,但在
HRESULT CALLBACK OnResetDevice( IDirect3DDevice9* pd3dDevice, const D3DSURFACE_DESC* pBackBufferSurfaceDesc, void* pUserContext )
{
HRESULT hr;
D3DMATERIAL9 mtrl;
ZeroMemory(&mtrl, sizeof(D3DMATERIAL9));
mtrl.Diffuse.r = mtrl.Ambient.r = 0.0f;
mtrl.Diffuse.g = mtrl.Ambient.g = 0.0f;
mtrl.Diffuse.b = mtrl.Ambient.b = 0.0f;
mtrl.Diffuse.a = mtrl.Ambient.a = 1.0f;
pd3dDevice-> SetMaterial(&mtrl);

}

中,为什么不是指具体哪一个物体,而是指的是3D设备,

也就是,如果现在有两个三角面,要让他们拥自已不同的反光特性,那么怎么办呢,

从上面的语句感觉他们总拥有一样的光反应特性,


请教高人




[解决办法]
d3d是状态机,opengl也是,也就是说,你设置了这些Material的这一刻开始,往后面所有渲染的三角形,都会使用这个Material


也就是说如果你的一大堆三角形中,有2种Material,那就要分2次渲染

读书人网 >网络游戏

热点推荐