PureBasic

CreateCylinder()

Синтаксис

Result = CreateCylinder(#Mesh , Radius.f , Height.f [, NbBaseSegments , NbHeightSegments , CloseTop])

Описание


Создает новую Сетку (Mesh) в форме Цилиндра (Cylinder).

Параметры

#Mesh Номер для идентификации новой Сетки. В качестве этого параметра можно использовать значение #PB_Any, чтобы сгенерировать этот Номер автоматически.
Radius Радиус Цилиндра в единицах 3D-Мира.
Height Высота Цилиндра в единицах 3D-Мира.
NbBaseSegments (дополн.) Количество сегментов, используемых для основания Цилиндра (по умолчанию: 16).
NbHeightSegments (дополн.) Количество сегментов, используемых для высоты Цилиндра (по умолчанию: 1).
CloseTop (дополн.) Параметр указывает, должен ли Цилиндр быть закрыт сверху и снизу, или он должен оставаться открытым (например, труба).
#True : Цилиндр будет закрыт сверху и снизу (по умолчанию).
#False : Цилиндр будет открыт сверху и снизу (труба).

Возвращаемое значение

В случае успеха возвращает ненулевое значение, в противном случае 0. Если Сетка с таким Номером (#Mesh) уже существует, она удаляется и заменяется новой.
Если в качестве параметра #Mesh использовалось значение #PB_Any, то в случае успеха будет возвращен сгенерированный Номер.

Пример

InitEngine3D()
InitSprite()

OpenWindow(0, 0, 0, 640, 480, "Пример Цилиндр", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0), 0, 0, 640, 480, 0, 0, 0)

; Источник света (Light)
CreateLight(#PB_Any, RGB(25, 25, 180), -5, 10, 5, #PB_Light_Point)

; Камера
CreateCamera(0, 0, 0, 100, 100)
MoveCamera(0, 2, 1, 3, #PB_Absolute | #PB_Local)
CameraLookAt(0, 0, 0, 0)

; Создадим Цилиндр и привяжем его к сцене.
CreateCylinder(0, 0.5, 1)
CreateEntity(0, MeshID(0), #PB_Material_None)

Repeat
    RenderWorld()
    FlipBuffers()
Until WaitWindowEvent(1) = #PB_Event_CloseWindow

См. также

FreeMesh(), CreateSphere(), CreateCone(), CreateMesh(), CreateCube(), CreatePlane(), CreateLine3D()

Поддерживаемые OS

Все

<- CreateCube() - Mesh Index - CreateDataMesh() ->