Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Firefly_3D
Dark storm Hors ligne Labélisateur Points: 11541 Défis: 176 Message

Firefly_3D

Posté le 16/03/2014 20:14

Bonjour à tous ! Comme vous le savez tous (enfin, j'espère), Limachi code depuis plus de 2 ans son moteur 3D pour créer un Minecraft en C/C++.
Toutefois, ce n'est pas le seul à vouloir maîtriser la 3D, je me suis également lancé dans l'aventure.

Voici donc Firefly_3D, mon propre moteur 3D, qui gérera des objets composés def faces triangulaires, eux même composés de segments composés de points.

Voici le code source du moteur, qui fonctionne pour le moment avec une caméra "simple" (origine 0, 0, 0, direction 0, 0, 0).
Ce moteur utilise MonochromeLib et Fixed, tout deux dispo sur le site.

Firefly.c
Firefly.h

Donnez moi votre avis, j'utiliserai ce moteur pour Arcuz, si il est suffisamment performant

Je la diffuse sous la license CeCILL (équivalent de la GNU GPL 3 pour la France).


Précédente 1, 2, 3, 4
Dark storm Hors ligne Labélisateur Points: 11541 Défis: 176 Message

Citer : Posté le 16/05/2014 22:45 | #


Une écriture en 3D ?
Avec mon moteur 3D, tu peux afficher n'importe quelle forme 3D composée de faces planes
Après, la complexité d'un objet est croissante, genre initialiser un cube prend plus de 40 lignes : 8 sommets, 12 arêtes, 16 faces (2*8 triangles)
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Dark storm Hors ligne Labélisateur Points: 11541 Défis: 176 Message

Citer : Posté le 30/08/2014 15:25 | # | Fichier joint


Big UP !

J'ai passé le moteur en calcul sur des fix (voir la lib "fixed"), modifié la manière dont les points étaient initialisés, et ajouté des fonctions d'allocation dynamique.
J'ai gagné quelques FPS, mais le moteur a tendance à crasher (où, j'en sais rien ), et il faut que je bosse sur la fonction qui affiche une face, voire que je refasse carrément l'organisation des structures...

Voici une version démo, avec les touches et infos suivantes :

Cliquez pour découvrir
Cliquez pour recouvrir
Infos :
En haut : focale (f), point sélectionné (p), FPS (fps)
En bas : la valeur du vecteur de rotation, sur les axes x y z

Touches :
[EXIT] : Quitter le programme (puis Menu)

[F1] à [F4] : sélectionner un point du tétraèdre
[4] et [6] : déplacer le point sur l'axe X
[8] et [2] : déplacer le point sur l'axe Y
[7] et [1] : déplacer le point sur l'axe Z

[sin] et [ ) ] : modifier la valeur du vecteur de rotation sur l'axe X
[cos] et [ , ] : modifier la valeur du vecteur de rotation sur l'axe Y
[tan] et [ → ] : modifier la valeur du vecteur de rotation sur l'axe Z
[EXE] : appliquer le vecteur de rotations à l'ensemble des points de la structure

[+] et [-] : modifier la distance focale


Ceci est une béta légèrement bugguée
Elle n'est en rien représentative de la version finale de la librairie.

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Précédente 1, 2, 3, 4

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2021 | Il y a 57 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd