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 » 3DGine3, le moteur 3D opensource
Nessotrin Hors ligne Membre Points: 204 Défis: 0 Message

3DGine3, le moteur 3D opensource

Posté le 24/05/2015 17:26

Attention chercheur de trésor, sache qu'ici ne se trouve qu'une hérésie abandonnée car irréaliable , ici tu ne peut qu'apprendre de mes erreurs, abandonne cette dimention de trop et retourne parmis les vivants !

Bonjours, je vous présent aujourd'hui ma dernière création (qui m'a prie sacré un paquet de temps ), mon moteur 3D en temps réel avec support de textures, chargement d'OBJ et de textures et rendu sur texture 8) . Il n'est pas complet, mais il est déja capable de vous afficher un beau triangle avec une texture de damier .

Le moteur est une version lourdement modifiée et portée en C du moteur de Thebennybox , j'ai abandonnée après 2 essais (et 4 mois ) de faire mon propre moteur de zero (Impossible de faire fonctionner correctement la correction de perspective sur les textures )

J'vous met le G1A et les sources, si vous avez une idée ou un morceau de code pour optimiser, je prend
G1A: http://s000.tinyupload.com/index.php?file_id=67428310954471580503
Sources: http://s000.tinyupload.com/index.php?file_id=65440581134840777060

Le code:
C'est pas propre, je sait, j'utilise mon "sdk" le GCCSHCBSDK (Imprononçable ? pas du tout ), vous le trouverez ici:
http://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=13755&page=


Legolas Hors ligne Ancien rédacteur Points: 3266 Défis: 104 Message

Citer : Posté le 24/05/2015 17:27 | #


Un moteur 3D ? Bravo Nessotrin.
Mes programmes
Cacher les programmes
Mes défis
Cacher les défis



Nessotrin Hors ligne Membre Points: 204 Défis: 0 Message

Citer : Posté le 24/05/2015 17:29 | #


