Capture d'écran d'un modèle de Mirage 2000 visualisé avec le moteur 3D de PyxelCAD
Ce projet a été motivé par l'envie d'apprendre à faire un moteur 3D.
Après avoir appris à me servir de Solidworks, j'ai voulu savoir comment est-il possible de faire ce genre de logiciels,
c'est pourquoi je me suis lancé dans ce projet.
Je souhaite dans un premier temps faire une V1 qui consistera en l'avancée maximale qui m'est permise sans avoir de connaissance dans l'informatique graphique et la 3D.
Puis faire une V2 qui complétera la V1 avec des optimisations et des fonctionnalités plus avancées.
Ce projet est fait en Python avec la librairie Pyxel (d'où le nom), car je souhaitais m'imposer une contrainte dans l'efficacité du code,
en effet la lenteur naturelle de Python m'oblige donc à devoir trouver des astuces afin que les calculs ne deviennent pas trop complexe,
la librairie Pyxel quant à elle est un choix esthétique rappelant les anciennes versions de ces logiciels comme CATIA V1.
Ce projet est malheureusement encore loin de la production, la partie graphique étant plus complexe que prévu, les avancées sont lentes.
Actuellement fonctionnent :
- La visualisation dans l'espace de points et d'arêtes
- La translation, rotation et modification de la distance focale de la caméra
- L'importation de modèles dans le format .obj
Test du moteur avec un modèle complexe (5363 points et 8418 arêtes) : 10 images par seconde en moyenne