Mesh gratuit pour ogre

Généralités sur la programmation 3D
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Mesh gratuit pour ogre

Message par comtois »

Vu ici http://www.ogre3d.org/forums/viewtopic.php?f=8&t=58091

http://www.working.yourinside.com/Model ... Models.zip

Liste des modèles
1) 3 bar fence section
2) 3 legged stool
3) 3 rung steps
4) Arched door
5) Bass Broom
6) Beer Barrel
7) Bookcase/Cupboard
8) British Postbox
9) Door/Frame in a wall section
10) Earth Globe stand
11) Garden Fork
12) Garden Spade
13) Glass of cold beer
14) Inset Postbox
15) Lawn Rake
16) Bucket
17) Dustbin
18) Pole Ladder
19) Roof Truss
20) Round backed Chair
21) Sack Truck
22) Stained Glass Window
23) Stone Arch Window
24) Metal vent grill
25) Plastic Wheelie Bin
26) Window Cleaners ladder
27) Wooden Chair

Je n'ai pas encore testé le rendu.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Avatar de l’utilisateur
SPH
Messages : 4722
Inscription : mer. 09/nov./2005 9:53

Re: Mesh gratuit pour ogre

Message par SPH »

Ma 1ere question concernant la 3D : un mesh est il un monde en 3D ? Si non, qu'est ce que c'est ?
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Fred
Site Admin
Messages : 2648
Inscription : mer. 21/janv./2004 11:03

Re: Mesh gratuit pour ogre

Message par Fred »

un objet.
Avatar de l’utilisateur
SPH
Messages : 4722
Inscription : mer. 09/nov./2005 9:53

Re: Mesh gratuit pour ogre

Message par SPH »

Et comment s'appelle un monde (genre tous les murs dans un FPS) ?
Est ce un ensemble de mesh ?
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Mesh gratuit pour ogre

Message par Backup »

non , un monde ! ;)

en gros , tu as

les mesh qui sont des "objets" que nous pourrions comparer a des Armures ...
qui peuvent etre des cubes, une table ( en fait un mesh c'est le maillage .. un peut ce qu'on aperçois dans 3dsmax lorsqu'on conçoit un objet 3D avant Texture et Rendu )
mais pour voir le Mesh , il faut le transformer en "Entity"



les Entity qui sont fait a partir des Mesh (ça rempli les armure )
c'est ce qui transforme un Mesh en OBJET identifiable ..

ce sont les entity qu'on promène dans l'espace 3D de Ogre ... (table,voiture,batiment ) a partir des commande rotate,move,etc ....

donc, une entity est faite avec un mesh ... ce mesh peut etre un "objet" *.mesh (en fait un maillage ) ; que tu charges (loadmesh())
ou que tu fabriques , en utilisant une serie de Coordonnées (voir mon utilitaire pour ça )

voila pour faire simple :) recherche sur le forum , il y a des exemples , et puis les exemples fourni avec Purebasic
sont intéressant a décortiquer .....

pour le moment je galere encore un peu avec les textures/material . des fichiers *.material .. je vais m'y pencher plus sérieusement
il n'est pas exclu que je face un Tuto sur le Sujet pour les Grands débutants que nous sommes :)
Dernière modification par Backup le ven. 28/juin/2013 20:21, modifié 1 fois.
G-Rom
Messages : 3626
Inscription : dim. 10/janv./2010 5:29

Re: Mesh gratuit pour ogre

Message par G-Rom »

- vertex , points dans l'espace
- triangles, composé de 3 vertex
- face , composé de 2 triangles
- mesh , composé de faces

un mesh est un "maillage". pour un fps , c'est plus compliqué , ca repose sur le "mesh" , mais il est organisé différemment pour la vitesse d'affichage.
généralement ils reposent sur le format bsp , octree, ... , pour s'accordé avec le frustum culling, mais je m'égare.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Mesh gratuit pour ogre

Message par Backup »

G-Rom a écrit :le frustum culling,
je ne connais que le cunnilingus :lol:
Avatar de l’utilisateur
SPH
Messages : 4722
Inscription : mer. 09/nov./2005 9:53