Merci, je le prépare depuis longtemps, c'est pour ça que je n'ai pas posté de jeu depuis un moment
Nessotrin, développeuse un peu trop occupée avec la vie pour être présente sur PlanetCasio.
Voici Spassus2, mon jeu de combat spatial procédural abandonné, le NESSCASDK, mon SDK 'barebones' fait maison (C'est pour les maso uniquement) et CasioUsb, mon utilitaire de transfert d'addin pour Linux.
Dark storm Hors ligne Labélisateur Points: 11468 Défis: 176 Message

Citer : Posté le 24/05/2015 17:59 | #


Bravo ! C'est quoi comme type de moteur ? Raycasting, moteur 3D temps réel ou plus pour de la visualisation genre "Blender" ?
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Nessotrin Hors ligne Membre Points: 204 Défis: 0 Message

Citer : Posté le 24/05/2015 18:03 | #


C'est du moteur 3D temps réel (tu saurais si t'avais lu la description ;p )
Nessotrin, développeuse un peu trop occupée avec la vie pour être présente sur PlanetCasio.
Voici Spassus2, mon jeu de combat spatial procédural abandonné, le NESSCASDK, mon SDK 'barebones' fait maison (C'est pour les maso uniquement) et CasioUsb, mon utilitaire de transfert d'addin pour Linux.
Dark storm Hors ligne Labélisateur Points: 11468 Défis: 176 Message

Citer : Posté le 24/05/2015 18:05 | #


Je l'ai lue en diagonale

Ajouté le 24/05/2015 à 18:05 :
Le problème c'est que justement c'est sur la diagonale

Ajouté le 24/05/2015 à 18:07 :
J'ai pas ma calto sous la main, donc je ne peux pas tester, mais tu gère jusqu'à combien d'objets avant de descendre en dessous de 5-6 fps ?
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Nessotrin Hors ligne Membre Points: 204 Défis: 0 Message

Citer : Posté le 24/05/2015 18:11 | #


Peu, très peu, pour l'instant Avec un triangle, je varie entre 20 fps et 8 quand il rempli l'écran

EDIT:
C'est pour ça que j'apprécierai de l'aide pour l'optimiser
Nessotrin, développeuse un peu trop occupée avec la vie pour être présente sur PlanetCasio.
Voici Spassus2, mon jeu de combat spatial procédural abandonné, le NESSCASDK, mon SDK 'barebones' fait maison (C'est pour les maso uniquement) et CasioUsb, mon utilitaire de transfert d'addin pour Linux.
Dark storm Hors ligne Labélisateur Points: 11468 Défis: 176 Message

Citer : Posté le 24/05/2015 18:14 | #


Pour tes calculs, t'utilise les floats ou les fixed ? Le gain de temps peut être assez gros en utilisant la deuxième option.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Nessotrin Hors ligne Membre Points: 204 Défis: 0 Message

Citer : Posté le 24/05/2015 18:16 | #


J'utilise des floats, les fixed c'est bien, mais c'est pas compatible avec beaucoup d'opérations mathématiques complexes. Il faut vérifier que le gain de vitesse ne soit pas perdu en opérations de conversion
Nessotrin, développeuse un peu trop occupée avec la vie pour être présente sur PlanetCasio.
Voici Spassus2, mon jeu de combat spatial procédural abandonné, le NESSCASDK, mon SDK 'barebones' fait maison (C'est pour les maso uniquement) et CasioUsb, mon utilitaire de transfert d'addin pour Linux.
Dark storm Hors ligne Labélisateur Points: 11468 Défis: 176 Message

Citer : Posté le 24/05/2015 18:19 | #


Lesquelles ? Parce que dans la lib t'as de quoi calculer les fonctions trigo (et leurs inverses si je ne m'abuse).

Ajouté le 24/05/2015 à 18:20 :
Pour avoir fait les deux, sur mon moteur 3D perso (Firefly 3D), je tournais à 9-10 fps pour afficher un cube avec les float, contre 14-15 avec les fixed. Donc oui, le gain est vraiment bon.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 20113 Défis: 143 Message

Citer : Posté le 24/05/2015 18:33 | #


D'un côté, si tu as porté un moteur existant, tu ne peux pas vraiment prétendre à des opérations d'optimisation, je pense
Mais ça m'a l'air d'être du bon boulot ! Y'a moyen d'afficher 15-20 carrés pour créer un environnement complet ?

Sinon, mets des screens !
Nessotrin Hors ligne Membre Points: 204 Défis: 0 Message

Citer : Posté le 24/05/2015 18:48 | #


@Ds: pour la trigo, j'utilise les fonctions de Lephe
@Lephe: Je peut optimiser le moteur, je le connait aussi bien que si je l'avais écrit moi même x) (enfin, presque, mais c'est pas loin )
Pour afficher les carrés, faut je répare le chargeur de .OBJ (corruption mémoire ) , 10-15 carrés, c'est trop je pense, le moteur est vraiment trop lent pour l'instant (Si t'a envie d'opti, te gène pas )
Pour les screens ... J'ai que 1 triangle, donc ça va pas loin x)
Nessotrin, développeuse un peu trop occupée avec la vie pour être présente sur PlanetCasio.
Voici Spassus2, mon jeu de combat spatial procédural abandonné, le NESSCASDK, mon SDK 'barebones' fait maison (C'est pour les maso uniquement) et CasioUsb, mon utilitaire de transfert d'addin pour Linux.
Dark storm Hors ligne Labélisateur Points: 11468 Défis: 176 Message

Citer : Posté le 24/05/2015 18:52 | #


Ben justement, pour le coup les fonction de trigo de fixed sont bien plus rapides car basées sur une table de sinus. Du coup c'est en accès direct, pas besoin de calculer de polynôme.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Nessotrin Hors ligne Membre Points: 204 Défis: 0 Message

Citer : Posté le 24/05/2015 18:53 | #


#define flême
Mais pour les fixed, faut que je recode toutes les fonctions de maths
#undef flême
Nessotrin, développeuse un peu trop occupée avec la vie pour être présente sur PlanetCasio.
Voici Spassus2, mon jeu de combat spatial procédural abandonné, le NESSCASDK, mon SDK 'barebones' fait maison (C'est pour les maso uniquement) et CasioUsb, mon utilitaire de transfert d'addin pour Linux.
Dark storm Hors ligne Labélisateur Points: 11468 Défis: 176 Message

Citer : Posté le 24/05/2015 18:55 | #


Avec Sublime Text, t'en a pour 20 secondes

Moi je suis comme Lephe : GCC + Sublime Text >> all
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Nessotrin Hors ligne Membre Points: 204 Défis: 0 Message

Citer : Posté le 24/05/2015 18:58 | #


20 secondes ? j'ai pas les fichiers pour le fixed, et je connait pas les fonctions x)

Moi, je suis comme moi, GCC + Codeblocks + Calculib > all
Nessotrin, développeuse un peu trop occupée avec la vie pour être présente sur PlanetCasio.
Voici Spassus2, mon jeu de combat spatial procédural abandonné, le NESSCASDK, mon SDK 'barebones' fait maison (C'est pour les maso uniquement) et CasioUsb, mon utilitaire de transfert d'addin pour Linux.
Legolas Hors ligne Ancien rédacteur Points: 3266 Défis: 104 Message

Citer : Posté le 24/05/2015 19:02 | #


Dark storm a écrit :
Avec Sublime Text, t'en a pour 20 secondes

Moi je suis comme Lephe : GCC + Sublime Text >> all


+1
Mes programmes
Cacher les programmes
Mes défis
Cacher les défis



Nessotrin Hors ligne Membre Points: 204 Défis: 0 Message

Citer : Posté le 24/05/2015 19:04 | #


Tu va me dire que t'a payé les 70 dollards ?
Nessotrin, développeuse un peu trop occupée avec la vie pour être présente sur PlanetCasio.
Voici Spassus2, mon jeu de combat spatial procédural abandonné, le NESSCASDK, mon SDK 'barebones' fait maison (C'est pour les maso uniquement) et CasioUsb, mon utilitaire de transfert d'addin pour Linux.
Lephenixnoir En ligne Administrateur Points: 20113 Défis: 143 Message

Citer : Posté le 24/05/2015 19:11 | #


Bon, visiblement il reste encore un bout de travail avant de pouvoir s'en servir en soi alors

Bon courage, je suivrai ce projet avec attention
Aldebarius Hors ligne Membre Points: 1083 Défis: 10 Message

Citer : Posté le 05/06/2015 21:36 | #


J'ai lancé l'add-in sur ma calto et elle a ramé pendant 15 minutes sans rien m'afficher (après j'ai appuyé sur reset)
Est-ce normal?


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 64 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