Programmation d'applications complexes
SPH
Messages : 4947 Inscription : mer. 09/nov./2005 9:53
Message
par SPH » ven. 12/août/2022 17:05
Salut,
Je sors de 4 jours de code pour vous présenter une anim en polygons OpenGL.
Le code est trop gros pour le mettre sur le forum.
Veuillez le consulter ici :
http://sph.chez.com/sources/karate.html
Il se répète 4 fois puis prends fin.
Merci pour vos commentaires...
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Fig
Messages : 1176 Inscription : jeu. 14/oct./2004 19:48
Message
par Fig » ven. 12/août/2022 17:42
Impressionnant, même si je ne comprends pas vraiment si c'est beaucoup de code ou juste majoritairement un import de polygones...
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
SPH
Messages : 4947 Inscription : mer. 09/nov./2005 9:53
Message
par SPH » ven. 12/août/2022 18:02
Il y a beaucoup de coordonnées de points et extrêmement peu de code PB (le moteur est dans le Gosub/Return)
ps : le moteur, c'est ça :
Code : Tout sélectionner
polygons:
Read.w sph_nombre_poly
Read.w sph_cmb
sph_cmb_mem=sph_cmb
Dim sph_xx.w(sph_cmb)
Dim sph_yy.w(sph_cmb)
sph_la=0
Repeat
glBegin_(#GL_POLYGON);
glBlendFunc_(#GL_SRC_ALPHA,#GL_ONE_MINUS_SRC_ALPHA)
If sph_la<>0
sph_cmb_mem+sph_cmb
ReDim sph_xx.w(sph_cmb_mem)
ReDim sph_yy.w(sph_cmb_mem)
EndIf
sph_xx(la)=sph_nombre
sph_yy(la)=sph_cmb
For i=1 To 4;sph_cmb
Read.w sph_xx(sph_la+i)
Read.w sph_yy(sph_la+i)
Next
glColor4f_(sph_xx(sph_la+1)/255,sph_xx(sph_la+2)/255,sph_xx(sph_la+3)/255,sph_xx(sph_la+4)/255)
For i=5 To sph_cmb-1
Read.w sph_xx(sph_la+i)
Read.w sph_yy(sph_la+i)
glVertex2f_(sph_xx(sph_la+i)/echelle_xf,sph_yy(sph_la+i)/echelle_yf);
Next
glEnd_() ;
Read.w sph_xx(sph_la+i)
Read.w sph_yy(sph_la+i)
sph_cmb=sph_yy(sph_la+i)
sph_la+i
Until sph_yy(sph_la)=0
;;;;;;;;;;;;;;;
Return
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Fig
Messages : 1176 Inscription : jeu. 14/oct./2004 19:48
Message
par Fig » ven. 12/août/2022 18:37
Et la scène tu l'as modélisé avec quoi ?
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
SPH
Messages : 4947 Inscription : mer. 09/nov./2005 9:53
Message
par SPH » ven. 12/août/2022 18:41
J'ai pris 29 captures d'écran d'une vidéo d'art martial trouvé sur le net.
Ensuite, j'ai utilisé mon editeur de polygones :
https://www.purebasic.fr/french/viewtopic.php?t=18225
Puis j'ai adapté mon lecteur de polygones (même lien) pour afficher l'anim...
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Ar-S
Messages : 9540 Inscription : dim. 09/oct./2005 16:51
Contact :
Message
par Ar-S » ven. 12/août/2022 21:01
Et ben tu t'es vraiment pris le choux. Le résultat est superbe.
Du Panza Kick Boxing (amiga) sauce Eric Chahi
Bravo
SPH
Messages : 4947 Inscription : mer. 09/nov./2005 9:53
Message
par SPH » ven. 12/août/2022 21:19
Merciii
ps : Je savais pas que panza kick boxing a été fait par eric chahi !!
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Ar-S
Messages : 9540 Inscription : dim. 09/oct./2005 16:51
Contact :
Message
par Ar-S » ven. 12/août/2022 21:46
non non pas du tout, c'est juste que les mouvements étaient digitalisés donc super fluides pour l'époque.
Chahi a fait pareil pour another world puis les a vectorisé pour le gain de place. Il avait kiffé les anim de Dragon's lair sur amiga à l'époque (comme tous ceux qui l'ont connus) mais 10 disquettes et un gameplay aux fraises (QTE) l'ont fait penser autrement.
threedslider
Messages : 455 Inscription : dim. 01/juil./2018 22:38
Message
par threedslider » ven. 12/août/2022 23:09
Impressionnant ! C'est bien fait comme anime c'est fluide aussi
SPH
Messages : 4947 Inscription : mer. 09/nov./2005 9:53
Message
par SPH » sam. 13/août/2022 20:09
threedslider a écrit : ven. 12/août/2022 23:09
Impressionnant ! C'est bien fait comme anime c'est fluide aussi
Merci, et ça peux être + rapide en changeant cette valeur :
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
G-Rom
Messages : 3641 Inscription : dim. 10/janv./2010 5:29
Message
par G-Rom » dim. 14/août/2022 7:58
Pas fluide du tout, on voit bien chaque frame, manque d'interpolation entre les frames je pense.
Le résultat est tout de même chouette en l'état.
tu peu utilisé d'autre fct° pour évité les division par 255 :
Code : Tout sélectionner
glColor4ub_(sph_xx(sph_la+1),sph_xx(sph_la+2),sph_xx(sph_la+3),sph_xx(sph_la+4))
SPH
Messages : 4947 Inscription : mer. 09/nov./2005 9:53
Message
par SPH » dim. 14/août/2022 8:05
Très fluide chez moi.
Si tu veux du "une image par seconde", met le "wait=50" a "wait=1" (ce qui est ridicule, je te l'accorde)
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
kernadec
Messages : 1606 Inscription : ven. 25/avr./2008 11:14
Message
par kernadec » dim. 04/sept./2022 6:55
Bjr SPH
Intéressant le mode FlipBook
Merci pour le partage
Cordialement