首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

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

2012-02-21 
关于material的问题,极度不解当中material指的是物体表面对光的反应特性,但在HRESULTCALLBACKOnResetDevic

关于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次渲染

热点排行