Objet 3d en console

Soyez le premier à donner votre avis sur cette source.

Vue 8 394 fois - Téléchargée 905 fois

Description

Ce programme permet de faire tourner un objet 3D, dessiné en ascii dans la console.

Il est possible de charger n'importe quel objet 3D de format .obj. Il s'affichera en fil de fer.

Il est principalement dédié a ceux qui veulent voir comment faire de la 3d depuis presque rien.

La source est commentée autant que possible.

Sauf si ça vous amuse de recoder les calculs vectoriels de base, je me suis contenté de reprendre les matrices/vecteurs de d3dxmaths et d'y apporter quelques ajouts (produit scalaire, vectoriel, norme, normalisation...)

Conclusion :


J'ai testé avec divers objets téléchargés, et je n'ai pas eu de soucis; que ce soit de gros objets ( > 2 Mo ) ou étrangement construits (un petit objet décalé très loin de l'origine, nombres monstrueux...)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
2
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
7 juin 2009

Ha-ha-ha-ha-ha: génial, ça marche!
Vraiment merci Bump.
Je vais étudier ton code, pour me faire les dents.
Je trouve que de ramener, comme le fait ton code, la 3D à son apparence minimale, c'est vraiment idéal pour débuter: ça met les choses à plat, on n'est pas distrait par les effets de rendu.
Messages postés
330
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
26 janvier 2009

Ce doit etre le compilateur de code blocks qui est un peu plus strict Oo;

pour ce qui est (camera.h)
SetPosition( VM_VECTOR3 &v )
SetTarget( VM_VECTOR3 &v )
SetUp( VM_VECTOR3 &v )

tu peut essayer de changer les VM_VECTOR3 &v en const VM_VECTOR3 &v
si c'est tes seules erreurs ca devrait passer...
Messages postés
2
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
7 juin 2009

Salut,
J'ai essayé de recompiler sous Code::Blocks et ça me dit:

main.cpp line 25 error: no matching function for call to CCamera::SetTarget(VM_VECTOR3)
camera.h line 40 note: candidates are: void CCamera::SetTarget(VM_VECTOR3&)
main.cpp line 59 error: no matching function for call to CCamera::SetTarget(VM_VECTOR3)
camera.h line 39 note: candidates are: void CCamera::SetTarget(VM_VECTOR3&)

Je débute et je regarde comment les choses se font.
Je trouve l'idée de visualiser de la 3D en console vraiment extraordinaire.
Quelqu'un voudrait-il bien me dire ce qui cloche?
Messages postés
330
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
26 janvier 2009

En fait, les calculs et la rastérisation est a peu près séparée, de là on peut modifier l'un ou l'autre comme on veut...

Mais j'aimerais bien voir ce que tu vas nous faire ? ^^
Messages postés
39
Date d'inscription
samedi 3 juin 2006
Statut
Membre
Dernière intervention
28 octobre 2008

Très bien. Je suis en trian de faire un truc similaire avec la SDL je le poste bientôt
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.