Un peu de légèreté...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Un peu de légèreté...

Message par G-Rom »

je m'interroge sur la gestion d'objets plus complexes avec la fonction Sprite3D.
Pas possible , pas de DepthBuffer / Zbuffer, FlipBuffers() écrase toute perspective ( il passe certainement en mode 2D )
Dernière modification par G-Rom le dim. 24/oct./2010 15:30, modifié 1 fois.
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Un peu de légèreté...

Message par Ollivier »

G-Rom a écrit :
je m'interroge sur la gestion d'objets plus complexes avec la fonction Sprite3D.
Pas possible , pas de DepthBuffer / Zbuffer, ClearScreen() écrase toute perspective ( il passe certainement en mode 2D )
Bonjour G-Rom,

Comme je suis une feignasse, je reprends le code de la mascotte Stargate de compet' et je te dis que c'est la preuve que t'entendre dire
«ClearScreen() écrase toute perspective» Ben c'est faux! Et si, après ça, j'affabule, au moins, prouve-le par du code source...

Moi, j'ai au moins la définition du dico Robert: «Perspective=Art de représenter les objets sur une surface plane, de telle sorte que leur représentation coïncide avec la perception visuelle qu'on peut en avoir, compte tenu de leur position dans l'espace par rapport à l'oeil de l'observateur.»

De cette définition, je rebondis sur ce que j'ai pu écrire à froid dans un autre sujet. Aussi dans cet autre sujet donc, tu peux lire que j'ai écrit en rouge que « la perspective est une illusion ». Là encore, si tu veux me prouver le contraire avec tes propres codes source en guise d'argument, je n'y vois aucun inconvénient. Ils seront les bienvenus...

Et si j'ai tort quelque part, je ne vais sûrement pas attendre que la situation pourrisse pour te présenter mes excuses dans le cas où l'une de mes erreurs t'aurait offensé: c'est quand même la moindre des choses!

Ollivier
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Un peu de légèreté...

Message par G-Rom »

1 - j'ai rien à te prouver
2 - Tu confonds illusion et restriction logiciel , ton illusion est très limite.
3 - si tu t'y connaissait un tant soit peut en OpenGL , tu serais qu'en mode "3D" , la texture est automatiquement corrigé ( correction de perspective ) au moment de la "rastérization".
http://www-evasion.imag.fr/Membres/Anto ... engl7.html
4 - pas clearscreen() qui écrase la perspective , mais flipbuffers. confirmé ici : http://www.purebasic.fr/english/viewtop ... erspective

Donc , avec les sprite3D , Tu ne pourras JAMAIS faire un "petit moteur 3D"
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Un peu de légèreté...

Message par Backup »

@Olivier
sans être spécialiste, je dirai que les sprite3D() correspondraient tout au plus au
bildboards /impostor
http://www.developpez.net/forums/d20496 ... billboard/


je ne pense pas qu'on puisse aisément transformer un 3DS (un objet 3D .. de structure 3D)
en sprite projeté 2D ....

sans etre spécialiste , je présuppose qu'un moteur 3D propose un Espace en 3 dimension
(x,y,z) .. peut etre un tableau avec 3 dimensions...

mais que l'affichage est géré par une carte graphique dédié , et non pas seulement par
un artifice .....
un moteur 3D utilise l'emploi de 3 vecteurs par point
qui meme s'ils ne sont pas tous affiché , sont gérés...
(d'ou l'emploi d'algo de masquage des faces cachées)

la projection que tu propose; meme si elle reste interressante; est un gadget par rapport a la veritable gestion de la 3D

.... enfin... je crois :)
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Un peu de légèreté...

Message par G-Rom »

Tu as à peu près raison Dobro , un billboard c'est un quad qui fait face à la camera en règle générale.
ils évolue dans un système à 3 dimensions , ils subissent une projection orthographique avant d'être affiché.
Les sprites quand à eux , ne subissent pas ce genre de transformation. On peut toujours par contre faire le calcul nous même
de cette dite projection et appliqué le résultat à chaque vertex , comme je l'ai fait avec les supersprite3D , mais tu ne bénéficiera pas des divers truc fourni par une api 3D
comme le zbuffer , le backface culling ( face cachée ) , le depth buffer ( test de profondeur ), correction de perspective pour les textures , etc...
y en a qui confonde philosophie et code informatique... avec se raisonnement , on peut aussi dire que Call Of Duty n'est en fait qu'un jeu en 2D , car après tout , la "vrai 3D" n'existe pas , ce n'est que subtile illusion.


Enfin... on perd vraiment du temps pour rien...
Frenchy Pilou
Messages : 2194
Inscription : jeu. 27/janv./2005 19:07

Re: Un peu de légèreté...

Message par Frenchy Pilou »

"Les sprites (2D) quand à eux , ne subissent pas ce genre de transformation."
Par contre on peut "tricher" en les dessinant en perspective "à la main" ;)
Mais là, cela demande des compétences artistiques :)
Est beau ce qui plaît sans concept :)
Speedy Galerie
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Un peu de légèreté...

Message par G-Rom »

