ID3DXLine 是 DirectX3D 中提供用来画线的类。通常调用 D3DxCreateLine 来创建。
下面是它的常用方法介绍:
HRESULT Begin();开始绘图
HRESULT Draw( [in] const D3DXVECTOR2 *pVertexList, [in] DWORD dwVertexListCount, [in] D3DCOLOR Color );连续画线,第一个参数为D3DXVECTOR2指针,所有顶点的信息保存在指针指向的数组中,第二个参数为线段中点的个数,第三个参数是线的颜色。这里的坐标是相对于屏幕坐标的,很适合用于2D绘图
HRESULT DrawTransform( [in] const D3DXVECTOR3 *pVertexList, [in] DWORD dwVertexListCount, [in] const D3DXMATRIX *pTransform, [in] D3DCOLOR Color );
带坐标变换的画线,第三个参数为变换矩阵的指针,其它参数意义与上面的相同。用这个方法可以将线有2D空间变换到3D空间。
HRESULT End();结束绘图
HRESULT SetAntialias(
[in] BOOL bAntiAlias
);
设置是否启用反锯齿
HRESULT SetGLLines(
[in] BOOL bGLLines
);
设置是否用OpenGL画线方式
HRESULT SetPattern(
[in] DWORD dwPattern
);
设置画线模式 ,1 为 虚线 ,0为 透明
HRESULT SetPatternScale(
[in] FLOAT fPatternScale
);
设置虚线中点的间隔,参数越大,间隔越大,默认为1.0f
HRESULT SetWidth(
[in] FLOAT fWidth
);
设置线的宽度,参数越大,线越粗
注意 :Draw和 DrawTransform必须在Begin 和End之间调用,可以多次调用,而且两者之间不要用其它set方法,因为会失败。