PureBasic

CreateIcoSphere()

Синтаксис

Result = CreateIcoSphere(#Mesh , Radius.f [, Iterations)

Описание


Создает новую Сетку (Mesh) в форме Ико-Сферы (IcoSphere, симметричный выпуклый многогранник).

Параметры

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

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

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

; Создадим Ико-Сферу и привяжем её к сцене.
CreateIcoSphere(0, 1)
CreateEntity(0, MeshID(0), #PB_Material_None)

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

См. также

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

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

Все

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