Page 1 sur 2

Re: Mesh gratuit pour ogre

Publié : sam. 29/juin/2013 11:17
par comtois
SPH a écrit :Quel est le plus petit code pour afficher un mesh ?
Version non 'instanciable', le mesh doit être attaché à un node

Code : Tout sélectionner

InitEngine3D()
InitSprite()
InitKeyboard()
OpenScreen(800, 600, 32, "3D")

#Camera = 0
#Mesh = 0
#Node = 0

CreateMesh(#Mesh)
  MeshVertexPosition(-5, 0, -5)
  MeshVertexPosition( 0, 0,  5)
  MeshVertexPosition( 5, 0, -5)
FinishMesh(#False)

CreateNode(#Node)
AttachNodeObject(#node, MeshID(#mesh))

CreateCamera(#Camera, 0, 0, 100, 100)
MoveCamera(#Camera, 20, 100, 20, #PB_Absolute)
CameraLookAt(#Camera, NodeX(#node), NodeY(#node),NodeZ(#node))

Repeat
  ExamineKeyboard()
  RenderWorld()
  FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Version instanciable, il permet de créer autant d'entités que l'on souhaite.

Code : Tout sélectionner

InitEngine3D()
InitSprite()
InitKeyboard()
OpenScreen(800, 600, 32, "3D")

#Camera = 0
#Mesh = 0
#Entity = 0

CreateMesh(#Mesh)
  MeshVertexPosition(-5, 0, -5)
  MeshVertexPosition( 0, 0,  5)
  MeshVertexPosition( 5, 0, -5)
FinishMesh(#True)

CreateEntity(#Entity, MeshID(#mesh), #PB_Material_None)

CreateCamera(#Camera, 0, 0, 100, 100)
MoveCamera(#Camera, 20, 100, 20, #PB_Absolute)
CameraLookAt(#Camera, EntityX(#Entity), EntityY(#Entity),EntityZ(#Entity))

Repeat
  ExamineKeyboard()
  RenderWorld()
  FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)

Re: Mesh gratuit pour ogre

Publié : sam. 29/juin/2013 11:34
par SPH
Merci pour les 2 exemples.

Une entity, est ce comme une occurence dans flash ? (une sorte de copie d'objet quoi)
Que veux dire "instancier" ?

Re: Mesh gratuit pour ogre

Publié : sam. 29/juin/2013 11:53
par Frenchy Pilou
Dans les programmes 3D une instanciation est une copie d'objet avec la particularité qu'ensuite n'importe quelle modification de n'importe lequel de ces objets copiés (y compris l'original) se répercutera sur tous les autres! :)

Re: Mesh gratuit pour ogre

Publié : sam. 29/juin/2013 11:57
par SPH
ENTITE = MESH + MATERIEL
ok

Re: Mesh gratuit pour ogre

Publié : sam. 29/juin/2013 12:37
par Backup
SPH a écrit : Une entity, est ce comme une occurence dans flash ? (une sorte de copie d'objet quoi)
Que veux dire "instancier" ?

pour faire un paralelle avec la librairie Sprite

un mesh serai comme une image ...
et l'entity serai comme un Sprite

tu as besoin d'une image pour donner corp a un Sprite , qui est a la base une coque vide !!

la c'est pareil , une entity a besoin d'un mesh pour exister ... les concepts se ressembles ... :)

la meme image peut servir pour plusieurs Sprite
le meme Mesh peut servir pour plusieurs Entity ;)

Re: Mesh gratuit pour ogre

Publié : sam. 29/juin/2013 12:41
par SPH
Ok :P