Frenchy Pilou a écrit :"Les sprites (2D) quand à eux , ne subissent pas ce genre de transformation."
Par contre on peut "tricher" en les dessinant en perspective "à la main" ;)
Mais là, cela demande des compétences artistiques :)
On peut toujours par contre faire le calcul nous même
de cette dite projection et appliqué le résultat à chaque vertex , comme je l'ai fait avec les supersprite3D
Tu lis de travers ? :mrgreen:
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Un peu de légèreté...

Message par Ollivier »

@G-Rom

Es-tu toujours obligé d'avoir cette tendance agressive ?

@Dobro

Ton histoire de points qui ont 3 vecteurs, c'est très vrai. Je les ai mis en valeur dans le dernier code de la page 1 de ce sujet. Si tu as une méthode pour l'expliquer aux gens, je suis preneur, car je comprends ce truc. Je peux le représenter (puisqu'on voit bien que j'arrive à le faire apparaître à l'écran dans ce code), je peux lui soumettre des calculs (puisque je saute allègrement le blocage de cardan dans les rotations du cube bleu à droite de l'écran dans ce code exécuté) mais je n'arrive pas à trouver suffisamment de mots en français pour me faire comprendre à son sujet!!!

@Frenchy Pilou
Frenchy Pilou a écrit :Par contre on peut "tricher" en les dessinant en perspective "à la main"
Mais là, cela demande des compétences artistiques
Si ceci m'est dédié, c'est très gentil. :D
Pour tout dire, je n'ai pas de compétence artistique, mais éventuellement des réflexes artistiques. Je veux pouvoir un jour quitter ce Monde, la conscience légère tout simplement!

Ollivier
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Un peu de légèreté...

Message par Backup »

@Olivier
pas de méprises , je pense que d'un point de vue mathematique
tu as parfaitement raison , le résultat d'un moteur 3D est bien la projection
sur une surface 2D d'un calcul tridimensionnel

ce que je remet en cause, c'est l'utilisation des sprites3D() pour cette projection
pourquoi ne pas utiliser l'écran directement ?


les sprites3D() ne sont que des "Hard_sprites" uniquement des images 2D qui ont pour
particularité d'etre affiché (X,y) par la carte 3D (mais dans ses fonctionnalité 2D)
bref ! par l'accélération matériel !

tout le probleme viens de l'appellation choisi par Fred !

il n'aurai pas du appeler ça "Sprite3D()"
mais "Hardsprite()" ou "speedSprite()"

l'utilisation du sobriqué "3D" est trompeur a mon avis.. :)


il est clair que tes fonctions de rotation, sont valable dans le cadre d'un moteur 3D
mais ne suffisent pas ...

il faut des fonctions de gestion des faces cachées
du mapping de texture etc ....
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Un peu de légèreté...

Message par Ollivier »

@Dobro

A te lire, je prends peur: j'ai presque l'impression que la bibliothèque des sprites 3D va être supprimée!
Dobro a écrit :il faut des fonctions de gestion des faces cachées
du mapping de texture etc ....
Je ne sais pas ce qu'il faut. Mais, en tout cas l'offre doit s'adapter au besoin. Et en adhérant à la license PureBASIC, j'avais l'impression que Fred avait fabriqué un produit en considérant que le besoin était très volatile.

Parfois on a besoin de très peu techniquement: c'est l'idée du programmeur qui porte le projet.
Parfois on a besoin de choses très complexes immédiatement: c'est la faculté du créateur du compilateur qui porte le projet du programmeur.

Dans les deux cas, on aboutit à des compilations très différentes. Je ne crois pas que cette force ait disparu!

Tu dis remettre en cause l'utilisation des sprites 3D. Pourquoi pas? Si je peux afficher un triangle avec Ogre, pourquoi pas? Je l'ai déjà fait dans le sujet de Norswap! (un sacré sujet d'ailleurs!)
Seulement Ogre ne fonctionne plus, même pour afficher un simple triangle sur mon ordinateur, depuis plus de 15 mois!! Alors je prends ce qu'il reste tout simplement...

Aussi, si Ogre marchait à nouveau, pourquoi ne pas faire un panel de versions d'affichage?
- "Ogre Light" qui ne permettrait que l'affichage des triangles (avec en option une possibilité d'affichage comme les sprites 3D aussi), mais avec le maximum possible de fonctionnalités matérielles tout de même accessibles à ces triangles; (comme ça les petites bécanes qui ont déjà vu Ogre fonctionner pourraient le faire à nouveau!!!)
- Ogre Medium: une version plus complète du wrap;
- Ogre Huge: la version la plus élaborée faite pour les systèmes récents;

Enfin, un équivalent de TextureOutput() pour éviter d'utiliser le disque c'est une excellente chose. ça existait avant et ça marchait, j'en ai un bel exemple...
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Un peu de légèreté...

Message par Backup »

Ollivier a écrit : Tu dis remettre en cause l'utilisation des sprites 3D. Pourquoi pas? .
non , je n'ai rien dit de tel !

