PureBasic

CreateSphere()

Синтаксис

Result = CreateSphere(#Mesh , Radius.f [, NbSegments , NbRings])

Описание


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

Параметры

#Mesh Номер для идентификации новой Сетки. В качестве этого параметра можно использовать значение #PB_Any, чтобы сгенерировать этот Номер автоматически.
Radius Радиус Сферы в единицах 3D-Мира.
NbSegments (дополн.) Количество сегментов используемых для создания Сферы (по умолчанию: 16). Сегменты - это вертикальные линии Сферы. Чем больше сегментов, тем реалистичнее будет Сфера, но это также повлияет на скорость рендеринга, если их указано слишком много.
NbRings (дополн.) Количество колец используемых для создания Сферы (по умолчанию: 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, 1, 3, #PB_Absolute | #PB_Local)
CameraLookAt(0, 0, 0, 0)

; Создадим Сферу и привяжем её к сцене.
CreateSphere(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

Все

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