Engine

Класс: -

Функции движка (Engine), в отличие от остальных, не относятся к какому-либо типу объектов. Служат для общего управления Phantom3D и задания базовых параметров. Функции движка можно считать наиболее важными и первоочередными из всех.

EngineCreate

real = EngineCreate( hwnd as real );
Инициализирует Phantom3D и создает корневой объект сцены. После вызова этой функции вы можете использовать другие функции движка. Инициализация движка может происходить только один раз за одно время, то есть, вы не можете снова вызвать эту функцию, пока не будет выполнена EngineDestroy.
hwnd - идентификатор окна, к которому следует привязать движок. Идентификатор окна игры в GML возвращается функцией window_handle.

EngineDestroy

real = EngineDestroy();
Уничтожает Phantom3D, освобождая память из-под всех его ресурсов. После вызова этой функции вы не можете использовать другие функции движка, пока не будет выполнена EngineCreate.

EngineClearBuffers

real = EngineClearBuffers( );
Очищает буферы цвета и глубины.

EngineUpdateProjection

real = EngineUpdateProjection( camera as real );
Трансформирует позицию наблюдателя в соответствии с локальной трансформацией заданного объекта.
camera - id объекта, который используется в качестве виртуальной камеры. Вы можете использовать объект типа Camera или любой другой.

EngineSwapBuffers

real = EngineSwapBuffers( );
Копирует содержимое вторичного буфера в первичный.

EngineUpdateRootObject

real = EngineUpdateRootObject( );
Обновляет состояние корневого объекта сцены. Так как все объекты сцены подчиняются корневому, вызов этой функции производит обновление состояний всех созданных объектов. Вы также можете вручную обновить любой объект при помощи функции ObjectUpdate.

EngineViewerResize

real = EngineViewerResize( x,y,width,height as real );
Изменяет позицию и разрешение области рисования Phantom3D. Обычно в играх это не требуется, но может пригодиться, например, если Вы даете игроку возможность растягивать окно в оконном режиме.
x,y - координаты (левого верхнего угла) относительно окна Game Maker
width, height - разрешение в пикселях по горизонтали и вертикали.

EngineSetBackgroundColor

real = EngineSetBackgroundColor( color as real );
Задает фоновой цвет области рисования Phantom3D.
color - id цвета.

EngineSetClippingPlanes

real = EngineSetClippingPlanes( near,far as real );
Задает расстояния ближней и дальней плоскостей отсечения.
near - расстояние ближней плоскости отсечения
far - расстояние дальней плоскости отсечения

EngineGetDeviceContext

real = EngineGetDeviceContext( );
Возвращает контекст устройства окна (DC), в котором инициализирован движок.

EngineGetRenderContext

real = EngineGetRenderContext( );
Возвращает контекст рендеринга движка (RC).