PureBasic


PureBasic - Engine3D

Обзор

В качестве 3D движка PureBasic использует OGRE 3D. Это движок с открытым исходным кодом, который активно развивается, но под который уже существует множество инструментов (напр. экспортеры Blender, Lightwave и 3DS Max, менеджер Terrain и т.д.).

Подробную информацию об OGRE можно получить на Веб-сайте OGRE, странице Руководства OGRE. Файл лицензии OGRE можно посмотреть здесь (подробнее см. в FAQ).

PureBasic не предоставляет Вам непосредственный доступ к API OGRE, вместо этого он объединяет команды API в гораздо более дружественные команды PureBasic. Однако иногда Вам все равно придется ссылаться на некоторые объекты OGRE по их идентификатору OGRE. Эти идентификаторы являются просто значениями типа Long и очень похожи на идентификаторы ОС, которые используются для API (Win32 API). Чтобы получить идентификаторы OGRE различных объектов, вы можете использовать такие команды PureBasic как MaterialID(), MeshID(), TextureID() и т.д.

Сам движок включен в PureBasic в виде библиотеки dll (Engine3D.dll), и если Вы используете 3D движок PureBasic в Ваших проектах и намерены распространять созданные Вами программы, Вам необходимо скопировать файл Engine3D.dll из директории PureBasic\Compilers\ в главную директорию вашего проекта.

Ориентация в 3D - пространстве.

OGRE использует следующие пространственные соглашения:
Пространственная привязка Ogre является прямой, а правило 3-х пальцев правой руки позволяет нам легко находить положение осей X, Y и Z в трехмерном мире.

Внимание: все оси взаимно-перпендикулярны, а ось Z направлена к Вам.

Определения для Pitch (тангаж), Roll (крен) и Yaw (рыскание):
- Pitch это вращение вокруг оси X.
- Yaw это вращение вокруг оси Y.
- Roll это вращение вокруг оси Z.

Направление вращения:
Положительное (прямое) направление вращения вокруг оси можно найти благодаря этой диаграмме.
Большой палец в направлении оси, как показано, направление остальных пальцев дает положительное направление вращения.
(Используйте правую руку).

Важное примечание:

Во всех 3D-библиотеках, поставляемых с PureBasic, все переменные и возвращаемые значения имеют тип Float (кроме идентификаторов и индексов), даже если они не обозначены как '.f'.

Список команд

Add3DArchive
AmbientColor
AntialiasingMode
BodyPick
CheckObjectVisibility
ConvertLocalToWorldPosition
ConvertWorldToLocalPosition
CreateWater
EnableWorldCollisions
EnableWorldPhysics
Engine3DStatus
ExamineWorldCollisions
FetchOrientation
FirstWorldCollisionEntity
Fog
FreeWater
GetW
GetX
GetY
GetZ
InitEngine3D
InputEvent3D
LoadWorld
MousePick
MouseRayCast
NextWorldCollision
NormalX
NormalY
NormalZ
Parse3DScripts
PickX
PickY
PickZ
Pitch
PointPick
RayCast
RayCollide
RayPick
RenderWorld
Roll
SecondWorldCollisionEntity
SetGUITheme3D
SetOrientation
SetRenderQueue
ShowGUI
SkyBox
SkyDome
Sun
WaterColor
WaterHeight
WorldCollisionAppliedImpulse
WorldCollisionContact
WorldCollisionNormal
WorldDebug
WorldGravity
WorldShadows
Yaw

Примеры

ConvertLocalToWorldPosition.pb
ConvertWorldToLocalPosition.pb
FetchOrientation.pb
MousePick.pb
MouseRayCast.pb
PointPick.pb
PointPick_2D3D.pb
RayPick.pb
RayPick_LightDirection.pb
Screen3DRequester.pb
SetOrientation.pb
SkyBox.pb
SkyDome.pb
Water.pb
WorldDebug.pb
WorldShadows.pb

Bridge.pb
Pendulum.pb

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

Все

Справочное руководство - оглавление