PureBasic

CreateTorus()

Синтаксис

Result = CreateTorus(#Mesh , Radius.f , SectionRadius.f [, NbSectionSegments , NbCircleSegments)

Описание


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

Параметры

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

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

В случае успеха возвращает ненулевое значение, в противном случае 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)

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

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

См. также

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

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

Все

<- CreateSphere() - Mesh Index - CreateTube() ->