|
|
我最近在看翁版的3D游戏程序入门,也按照其中的例子写了些例子。
其中一个例子使用D3DXCreateBox来创建一个一个线程的模型,然后以SetRenderState(D3DRS_FILLMODE,D3DFILL_WIREFRAME)线框模式进行渲染。Ok~能够正常显示。
还有一个例子是使用VertexBuffer创建的彩色三角形,以SetRenderState(D3DRS_SHADEMODE,D3DSHADE_FLAT)再用SetRenderState(D3DRS_LIGHTING,false)条件渲染。Ok~也可以正常显示。
但是当我把这两个合在一起,想让它们同时显示的时候,问题出现了:
如果同时使用这些SetRenderState渲染的话,三角形被渲染成线框(也就是只有边有颜色),而Box则显示不出来(我的背景颜色是白色,如果设成黑色的话可以看见白色边的Box);如果我把SetRenderSate(D3DRS_LIGHTING,false)注释掉的时候,Box可以正常显示,三角形可以显示但是无任何颜色。这是为什么呢?怎么让他们共同存在并正常显示呢? |
|