Re: Mesh gratuit pour ogre

Message par SPH »

Un mesh, on peux le mapper avec une texture et l'eclairer avec une lumiere. Quoi d'autre ?
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Avatar de l’utilisateur
SPH
Messages : 4722
Inscription : mer. 09/nov./2005 9:53

Re: Mesh gratuit pour ogre

Message par SPH »

Est ce qu'un mesh est directement utilisable par PB quand il viens de Blender ?
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
G-Rom
Messages : 3626
Inscription : dim. 10/janv./2010 5:29

Re: Mesh gratuit pour ogre

Message par G-Rom »

SPH a écrit :Un mesh, on peux le mapper avec une texture et l'eclairer avec une lumiere. Quoi d'autre ?
L'animé ?
SPH a écrit :Est ce qu'un mesh est directement utilisable par PB quand il viens de Blender ?
Ogre ne lis que les .mesh
Avatar de l’utilisateur
SPH
Messages : 4722
Inscription : mer. 09/nov./2005 9:53

Re: Mesh gratuit pour ogre

Message par SPH »

Quel est le plus petit code pour afficher un mesh ? (une camera et une lumiere je suppose + le mesh texturé)
quoi que je n'ai pas encore matté les exemples de pb 5.20b3 (il y a peut etre ce que je cherche dedans...)
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
G-Rom
Messages : 3626
Inscription : dim. 10/janv./2010 5:29

Re: Mesh gratuit pour ogre

Message par G-Rom »

Le mesh n'a pas de texture dans ogre , il faut le donné à manger à une Entity , et c'est à ce moment là que tu lui assigne le material ou pas , si tu lui en donne pas , il prendra celui par défaut lors de sa création , sinon il sera gris.
sinon , oui , une camera suffit , pas besoin de light pour afficher une scene , regarde les samples.
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Mesh gratuit pour ogre

Message par comtois »

Il y a 2 sortes de meshes; ceux qu'on peut instancier (en créant des entities) et ceux qu'on ne peut pas :)

Un mesh 'instanciable' s'obtient soit avec la fonction LoadMesh(), soit en le créant manuellement et en précisant #True dans la fonction FinishMesh(#True).
il doit être de type #PB_Mesh_TriangleList lors de sa création (type par défaut).

Pour utiliser ce type de mesh , il faut donc l'instancier en créant une entity.


Un mesh non 'instanciable' s'obtient en le créant manuellement et en précisant #False dans la fonction FinishMesh(#False).
Il peut être de tous les types possibles :
#PB_Mesh_TriangleList : the mesh will be composed of a list of triangles (default).
#PB_Mesh_TriangleStrip: the mesh will be composed of a list of connected triangles (vertices are shared).
#PB_Mesh_TriangleFan : the mesh will be composed of a list of triangles sharing the same central vertex point.
#PB_Mesh_PointList : the mesh will be composed of a list of points.
#PB_Mesh_LineList : the mesh will be composed of a list of lines.
#PB_Mesh_LineStrip : the mesh will be composed of a list of connected lines (vertices are shared).


Avec ce type de mesh, on ne peut pas créer d'entity, pour le rendre visible il faut l'attacher à un node (voir les exemples MeshManual.pb dans le répertoire 3D).

On peut définir un material pour ces 2 types de mesh avec la commande SetMeshMaterial().

Si le material est défini au niveau du mesh, lors de la création de l'entity on peut l'écrire ainsi

Code : Tout sélectionner

CreateEntity(#Entity, MeshID(#Mesh), #PB_Material_None)
au lieu de

Code : Tout sélectionner

CreateEntity(#Entity, MeshID(#Mesh), MaterialID(#Material))
Voir l'exemple SetMeshMaterial.pb dans le répertoire 3D.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Mesh gratuit pour ogre

Message 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)
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Avatar de l’utilisateur
SPH
Messages : 4722
Inscription : mer. 09/nov./2005 9:53

Re: Mesh gratuit pour ogre

Message 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" ?
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Répondre