PureBasic

CreatePlane()

Синтаксис

Result = CreatePlane(#Mesh , TileSizeX , TileSizeZ , TileCountX , TileCountZ , TextureRepeatCountX , TextureRepeatCountZ)

Описание


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

Параметры

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

; Создадим Плоскость и привяжем её к сцене.
CreatePlane(0, 2, 2, 1, 1, 0, 0)
CreateEntity(0, MeshID(0), #PB_Material_None)

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

См. также

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

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

Все

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