Поделиться через


Функция 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.

Длина [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 | D3DFVF_NORMAL гибкий формат вершин (FVF).

Требования

Требование Значение
Заголовок
D3dx9shape.h
Библиотека
D3dx9.lib

См. также раздел

Функции рисования фигур