PureBasic

CreateTube()

Синтаксис

Result = CreateTube(#Mesh , OuterRadius.f , InnerRadius.f , Height.f [, NbBaseSegments , NbHeightSegments)

Описание


Создает новую Сетку (Mesh) в форме Трубы (Tube).

Параметры

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

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

В случае успеха возвращает ненулевое значение, в противном случае 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, 4, 3, #PB_Absolute | #PB_Local)
CameraLookAt(0, 0, 0, 0)

; Создадим Трубу и привяжем её к сцене.
CreateTube(0, 0.5, 0.4, 2)
CreateEntity(0, MeshID(0), #PB_Material_None)

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

См. также

FreeMesh(), CreateCylinder(), CreateMesh(), CreateCube(), CreatePlane(), CreateLine3D()

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

Все

<- CreateTorus() - Mesh Index - FinishMesh() ->