Vous êtes nombreux à avoir utilisé ce procédé, je propose donc de débattre sur les différents systèmes que l'on pourrait implémenter.
Faites part de votre expérience, afin qu'on se mette d'accord sur une intégration propre et rétrocompatible si possible.
Hors ligne
Personnellement pour le moment je passe par une formule dérivé du système de terrain qu'avait utilisé Copland.
Terrain splatting, 4 textures, avec texture de détail, plus une de lightmaping, possibilité d'éclairage directionnel + fog.
Le système FRUSTUM_BOX permet en plus la mise sur pieds d'une infinité de zones (dans la limite de la
mémoire disponible évidement).
Voilà pour ce qui me concerne.
Hors ligne
Merci bien, Je ne connait pas tout ça
Dans ce cas il vaut peut être mieux discuter du système de moteur de terrain dans sa globalité. mais là je ne peut pas vous aider si ce n'est par des tests.
Hors ligne
Oui, perso dès que j'aurais un peu de temps, je posterais un code ce qui permettra de voir de quoi il s'agit (avec un zip pour tester)
Hors ligne
ok, ok, je vais déjà aller voir le code de copland de mon coté, ça me fera patienter
Hors ligne
Allez les gars, sortez vos codes que je les améliores; ils vont pas s'améliorer tout seul !
Un code sur deux à déjà été améliorer par Nico !!!!
Pour l'autre, ce n'est quiune question de temps...
ps:c'est un sketch hein..... j'espère que vous l'avez vu
Hors ligne
T'es impatient
Même si j'ai pas trop le temps ce WE, je posterais le code promis dans la semaines
Hors ligne
Et ouai j'suis super impatient bon ça me laisse le temps d'en apprendre un peu plus sur le fonctionnement...
Hors ligne
perso j'ai ça comme terrain http://www.mediafire.com/?r8ur660jt71k6tn, bon par contre c'est pas full perf étant donner que je tire ça directement de mon 'engine' du coup y a les superflux physique entre autre
sinon:
+plutot rapid
+création du terrain 'dynamic'
+utilise un buffer pour stocker les donner ( heightmap )
+possibiliter de crée le terrain par algorithme ( utilise une fonction de type float algo(int x, int y) ... )
+découpe l'heightmap en sous partie
+les sous partie sont utiliser pour crée des meshs
+chaque mesh est indépendant et peut être reconstruit
+possibiliter futur de décharger le terrain par parti donc du paging ( c'est l'histoire de 20 ligne )
+light plus que correct ( enfin quand on utilise 4texture on voie vite que les perf dégringole )
+frustum culling pour les sous parties
+possibiliter d'avoir un terrain rectangulaire ( enfin c'est un découpage pour avoir des ous partie de type 2^N, le reste étant aussi découper dans se sans, se qui fait qu'un petit partie peut être plane a cause du dépasement )
-bug pour texturer ( je bosse dessus, dans l'optique d'assigner une matrice de texture sur chaque terrain pour pas plomber la mémoire en découpant la dite texture )
-la rotation marche correctement que sous l'angle Y, je ne me suis pas pencher sur les autres ( probleme lier a cause du multi-mesh )
-utilisation abusive de la mémoire ( a mon gous, raison: utilisation d'un buffer de type float, redécouper pour les sous parties, utilise donc 2x mémoire nécessaire, enfin en feusant en sorte que les sous partie acceder directement au buffer originel sa devrait le faire )
-chargment plutot lent
-j'ai pas fait d'algo pour redimentionner le buffer, j'ai estimer qu'un chargement de l'heightmap coupler avec un scale du mesh sufisais ...
baser sur l'example 24 SMeshHandling
edit: key >> w(wireframe), b(voir les boudingbox des sous parties), n(voir les normales), t(transparence...)
ps: dsl j'est pas le temp de me relire
Dernière modification par Magun (29-01-2011 20:14:11)
Hors ligne
Cela a l'air sympa
Par contre, à l'execution j'ai un ecran tout blanc, avec un message d'erreur dans la console:
Could not open file of texture: monde/scenes/textures/effect/electric-ball.png
et ce 6 fois.
puis
Overflow in AAB, object removed from simulation...
Voilà.
Hors ligne
cool magun, je vais voir ça
Hors ligne
heu non, pas cool ya pas de code, ça sert à quoi ? lol
Hors ligne
Could not open file of texture: monde/scenes/textures/effect/electric-ball.png
navré j'est aumis se fichier, il n'est pas très important, c'est pour les billoards qui indique les position des 6 light
Overflow in AAB, object removed from simulation...
un bug de ma physique ou bullet, il semblerais que le/la boundingbox du terrain soit trop important pour un btHeightfieldShape, je bosse dessus mais rien a voir avec le terrain
Cela a l'air sympa
merci
heu non, pas cool ya pas de code, ça sert à quoi ? lol
c'est pour motrer les performance du machin, si le moteur de tmyke ou de ce cher copland savère plus intéressant, je ne distriburais pas les sources, bien entendue dans le cas contraire ou si l'on me demande je n'y voie pas d'objection, je pensse qu'il y a sufisament de moteur de terrain pour irrlicht 'opensource', par conséquent je ne suis pas désireux de voir mon code utiliser par M.kikoolol sa me ferais mal au coeur
Hors ligne
HAHA je le connaissait pas ce monsieur
Bein le terrain de copland n'est pas optimisé, il a fait surtout ça pour faire un exemple je pense, là je suis en train de regarder le code de ikam qui à l'air déjà plus travaillé.(basé sur copland )
Donc faut faut comparé avec vos terrain comme tu dit, mais avec un exe on va pas aller bien loin.... d'ailleur il marche po
Hors ligne
il marche pas ?
pourtant tmyke ne semble pas avoir eux de problème ...
il retourne une erreur, ou qu'elle que chose ?
Hors ligne
tmyke :
Cela a l'air sympa
mais je disais aussi:
tmyke :
Par contre, à l'execution j'ai un ecran tout blanc...
Hors ligne
Bon, voici mes modestes travaux pour le moment.
Terrain, fractionné en sous-cellules. 8 textures de travail ( un canal alphamap, 4 pour le splatting, 1 pour le detail et une pour le lightmap)
Shader dans le code, pour DX et OGL, gestion LightDirectionnal et Fog.
Bon, voilà, le code est encore brouillon, rien n'est figé, en terme d'optimisation chez moi c'est un poil sous le moteur natif (tout dépend ou est
l'observateur). Mes media sont pas top, mais avec des media approprié et un fichier lightmap, le rendu est vraiment pas mal.
Et c'est ici ICI
Code source + exe + media
Hors ligne
youpi, je vais voir ça
ps MAgun: je vois un cube avec index partagés on dirai, c'est tout
Hors ligne
Bon je vous félicite pour votre boulot les gars,
Mais à cause de mon manque de connaissance, je ne revelerai que les défauts que j'apperçoi, donc désolé pour les compliments, on verra plus tard (soyez fort)
exemple: code d'irrlicht repris en masse:
La première optimisation que je voit, c'est éradiquer tout les calculs inutiles, selon moi un calcul ne devrait être effectué qu'une seule fois*, je propose donc qu'on perde quelques octets de ram pour stocker les résultats dans une pseudo mémoire cache, afin de gagner beaucoup de cpu
Bon ça je parie que tu l'a déjà fait Magun ? allez fait voir ton code....
Je vais effectuer des tests... à tout à l'heure.
*Je met une étoile pour désextremiser le sens, au cas ou on me ferait un procès
Hors ligne
bien soite ....
http://www.mediafire.com/?2d9875j3aom5a56
j'ai (re)tester ton moteur tmyke, avec 129k polygone j'ai environ 190fps...
perso j'ai 131k polygone pour ... 340fps, mais j'ai pas de shader dessus
Hors ligne
En effet, la gestion de la géométrie avec la solution que j'ai adopté est perfectible, elle prend vraiment son sens que lorsque l'on est près du terrain.
La gestion des shader sous Irrlicht n'aide pas non plus, et ralentit aussi un poil le code, après mon terrain travaille aussi avec 8 textures, ce qui
peut finir d'expliquer des performances en retrait...
PAr contre, je viens de re-loader ton package Magun, désolé mais je n'ai que cela qui s'affiche:
Hors ligne
Super Magun
Pour les fps, c'est un peu trop vague les comparaisons Je pense qu'on ferait mieux de se concentrer sur un noyau solide d'abord !?
Hors ligne
vraiment bizard ....... aucun soucis particulier cher moi, et ceux sur 3 de mais pc ... je ne compile pourtant pas en debug.
d'après se que je voie il n'est carément pas rendue, donc dernier test en m'étant directement le render dans le main while, peut-être OnRegistreSceneNode qui merdouille ? ...
http://www.mediafire.com/?w5drod7dhom1b5l
Hors ligne
bizarre, moi il marche l'exe de Magun.
Hors ligne
Bon, c'est meiux avec le dernière download, j'ai ça.
Pas de textures apparement , c'est volontaire ?
Au vue de ton code il semble qu'elle ne soient pas chargées...
Hors ligne
Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
---|---|---|---|---|
Corrections |
|
xhtml 1.0 css 2.1 Propulsé par FluxBB Traduit par FluxBB.fr |
882 membres 1429 sujets 11119 messages |
Dernier membre inscrit: LiseBuisson96 13 invités en ligne Aucun membre connecté RSS Feed |