90

je teins a me corriger par rapport au connerie que j ais ecrit plus haut arff dans un soucit claireter ( et d avouer ses erreurs bien sur)

qui est la "rendu conventionnel" et le "tile rendering"

rendu conventionnel:

( le rendu de brute)

ce que utilise la majorite des cartes graphiques aujourd huit. elle calcule les objets 3d puis applique les textures sur les polygones et meme sur ceux qui ne seront pas visible. Ce qui fait perdre de la bande passant et un temps fou.

tile rendering:

(le rendu plus reflechit)

contrairement a ce que j ais dit hier je pensais qu il ne traité pas les polygones qui ne serais pas visible, ce qui est faut il les traite en tout logique comme la 3d coventionnel mais le point positif et qu il n applique pas de texture sur les polygone non visible par le fov ce qui fait gagnier du temps que pendant la phase de remplissage des faces ce qui a permit de pouvoir faire un meilleur traitement des autres textures et un gaint en qualite.

91

Orion_
:
Sasume :
mais qualifier ça de 3D... Ce truc est entre Wolfenstein et DOOM... En tout cas, ce n'est pas plus puissant que ce que tu as pompé/fait.
il me semble que tu m'avait dit que ce n'etait pas que du raycastig mais bien de la 3D
Ce n'est pas du raycasting... Regarde le screenshot, tu verras que c'est impossible que ce soit du raycast...
Enfin, après pour qualifier ça de 3D, faut être sympa... C'est de la 3D hyper limitée (une seule hauteur de murs possible, et ils sont tous verticaux).
je ne suis pas "fichu" de comprendre comment ça marche parceque j'ai peu etre pas le niveau en math (tu doit comprendre ça il parait que t'est pas non plus une bête en math)
Il me semble que tu as vu le produit scalaire en 1ère S, mais je ne suis pas sûr (moi j'ai fait STI)...
de toute façon, tu n'a pas vu mon code tu ne peu rien dire si j'ai pomper ou pas alors arrete d'afirmer des chose totalement fausse
Bah c'est toi qui l'a dit... trifus
plus des 3/4 du code est de moi, un point c'est tout.
OK, je parlais surtout du code lié à la 3D.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

92

Pis au fait, le backface culling peut nécessiter les memes connaissances mathématiques que les rotations, enfin, ça dépend comment tu le fais. Ca nécessite même plus de connaissances en général...
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

93

-

94

-

95

Argh c'est laid sur GBA.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

96

-

97

Enfin, peut-être que ce sont simplement les textures qui sont mal choisies...
Normalement il ne devrait y avoir que la résolution de l'écran qui joue (si le moteur utilise tous les pixels).
Quelles sont les résolutions respectives de la GBA et de la GP32 ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

98

-

99

gp32 320 x 240

GBA 240 x 160
Betty baba noel candide sandra duziel #triso#

100

C'est quoi les popup dans un moteur 3D ?
Dans Cube, on peut peafiner les réglages, et ainsi ajuster le FOV, la correction GAMMA et quelques autres attributs dont 2 qui font varier les popup. Qu'est-ce que ça veut dire ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

101

ThunderZ :
En gros deja le cube algo est un deriver de landscape il passe donc par un systeme de cellule, une grille quoi pour calculer sont univers.
Cela ne veux pas dire que l'on affiche que des cubes, non, non mais que l'on utilise les cellules de cube pour le cacul.


en gros selon ta description d'au dessus, c'est similaire a une grille de voxels? grin
Bon deja allet tout la :
http://wouter.fov120.com/cube/


deja vu... ce truc la est immonde...
"....Landscape-style engine that pretends to be an indoor first person shooter engine. Combines very high precision dynamic occlusion culling with a form of geometric mipmapping on the whole world for dynamic LOD for configurable fps & graphic detail on most machines. Uses OpenGL & SDL. ....."
Comme ca deja tout l'explication. grin


heu ca explique que dalle ca...
et excuse moi mais...
tu utilise OpenGL et SDL? de l'occlusion culling? gol du geometric mipmapping? tricol
Je l'ai deja dis mais vous allez comprendre.

1 - Telecharger le jeu
2 - Amuser avec et avec vos potes
3 - Faite mumuse avec l'editeur de niveau pour bien comprendre l'idée du landscape et du systeme de cellules.
4 - Regarder le code source qui est donner avec. wink


il est trop obscur mourn
c'est du trop haut niveau pour une pauvre marmotte sad
tu peux pas expliquer? juste l'algo que t'utilise pour generer la mesh de ta map a partir de tes cubes trigni?

Voila bon désolé de pas avoir le courage de faire plus mais il est deja 1h du mat et suis naze (m'enfin j'ai bien bosser sur la nouvelle version moi grin)

PS: quelqu'un aurait un loader MD2 ca m'eviterais de rechercher le format de fichier et de l'ecrire (ThunderZ faignant comme 10 apres avoir coder a mort tongue)


http://www.gametutorials.com

t'as meme un loader md3 tritoptrigic
ThunderZ :
LaMarmotte, je suis d'accord pour les quakes j'ai longtemps bosser dessus par contre pour les dooms pas d'accord on peut pas vraiment apeller un bsp dans le sens ou on l'entend maintenant.


absolument pas. un bsp ca veut dire ce que ca veut dire, les deux premiers dooms utilisent des BSP 2D, c'est toujours un bsp... meme principe qu'un BSP 3D... et tu dis? doom3 utilise pas de bsp? roooh trigni

Voici par exemple mon vieux moteur 3D que j'avais osez mettre en ligne fierement j'avais pas fait ca avec les autres tongue
http://perso.wanadoo.fr/gazin/matthieu/basic3d.htm

Donc du coup le MD2 loader c'est bon je l'ai en faite grin

GP32progFR, c'est pas la peine le moteur utilise un deriver de raycasting pour valider une liste de polygone a dessiner ensuite les polygones sont dessiner avec le painter algo de loin vers le pret ca evite d'avoir un Z-Buffer très couteux en terme de performance et pas vraiment utils vue la resolution (faut pas oublier que la je suis en 320*240*16bits) donc voila l'explication.


un Z-buffer c'est pas utile pour "la resolution", au contraire... gol plus ta resol est elevee, plus t'as besoin d'avoir un bon fillrate... la dans ton cas justement, un Z-buffer serait pas si couteux que ca, vu que la resolution est faible. mais ca depend aussi de la quantite d'overdraw sur une frame. et si tu dessine les faces d'avant en arriere avec un bsp relaxe + pvs pour reduire l'overdraw sur les grandes maps, tu peux gagner beaucoup en utilisant un Z-buffer...

Bon la j'arretes vraiment mes explications a la limite reprendrais demain si j'ai le temps smile


trioui.gif
GP32PROGFR :
qui est la "rendu conventionnel" et le "tile rendering"

rendu conventionnel:

( le rendu de brute)

ce que utilise la majorite des cartes graphiques aujourd huit. elle calcule les objets 3d puis applique les textures sur les polygones et meme sur ceux qui ne seront pas visible. Ce qui fait perdre de la bande passant et un temps fou.


non...

google frustrum culling
google backface culling
google visible surface determination
google potentially visible set
google occlusion culling
google lay down z first
google depth buffering
google ......

tile rendering:

(le rendu plus reflechit)
contrairement a ce que j ais dit hier je pensais qu il ne traité pas les polygones qui ne serais pas visible, ce qui est faut il les traite en tout logique comme la 3d coventionnel mais le point positif et qu il n applique pas de texture sur les polygone non visible par le fov ce qui fait gagnier du temps que pendant la phase de remplissage des faces ce qui a permit de pouvoir faire un meilleur traitement des autres textures et un gaint en qualite.


? trifus
*** Ne sous-estimez pas la puissance de la Marmotte ***


© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

102

Sasume
: Pis au fait, le backface culling peut nécessiter les memes connaissances mathématiques que les rotations, enfin, ça dépend comment tu le fais. Ca nécessite même plus de connaissances en général...


heu ca depend des rotations faites comment... point de vue scolaire/universitaire, le calcul matriciel, tu le vois que dans le superieur...
Sasume :
C'est quoi les popup dans un moteur 3D ? Dans Cube, on peut peafiner les réglages, et ainsi ajuster le FOV, la correction GAMMA et quelques autres attributs dont 2 qui font varier les popup. Qu'est-ce que ça veut dire ?


popups? heu a part dans le GUI... triso ils ont surement mis ce nom pour designer l'effet de popping qui se produit quand des chunks de geometrie sautent d'un niveau de LOD a un autre (ils ont pas de geomorphing? haaaannn... trigni)
*** Ne sous-estimez pas la puissance de la Marmotte ***


© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

103

[cite]LaMarmotte :
heu ca depend des rotations faites comment... point de vue scolaire/universitaire, le calcul matriciel, tu le vois que dans le superieur...
À moins que je n'ai pas bien compris le calcul matriciel, il me semble que c'est simplement une autre façon de présenter un produit scalaire, mais les opérations effectuées sont les mêmes.
En tout cas, le calcul matriciel n'est pas indispensable pour faire des rotations. Le produit scalaire suffit (moi je ne sais pas utiliser les matrices pour faire du calcul matriciel, mais je m'en ors très bien pour faire des rotations).
Remarque, il me semble avoir lu qqpart qu'utiliser des matrices était plus avantageux car ça fait faire moins de calculs finalement. Donc peut-être que ce que je viens d'écrire est faux.
popups? heu a part dans le GUI... triso ils ont surement mis ce nom pour designer l'effet de popping qui se produit quand des chunks de geometrie sautent d'un niveau de LOD a un autre (ils ont pas de geomorphing? haaaannn... trigni)
Oui, je pense aussi que c'est ça.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

104

-

105

Alors les reponses en paties tongue
en gros selon ta description d'au dessus, c'est similaire a une grille de voxels?


Non le voxel engine est très particulier tu as pour te simplifier un mega tableau de donner (le plus simple, x,y,z,coleur) qui correspond a CHAQUE points.
La c'est un landscape, tu definie une serie de vertex de base et tu definies tes polygones depuis les points.
Le cube engine lui definie des secteurs depuis des vertexs donc.
absolument pas. un bsp ca veut dire ce que ca veut dire, les deux premiers dooms utilisent des BSP 2D, c'est toujours un bsp... meme principe qu'un BSP 3D... et tu dis? doom3 utilise pas de bsp? roooh

Voui les dooms utilises un bps 2D c'est vrai mais je pensais a un bsp 3D plutot moi j'en utilise pas smile
Doom 3D je crois kil melange BSP et autre technique, faudra que je me renseigne a titre personnel (en tout cas la gestion des lumières est un miracles grin)

un Z-buffer c'est pas utile pour "la resolution", au contraire... plus ta resol est elevee, plus t'as besoin d'avoir un bon fillrate... la dans ton cas justement, un Z-buffer serait pas si couteux que ca, vu que la resolution est faible. mais ca depend aussi de la quantite d'overdraw sur une frame. et si tu dessine les faces d'avant en arriere avec un bsp relaxe + pvs pour reduire l'overdraw sur les grandes maps, tu peux gagner beaucoup en utilisant un Z-buffer...

