今天用D3D画一个正四面体,旋转后有些面没显示出来,后来想想好景见过书上说顺时针一般默认不会背面消隐,想想是不是顶点索引的顺序出错了!
但是我还有些没搞清楚,顺逆时针如果是在二维坐标系下可以判断顺逆时针,但是如果是在三维坐标系下,面是斜的,这个顺逆时针到底是相对什么而言的?
想想估计是这里出错了,于是修改SetRenderState函数中参数,果然得到了我想要的结果。
上网查了这个函数的用法如下,记录着,好以后用:
1. 设置着色模式:
SetRenderState(D3DRS_SHADEMODE, D3DSHADE_FLAT)
SetRenderState(D3DRS_SHADEMODE, D3DSHADE_GOURAUD)
2. 设置多边形填充模式:
SetRenderState(D3DRS_FILLMODE, D3DFILL_POINT)
SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME)
SetRenderState(D3DRS_FILLMODE, D3DFILL_SOLID)
3. 设置全景图形抗锯齿:
SetRenderState(D3DRS_MUTISAMPLEANTIALIAS, TRUE)
SetRenderState(D3DRS_MUTISAMPLEANTIALIAS, FALSE)
4. 设置剔除模式:
SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE)
5. 设置光照模式:
SetRenderState(D3DRS_AMBIENT, D3DCOLOR ambientColor); //为整个场景设置环境光
SetRenderState(D3DRS_SPECULARENABLE, TRUE);
6. 启动/关闭深度测试:
SetRenderState( D3DRS_ZENABLE, TRUE );