PureBasic

CreateLine3D()

Синтаксис

Result = CreateLine3D(#Mesh , x , y , z , Color , x2 , y2 , z2 , Color2)

Описание


Создает новую Сетку (Mesh) в форме 3D-линии (Line3D). Линия - это каркасный объект, который можно использовать для облегчения отладки. Чтобы изменить положение линии, просто создайте ее снова.

Параметры

#Mesh Номер для идентификации новой Сетки. В качестве этого параметра можно использовать значение #PB_Any, чтобы сгенерировать этот Номер автоматически.
x, y, z Координаты первой точки линии, в единицах 3D-Мира.
Color Цвет (в формате RGB()), применяемый для первой точки.
x2, y2, z2 Координаты второй точки линии, в единицах 3D-Мира.
Color2 Цвет (в формате RGB()), применяемый для второй точки. Если он отличается от цвета первой точки, то между двумя этими точками будет создан градиент.

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

В случае успеха возвращает ненулевое значение, в противном случае 0. Если Сетка с таким Номером (#Mesh) уже существует, она удаляется и заменяется новой.
Если в качестве параметра #Mesh использовалось значение #PB_Any, то в случае успеха будет возвращен сгенерированный Номер.

Пример

InitEngine3D()
InitSprite()

OpenWindow(0, 0, 0, 640, 480, "Пример 3D-линия", #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)

; Создадим 3D-линию и привяжем её к сцене.
CreateLine3D(0, 0, 0, 0, RGB(255, 0, 0), 1, 1, 1, RGB(0, 0, 255))
CreateEntity(0, MeshID(0), #PB_Material_None)

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

См. также

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

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

Все

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