begin process at 2012 05 28 23:30:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

Création d'un moteur 3D en partant de rien


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Création d'un moteur 3D en partant de rien

jeudi 24 novembre 2005 à 15:24:53 | Création d'un moteur 3D en partant de rien

poiuytrez3

Membre Club
Bonjour,
je souhaiterai créer un petit moteur 3D le plus simple possible en partant de rien. Quelqu'un en a t il déjà fait un? Je ne souhaite pas utiliser DirectX ni OpenGL.

Merci de votre aide.


jeudi 24 novembre 2005 à 16:47:06 | Re : Création d'un moteur 3D en partant de rien

Galmiza

Bah, je vois pas trop le problème ?
Où est-ce que tu bloques ?

Commence par faire un moteur tout bête qui n'affiche que des polygones unicolor sans aucun calcul d'eclairage.
Ensuite tu pourras ajouter des normales pour le calcul des lumières, puis des coordonnées textures pour ..... gerer ... oui c'est ça merci, des textures.
Enfin bref, qu'est ce qui te pose problème ?

Connais-tu le C++, as-tu déja fait un moteur 3D avec DirectX ou opengl ? Sais-tu comment ça fonctionne exactement ?
Sais-tu comment t'y prendre pour afficher des pixels à l'écran ? etc...
jeudi 24 novembre 2005 à 20:07:53 | Re : Création d'un moteur 3D en partant de rien

poiuytrez3

Membre Club
Je ne vois pas bien comment programmer tout ça... la camera, comment faire les calculs... enfin bon, j'ai beaucoup de mal au niveau de la conception. Je ne sais pas par où commencer, comment structurer le prog. Si tu pouvais m'aguiller ce serai sympa. Sinon je sais comment m'y prendre pour afficher des pixel, etc.
dimanche 27 novembre 2005 à 17:38:43 | Re : Création d'un moteur 3D en partant de rien

Galmiza

Ce n'est pas que c'est compliqué mais il est nécessaire d'avoir de bonnes connaissances en mathématiques, en algèbre linéaire plus précisement.
C'est bien trop complexe pour rédiger tout ici. Je ne connais pas ton niveau.
En gros tu as ton point en 3D avec des coordonnées (x,y,z) dans le repère local (associé à l'objet). Tu dois lui appliquer la transformation qui te donne sa position dans le monde. Puis tu le projetes pour récupérer les coordonnées (x,y) sur l'écran.

Regarde dans MSDN les description des matrices
D3DXMatrixPerspectiveFovLH
D3DXMatrixLookAtLH
pour la projection.

Niveau structure du programme, vu que tu n'utilises pas le hardware, tu peux profiter de l'énorme quantité de RAM, je te conseille de séparer les fonctions ainsi:
Tu fais une fonction qui te remplit un tableau de point 2D à partir d'un tableau de point 3D résultants de la  projection*transformation.
Ensuite tu n'as plus qu'à gerer l'affichage avec une autre fonction.
Tu lis ton tableau de point 2D et tes faces (chacune 3 indices des points 3D/2D) que tu affiches avec ta fonction de remplissage de triangle.

C'est vraiment pas compliqué quand on a des bases en algèbre. Il y a même des moteurs 3D sur calculatrice (j'en ai fait un).
Le programme est trop court pour se rater dans sa structure.

Pourquoi ne veux-tu pas profiter de l'accélération matérielle que permet DirectX par exemple ?
Si tu veux devenir un daron de la 3D, commence par utiliser DirectX ou OpenGL, fais des copier-coller, tatonne en modifiant certaines valeurs, puis tu comprendras bien comment ça fonctionne.
Je suis sûr que tu ne voudras plus revenir sur un moteur 3D sur PC avec accélération logicielle.

PS:  je crois qu'il y a des sources sur ce site qui peuvent t'interesser.
mercredi 28 décembre 2005 à 21:41:14 | Re : Création d'un moteur 3D en partant de rien

nightlord666

Membre Club

J'ai vu sur developpez.com un super tutorial la dessus. Il aborde la création d'un moteur 3D (outils de log, gestionnaire de mémoire, rendering, shaders...). Je te conseillerais de regarder ça, ç'est peut-être interessant...

jeudi 29 décembre 2005 à 14:21:00 | Re : Création d'un moteur 3D en partant de rien

poiuytrez3

Membre Club
Merci, je l'ai déjà lu, mais il est beaucoup trop léger... Sinon pour répondre à Gazima, je ne peux et veux pas utiliser directX car c'est un projet pour mon école d'ingénieur.


Cette discussion est classée dans : création, 3d, moteur, partant


Répondre à ce message

Sujets en rapport avec ce message

Mon Moteur 3D [ par ndj55 ] Salut à tous!Je travaille en ce moment sur un projet de moteur 3D...Rejouissez vous,il est sous licence GNU/GPL et il est donc fournit avec ses source moteur 3d [ par FleXus ] Bonjour Je suis à la recherche d'un moteur 3d capable de génererdu "3d landscape rendering" ( comme truevision3d www.truvision3dsdk.com ) mais étant c aide pour faire jeux 3d [ par ghyslain ] nous somme en train de faire un jeu 3d de dragon ball z sur pc.sa ne peux que etre une bonne experience.pour nous aider nous avons besoin de:_programm comment faire un moteur 3d [ par 33roumi ] je voudrai savoir les base pour faire un moteur 3Den open gl ou direct Xcar j'ai bo lire vo message mais j'i comprend riendites moi o moin la directiv Création de terrain 3d [ par pitap0 ] BOnjour a toutes la communauté Voili je cherche des sites, infos traitants Directx 8.1 sous visual C++ (6) plus precisement sur la création de terrain Moteur 3d OpenGL [ par Stormy ] Salut. Je recherche des personnes motives pour travailler sur un moteur 3d sous OpenGL. Les bases sont deja etablies (Detection de collisions, sons, m Moteur 3D, gestion des collisions [ par fabienGL ] Bonjour, je vous écris car j'ai 2 question :1)OpenGL c'est une librairies graphiques, pourtant entends-t-on parler de moteurs 3D j'aurais aimé savoir Moteur 3D isométrique [ par cyberlewis ] Slt,J'ai réalisé le début d'un moteur de jeu 3D isométrique (tiles 64x32), mais je n'arrive pas du tout à gérer le scrolling ...Ou puis-je trouve svp 3D ENGINE [ par xarier ] SALUT VOILA j'ai deux question la premiere c comment realiser un moteur 3d c vous avez des cours c simpa et surtot avec opengl 2eme question est ce qu ca existe un moteur 3d directx en C et pas C++? [ par yerick ] j'ai beau cherché je ne trouve pas.meme pas une petite librairie.ya pas quelqu'un qui pourrait pondre un petit moteur 3d (meme tres simple) qui utilis


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales