D3DXCreateCylinder function

Uses a left-handed coordinate system to create a mesh containing a cylinder.

Syntax

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
);

Parameters

pDevice [in]

Type: LPDIRECT3DDEVICE9

Pointer to an IDirect3DDevice9 interface, representing the device associated with the created cylinder mesh.

Radius1 [in]

Type: FLOAT

Radius at the negative Z end. Value should be greater than or equal to 0.0f.

Radius2 [in]

Type: FLOAT

Radius at the positive Z end. Value should be greater than or equal to 0.0f.

Length [in]

Type: FLOAT

Length of the cylinder along the z-axis.

Slices [in]

Type: UINT

Number of slices about the main axis.

Stacks [in]

Type: UINT

Number of stacks along the main axis.

ppMesh [out]

Type: LPD3DXMESH*

Address of a pointer to the output shape, an ID3DXMesh interface.

ppAdjacency [out]

Type: LPD3DXBUFFER*

Address of a pointer to an ID3DXBuffer interface. When the method returns, this parameter is filled with an array of three DWORDs per face that specify the three neighbors for each face in the mesh. NULL can be specified.

Return value

Type: HRESULT

If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be one of the following: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Remarks

The created cylinder is centered at the origin, and its axis is aligned with the z-axis.

This function creates a mesh with the D3DXMESH_MANAGED creation option and D3DFVF_XYZ | D3DFVF_NORMAL flexible vertex format (FVF).

Requirements

Requirement Value
Header
D3dx9shape.h
Library
D3dx9.lib

See also

Shape Drawing Functions