Forum » » Création-Développement » » MiniGL
Posté : 30-11-2012 10:21 
Hello Crisot
Je pense que le vrai problème, d'une manière ou d'un autre, c'est que MiniGL (ou StormMesa ou le Prog qui les appelle comme SuperTuxkart) ont tendance à appeler Warp3D pour tracer les triangles un par un
Attention, comme le fais remarquer Hans, y a des cas où MiniGL peut tracer plein de truc d'un coup mais le problème c que c pas systématique.
DONC
Il faut ce que j'appelle un StateTracker : cad que toutes les opérations de traçage sont bufferisés et uniquement quand quelque chose change (un "state" est modidifié comme l'état gouraud passe de activé à désactivé ) alors on fait un flush de toutes les primitives bufferizés (en fait il s'agit d'une pure et efficace implémentation du mode INDIRECT qui existait dans de vieux driver Warp3D)
cad
tex 0
couleur rouge
gouraud OFF
trace un tri (bufferizé)
tex 0
couleur rouge
gouraud OFF
trace un tri(bufferizé)
tex 0
couleur rouge
gouraud OFF
trace un tri (bufferizé)
tex 0
couleur rouge
gouraud ON
trace un tri (flush 3 tris,bufferize ce tri)
J'avais déjà implémenté cela dans Wazp3D pour 3 fonctions (W3D_DrawTriangle/Line/Points)
uniquement (mais il existe 9 autres fonctions de tracage)
Là j'ai tout implémenté pour la future v54 mais j'ai pas eu le temps de compiler/tester (je suis sur Microbe3d à 100%)
Bref ce que je veut dire c'est tu devrais partir du Mesa3D Aros (j'ai démandé à DeadWood de le compiler pour os4 (j'attends....) mais en mode software only) et faire un wrapper+statetracker pour Warp3D
Ainsi on aurait le dernier Mesa3D(OpenGL)

Alain
Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=965&forum=14