关于D3D渲染管道, 怎么渲染不同材质的物体
我都不知道怎么问这样的问题, D3D渲染的时候是先创建一个IDirect3DDevice的实例, 然后调用SetMaterial()函数, 这就是说一个IDirect3DDevice只能渲染一种材质, 那怎么渲染不同材质的物体, 如果创建多个IDirect3DDevice, 那调用clear和present函数的时候又会出现问题, 希望各位兄台赐教. 这通常都是怎么做的呢?
[解决办法]
当然只创建一个IDirect3DDevice对象
要渲染不同材质的东西,只需要在渲染前重新设置材质就可以了。
比如
Device->BeginScene(); for(int i = 0; i<5;i++)//这里简单的使用5种材质 { Device->SetMaterial(&Mtrls[i]);//设置材质 object[i]->DrawSubset(0);//渲染 }Device->EndScene();