D3DXCreateCylinder 函数

使用左手坐标系创建包含圆柱的网格。

语法

HRESULT D3DXCreateCylinder(
  _In_  LPDIRECT3DDEVICE9 pDevice,
  _In_  FLOAT             Radius1,
  _In_  FLOAT             Radius2,
  _In_  FLOAT             Length,
  _In_  UINT              Slices,
  _In_  UINT              Stacks,
  _Out_ LPD3DXMESH        *ppMesh,
  _Out_ LPD3DXBUFFER      *ppAdjacency
);

参数

pDevice [in]

类型: LPDIRECT3DDEVICE9

指向 IDirect3DDevice9 接口的指针,表示与创建的圆柱网格关联的设备。

Radius1 [in]

类型: FLOAT

负 Z 端的半径。 值应大于或等于 0.0f。

Radius2 [in]

类型: FLOAT

正 Z 端的半径。 值应大于或等于 0.0f。

Length [in]

类型: FLOAT

沿 z 轴的柱形长度。

切片 [in]

类型: UINT

有关main轴的切片数。

堆栈 [in]

类型: UINT

沿main轴的堆栈数。

ppMesh [out]

类型: LPD3DXMESH*

指向输出形状( ID3DXMesh 接口)的指针的地址。

ppAdjacency [out]

类型: LPD3DXBUFFER*

指向 ID3DXBuffer 接口的指针的地址。 当方法返回时,此参数用每个面三个 DWORD 的数组填充,该数组指定网格中每个人脸的三个邻居。 可以指定 NULL

返回值

类型: HRESULT

如果函数成功,则返回值D3D_OK。 如果函数失败,则返回值可以是下列值之一:D3DERR_INVALIDCALL、D3DXERR_INVALIDDATA、E_OUTOFMEMORY。

备注

创建的柱形以原点为中心,其轴与 z 轴对齐。

此函数使用D3DXMESH_MANAGED创建选项创建网格,并 D3DFVF_XYZ | ( FVF) D3DFVF_NORMAL灵活的顶点格式。

要求

要求
标头
D3dx9shape.h

D3dx9.lib

另请参阅

形状绘图函数