Par contre la suis pas du tout d'accord avec toi.
Je tourrais donner entièrement raison sur PC pour deux choses -> resolution basse et ecran geant + proc puissant et memoire enorme
La on est certe en 320*240 mais sur un PETIT ecran donc les erreurs visuel sont très très faible (idem pour la correction de perspective sur les textures), actuellement le rendue des textures est plus fin et crois moi ca rend terrible.
De plus un ZBuffer meme en 320*240 ca bouffe un peu plus de memoire (faut l'econimiser a tout niveau) et du temps de calcul suplementaire donc a eviter en priorité.

Le site de reference : http://www.angelsoftware.org

106

Juste pour repondre a Sasume qui essaie de casser Orion

Euh pour les rotations en 3D si tu prends tes bases de 1er tu peux te toucher! C est des matrices! Matrices c est 1 er annee de Deug info ou autre ecole ressemblant!
avatar
https://air-gaming.com/tests/ si vous voulez de la bonne lecture :=)

107

ThunderZ :
Alors les reponses en paties tongue
en gros selon ta description d'au dessus, c'est similaire a une grille de voxels?

Non le voxel engine est très particulier tu as pour te simplifier un mega tableau de donner (le plus simple, x,y,z,coleur) qui correspond a CHAQUE points.


heu non triso
deja je te parle d'une grille de voxels, pas d'un "voxel engine"

et tel que tu l'as decrit: "il passe donc par un systeme de cellule, une grille quoi pour calculer sont univers.
Cela ne veux pas dire que l'on affiche que des cubes, non, non mais que l'on utilise les cellules de cube pour le cacul."

passke ca ou je me trompe ou ca veut dire que t'as une grille de cubes, et que tu te sers de cette grille de cubes "pour le calcul"..
mmh quel calcul? trigni

et tes "cubes" tu les stock comment? dans un arbre? un ABTree? un arbre binaire? un KD-tree? un AABB tree? un octree? un asasjdfajds tree?
ou juste dans une liste? smile

La c'est un landscape, tu definie une serie de vertex de base et tu definies tes polygones depuis les points. Le cube engine lui definie des secteurs depuis des vertexs donc.


"La c'est un landscape" > un terrain? les levels sont stockes dans une heightmap? trifus mais ptetre que tu dis ca passke sur le site dont t'as file le lien y a "Landscape-style engine"? cheeky
"tu definie une serie de vertex de base et tu definies tes polygones depuis les points" -> si c'est ca, y a aucune difference avec une mesh normale triso
"Le cube engine lui definie des secteurs depuis des vertexs donc" -> cpas l'inverse plutot? remarque on a ptetre pas la meme definition de "secteurs" grin
pour toi c'est quoi un "secteur"? cheeky
absolument pas. un bsp ca veut dire ce que ca veut dire, les deux premiers dooms utilisent des BSP 2D, c'est toujours un bsp... meme principe qu'un BSP 3D... et tu dis? doom3 utilise pas de bsp? roooh

Voui les dooms utilises un bps 2D c'est vrai mais je pensais a un bsp 3D plutot moi j'en utilise pas smile
Doom 3D je crois kil melange BSP et autre technique, faudra que je me renseigne a titre personnel (en tout cas la gestion des lumières est un miracles grin)


un miracle? le systeme de lumieres de doom3 etait impressionnant il y a 1 an. plus maitenant... j'irais pas a dire que c'est une merde compare avec ce qui peut se faire avec le hardware actuel, mais presque. les shadow volumes sont immondes, ils abusent de la composante speculaire dans l'eclairage de leurs surfaces, tout ou quasiment a une gueule de plastique...
tu veux savoir comment faire ca ou mieux?

google shadow volumes, google per pixel lighting, google programmable hardware, google hardware/vertex shader shadow volume extrusion, DOT3 bump mapping, blinn/phong/diffuse bump mapping, etc, etc...
et puis: http://developer.nvidia.com http://www.ati.com/developer/
un Z-buffer c'est pas utile pour "la resolution", au contraire... plus ta resol est elevee, plus t'as besoin d'avoir un bon fillrate... la dans ton cas justement, un Z-buffer serait pas si couteux que ca, vu que la resolution est faible. mais ca depend aussi de la quantite d'overdraw sur une frame. et si tu dessine les faces d'avant en arriere avec un bsp relaxe + pvs pour reduire l'overdraw sur les grandes maps, tu peux gagner beaucoup en utilisant un Z-buffer...

Par contre la suis pas du tout d'accord avec toi.
Je tourrais donner entièrement raison sur PC pour deux choses -> resolution basse et ecran geant + proc puissant et memoire enorme.
La on est certe en 320*240 mais sur un PETIT ecran donc les erreurs visuel sont très très faible (idem pour la correction de perspective sur les textures), actuellement le rendue des textures est plus fin et crois moi ca rend terrible. De plus un ZBuffer meme en 320*240 ca bouffe un peu plus de memoire (faut l'econimiser a tout niveau) et du temps de calcul suplementaire donc a eviter en priorité.


tu t'es demande les changement que tu pourrais faire a "ton" code, et tout ce que tu pourrais virer si tu utilisais un z-buffer? wink tu t'es pas demande si l'overdraw que t'as sans z-buffer etait pas plus couteux que si t'utilisais un z-buffer?

et si tu utilise un bsp (trivil), tu peux faire comme faisait Q1, c'est a dire dessiner d'arriere en avant, avec uniquement des ecritures dans le z-buffer, et n'y lire+ecrire dedans que pour afficher les objets dynamiques... mais bon si tu laisse ton truc comme ca, juste avec une map, cette methode la n'a aucun interet... par contre afficher la map avec le z-buffer, ca en a un trivil

et je t'ai pas parle d'erreurs... et de toute facons meme si t'as des erreurs de tri et que l'ecran est petit, c'est pas une excuse, c'est _tres_ ennervant d'avoir les yeux distraits par du flickering quand tu te deplace...
*** Ne sous-estimez pas la puissance de la Marmotte ***


© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

108

Manoloben :
Juste pour repondre a Sasume qui essaie de casser Orion
Euh pour les rotations en 3D si tu prends tes bases de 1er tu peux te toucher! C est des matrices! Matrices c est 1 er annee de Deug info ou autre ecole ressemblant!


tu peux faire des rotations aussi bien que des matrices juste avec des sin et cos.
je sais plus dans quelle classe on appred ca mais je crois qu'en 1ere on a deja vu de la trigo non? (honnetement je c plus du tout)
*** Ne sous-estimez pas la puissance de la Marmotte ***


© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

109

-

110

Orion> trilove !!!!!!!
*** Ne sous-estimez pas la puissance de la Marmotte ***


© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

111

Hey Marmotte! c est une matrice compose avec des sin et cos que tu appliques! Sur y a 2 methodes la methode 1 er ou tu te dis comme ca avec des sin et cos a l air de marcher, ou alors la methode du gars reflechi si j utilise des connaissances de maths(des vraies!)
C est comme les rotations sur une images! Ou tu fais des translations de partout(sur X puis sur Y puis encore sur X) ou bien t utilise un algo fait pour ca!
avatar
https://air-gaming.com/tests/ si vous voulez de la bonne lecture :=)

112

Manoloben :
Hey Marmotte! c est une matrice compose avec des sin et cos que tu appliques! Sur y a 2 methodes la methode 1 er ou tu te dis comme ca avec des sin et cos a l air de marcher, ou alors la methode du gars reflechi si j utilise des connaissances de maths(des vraies!) C est comme les rotations sur une images! Ou tu fais des translations de partout(sur X puis sur Y puis encore sur X) ou bien t utilise un algo fait pour ca!
Tu peux m'en dire un peu plus ?
Perso, je n'ai pas vu le calcul matriciel et je ne sais pas si je le verrai. Enfin, je peux toujours regarder sur internet, j'ai vu pas mal de cours là-dessus. Mais si tu veux m'expliquer quelle est cette méthode réfléchie qui utilise des connaissances de maths je te suis toute ouïe.
(Et de toute façon, bien que ne connaissant pas les matrices Orion aurait pu être apte à faire des rotations car il connaît le produit scalaire si je ne me trompe pas. Mais ce n'est pas la question...)
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

113

Manoloben
: Hey Marmotte! c est une matrice compose avec des sin et cos que tu appliques!


ah? mourn je croyais que le papier d'alu que j'appliquais sur le chocolat milka mourn
Sur y a 2 methodes la methode 1 er ou tu te dis comme ca avec des sin et cos a l air de marcher, ou alors la methode du gars reflechi si j utilise des connaissances de maths(des vraies!) C est comme les rotations sur une images! Ou tu fais des translations de partout(sur X puis sur Y puis encore sur X) ou bien t utilise un algo fait pour ca!


ca a pas l'*air* de marcher, ca marche, mais c'est moins efficace qu'avec les matrices c'est tout...

p'.x = p.x * cos(yaw) + p.z * sin(yaw)
p.z = p.x * -sin(yaw) + p.z * cos(yaw)
p'.y = p.y * cos(pitch) - p.z * sin(pitch)
p''.z = p.y * sin(pitch) + p.z * cos(pitch)
p''.x = p'.x * cos(roll) - p'.y * sin(roll)
p''.y = p'.x * sin(roll) + p'.y * cos(roll)

... triso
*** Ne sous-estimez pas la puissance de la Marmotte ***


© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

114

-

115

Bah on parle de moteur 3D trifus
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

116

-

117

C est pour cette raison Orion que j ai pas repondu a la marmotte, je vais pas rentrai dans son jeu! Surtout que messieur parle, mais moi j ai rien vu de ce qu il fait!(ou dit avoir fait!)
avatar
https://air-gaming.com/tests/ si vous voulez de la bonne lecture :=)

118

et oui il y a plus rien^^
car je viens d'editer ma colere contre une personne...
avatar
pixel and 3D graphics: www.madpxl.com

seeking iPhone developer, contact me !


119

-

120

Tu sais MaDsk8tard des fois mieux vos tourner 7 fois sa langues dans sa bouche(si je vous jure je le fais souvent, pas assez mais souvent quand meme!)
Bref tu nous a fait encore une fois un post mechant qui sert a rien! Surtout que tu capte nibe a la 3D! T es "Out" assume le!
avatar
https://air-gaming.com/tests/ si vous voulez de la bonne lecture :=)