本文主要是介绍使用d3ddevice绘制基本三角形时要注意事项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用d3ddevice绘制基本三角形时要注意事项
- d3ddevice使用的是左手系坐标,所以culling mode也是左手系的
- 最终坐标是从屏幕(或窗口)左上角出发,x向右为正,y向下为正
- 最终顶点的z值必然在0~1之间,这是因为经过透视变换之后z的取值从[nz, fz]之间被拉伸(对应16位depth scentil为[0, MAX_USHORT]),并且以1/z的方式进行存储
- diffuse值上的alpha值选到屏幕时无效
- 如果顶点数据xyz之后有diffuse,那么顶点应该使用D3DFVF_XYZRHW即float[4]类型,这是因为position要求16位字节对齐
以下是一段必然能够绘制出三角形的代码,供参考:
关于D3DFVF中的重要说明:
- D3DFVF_XYZ——表示原始未参与变换的顶点
- D3DFVF_XYZRHW——表示已经变换过得顶点
- D3DFVF_XYZW——含有clipper信息的顶点,只有在使用vertex shader时才会用到
这篇关于使用d3ddevice绘制基本三角形时要注意事项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!