PureBasic - Engine3D

Généralités

PureBasic dispose d'un accès simplifié à OGRE, un moteur 3D OpenSource très performant.

Ce choix a été fait car il aurait été dommage de réinventer la roue plutôt que de supporter et de pousser le développement d'un excellent produit déjà disponible.

OGRE est toujours en développement et de nombreuses nouvelles fonctionnalités devraient lui être ajoutées au fur et à mesure.

Plus d'informations à propos de ce moteur 3D sont disponible sur: http://www.ogre3d.org. La licence relative à l'usage de OGRE est consultable ici (plus d'informations ici Licensing FAQ).

Note: Si vous utilisez le moteur 3D de PureBasic dans vos projets avec l'intention de distribuer votre exécutable, vous devrez copier la Engine3D.dll du dossier PureBasic/Compilers dans le répertoire de votre projet.

Repère dans l'espace

OGRE utilise les conventions spatiales suivantes:
Le repère spatial de Ogre est direct et la règle des 3 doigts de la main droite nous permet de retrouver facilement la position des axes X, Y et Z dans l'espace.

Attention, l'axe Z est face à vous.

Définition de : Roulis, Tangage et Lacet:
- Le tangage (pitch) est une rotation autour de l'axe X.
- Le lacet (yaw) est une rotation autour de l'axe Y.
- Le roulis (roll) est une rotation autour de l'axe Z.

Sens de rotation:
Le sens positif (direct) d'une rotation autour d'un axe peut être retrouvé grâce à ce shéma. Le pouce dans le sens de l'axe comme indiqué, la direction des doigts donne le sens positif de la rotation.
(Utilisez votre main droite).



Importante note:

Dans toutes les bibliothèques 3D fournies avec PureBasic, toutes les variables et les valeurs renvoyées sont de type 'Float' exeptés les ID et les index, même si ce n'est pas indiqué par un '.f'.

Sommaire des commandes

Add3DArchive
AmbientColor
AntialiasingMode
BodyPick
ConvertLocalToWorldPosition
ConvertWorldToLocalPosition
CreateWater
EnableWorldCollisions
EnableWorldPhysics
Engine3DStatus
ExamineWorldCollisions
FetchOrientation
FirstWorldCollisionEntity
Fog
FreeWater
GetW
GetX
GetY
GetZ
InitEngine3D
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

Exemple

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 Supportés

Tous

Guide de référence - Index