ID3DXLine 的用法

来源:互联网 发布:凡科互动游戏 源码 编辑:程序博客网 时间:2024/05/02 00:19

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方法,因为会失败。

0 0
原创粉丝点击