je dis ,
1- que cette librairie ne porte pas le bon patronyme !
2- que son utilisation n'a ,selon moi, strictement rien a faire avec le concepte de moteur 3D
, que justement l'amalgame est entretenu par le patronyme "3D" ...

pour ce qui est de l'orientation de Purebasic en matiere de 3D , je crois savoir que l'équipe
fait son possible , mais que ça n'est surement pas LA priorité ...

de plus des gens avec l'attitude de Tmyke n'aident pas a ce que tout se passe bien.. :roll:
(pourtant une tronche dans le domaine...)

d'autres demandes, continues d'être attendues , je pense a la cross compilation
mais ils y en a bien d'autres ....


pour la 3D , il existe des petits projets, (tu pourrai d'ailleurs en faire un.. ce serai la meilleur preuve de tes compétences dans ce domaine)

qui tiennent deja bien la route
voir ici :
http://www.file-upload.net/download-281 ... y.zip.html

bref faire de la 3D en purebasic c'est deja une réalité.... :)
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Un peu de légèreté...

Message par Ollivier »

@Dobro
Dobro a écrit :de plus des gens avec l'attitude de Tmyke n'aident pas a ce que tout se passe bien..
(pourtant une tronche dans le domaine...)
Je suis désolé mais successivement G-Rom, Fred, Djes et toi ont parlé de Tmyke. Chacun de vous quatre un peu, mais pas assez peu pour que la somme de vos quatre paroles lancent un jugement négatif à son égard. Je ne souhaite nullement rentrer dans une discussion à son sujet, sans qu'il soit présent. A vrai dire, à moins qu'il soit mort ou contraint par un handicap majeur, et sans le connaître je suis sûr que si on lui demande de s'exprimer sur ce forum, il le fera. Et je n'ai pas à recevoir de foudre de le dire: il suffit que vous quatre relisiez entièrement CE sujet pour comprendre que ce que je dis ici et maintenant est tout à fait simple, innocent et normal, d'une part, et d'autre part que je suis quelqu'un de très tolérant, mais sûrement pas quelqu'un de vulgaire.

Normalement, à ce stade, s'il a effectué les modifs page précédente, Cool Dji est en train de constater qu'il est "sorti" du nuage d'objets dans lequel il circulait. J'attends avec une certaine impatience que cette personne qui m'a dit, un an après sa diffusion avoir compris mon code puisse s'exprimer tranquillement à ce sujet pour que je sache comment continuer mes explications et éventuellement apprendre plus encore...

Ollivier
Warkering
Messages : 808
Inscription : ven. 08/janv./2010 1:14
Localisation : Québec, Canada

Re: Un peu de légèreté...

Message par Warkering »

Je suis plutôt en accord avec Ollivier, là! :lol:
Avatar de l’utilisateur
Cool Dji
Messages : 1126
Inscription : ven. 05/sept./2008 11:42
Localisation : Besançon
Contact :

Re: Un peu de légèreté...

Message par Cool Dji »

Ok,

J'ai procédé au modifs spécifiées mais je n'ai rien vu de bien différent (ou alors, je n'ai pas la capacité à comprendre ce qu'il fallait voir, et celà c'est fort possible :D ). Attention, je ne viens pas faire une crise de modestie, c'est juste qu'il y a des trucs que l'on perçoit plus ou moins bien.
On pourrait effectivement se passer d'Ogre ou de tout autre moteur existant pour faire de la 3D avec PureBasic. Mais cela reviendrait finalement à créer un nouveau moteur. Si je suis hors-sujet, je préfère m'éclipser de cette discussion.
Only PureBasic makes it possible
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Un peu de légèreté...

Message par Backup »

il suffit que vous quatre relisiez entièrement CE sujet pour comprendre que ce que je dis ici et maintenant est tout à fait simple, innocent et normal, d'une part, et d'autre part que je suis quelqu'un de très tolérant, mais sûrement pas quelqu'un de vulgaire.
ben non ! tout le probleme est là !

je suis désolé de te le dire une fois de plus , mais lorsque tu t'exprime , ben ... perso je ne comprends pas ! :?

parceque tu n'est pas assez concis et clair

parceque tu te lance dans des phrases a rallonges, qui font qu'une fois lues, ben on ne sait plus de quoi tu parle au debut...

parceque tu fait des allusions, que toi seul comprends...

donc, j'aurai beau te relire 20 fois, je ne vois vraiment pas ou tu veux en venir !

et je lance un petit defi a Warkering qui semble avoir la pierre de rosette...

explique moi en des termes tres simples, ou est-ce qu'Olivier veux en venir ?? :lol:


voila voila .. je vais donc faire Comme G-Rom , qui comme moi, doit etre trop con pour te comprendre , et c'est pas manque d'avoir essayé...(pour lui comme pour moi)


tout ce que je constate , c'est que G-rom est peut etre vulgaire, (a moins que tu sous entendait que ce soit moi... :lol: ) ; mais lui.. ben il bosse sur la 3D , il ne fait pas qu'en parler !

voila voila ! je te laisse donc a tes masturbations intellectuelles ;)
Verrouillé