Bonjour,
Comme je trouve le moteur de terrain d'irrlicht pas pratique pour les terrains de grandes tailles, que son lod est plus génant visuellement "qu'optimisant", j'ai décidé par curiosité de regarder ce qui était faisable de se côté là.
Se petit projet n'en est qu'à ses débuts, et je ne sais pas si je le terminerai, mais pour l'instant voici un screenshot du premier résultat visuel que j'arrive à avoir sur un terrain de 1024*1024.Vous pourrez voir les Boundings Box qui me permettent de visualiser les Buffers de chaques chuncks du terrain (total de 256 buffers et chuncks).
Voilou un screen sera toujours plus parlant :
[supprimé]
@++
Hors ligne
Pas mal du tout c'est vrai que lod d'origine est indigne, surtout avec un petit niveau de détail.
Ca génere un terrain avec une heightmap? Il y a quoi comme optimisations?
Hors ligne
Salut Izguit,
Oui ça génère à partir d'une heightmap et côté optimisation, y'a pas grand chose, juste une optimisation sur la distance entre la camera active et les chuncks, et j'ai rajouté une optimisation sur le viewFrustum pour ne pas calculer ce qui se trouve derrière.
Je cherche voir si y'a moyen d'optimiser toujours aussi simplement .
Hors ligne
Ok pour le frustum c'est pas couteux en calculs si tu prends un angle de 180°
Peut-être un backface cull ? Je sais pas ce que ca donne à coder.
Sinon niveau occlusion, ca risque de compliquer séverement et ca vaut pas forcément le coup.
PS : LA DEMO, LA DEMO
Hors ligne
C'est clair que ça fait envie ; ce système de terrain semble être bien prometteur !
Hors ligne
J'ai lû plein d'infos sur les moteurs de terrain, et il semblerai qu'avec les cartes graphique actuelle, les systeme utilisant un algo de "ROAM" (moteur de terrain d'irrlicht) sont devenu obsolète et ralentirai même le rendu...Donc oui le LOD n'est pas forcément la meilleurre technique d'optimisation pour un moteur de terain.Dison que c'est la technique la plus gracieuse visuellement quand c'est bien programmé je pense.
Mais bon j'en suis pas là, c'est super compliqué leur truc et j'ai pas envie de me plonger dans se genre de code, tout du moins pas avec mon faible niveau en C++ .
Je viens de rajouter la possibilité de parramétrer la qualité du terrain en niveau de détail:"High,Medium,Low,Extra Low".Je trouve le détail Medium correct visuellement, et suffisament rapide.
PS:bientôt une démo, mais j'ai pris un peu de retard par rapport à mon carnet d'horaire
Hors ligne
Coucou tout le monde .
Bon une première démo, le mode d'affichage est en Medium, comptez le même fps quasi divisé par 2 en High mais je n'ai pas mis de démo High pour l'instant.
Ensuite, les textures ne sont pas de moi...Le terrain est généré en 1024*1024 donc soyez patient le chargement risque d'être un tout petit peu long, mais sur une taille aussi grande c'est bien normal je pense.
Voilou je vous laisse un lien pour tester ça :
TELECHARGER
Hors ligne
Vraiment sympa sympa Le terrain est bien anti-aliasé, c'est joli
PS : Je te vole ta texture de terrain pour ma démo de terrain inifini si ça ne te dérange pas, il s'emboîte très bien et laisse de la place pour l'eau, c'est niquel :p
Hors ligne
Les textures pour le terrain ne sont pas de moi et je n'ai pas demandé d'autorisation particulière, elles étaient livré avec un Shareware donc je pense qu'on peut les utiliser mais à titre gratuit uniquement .
Sinon j'aimerai bien faire un simili splatting maintenant que j'ai un accès total aux vertex, tu sais si c'est faisable ça sous irrlicht ? car je n'ai pas trouvé de fonction très adéquate pour se genre de rendu.
Hors ligne
entre 300 et 400 fps ca tourne bien
Hors ligne
Génial ça le fait vraiment !
Hors ligne
Salut !
Bon... "chuncks", ... je ne comprend pas super (c'est triste je sais :'( ).
Je pose donc quelque questions "boulesque" comme a mon habitude
-Quel est l'objectif du programme ? Sans doutes chargé un minimum de poly avec une distance de rendue ?
-Comment faire un brouillard comme dans cette belle démo ?
En tout cas, ça tourne très bien avec un FPS entre 700-900 sur ma machine.
a+
Hors ligne
Roo j'avais même pas vu que quelqu'un avait posé des questions ici, désolé du retard pour la réponse.
Des chuncks se sont des parcelles, d'ailleurs dans mon cas c'est plus de grosses parcelles de terrain que des chuncks à proprement parler.
Sinon l'objectif du programme, c'est de pouvoir charger un terrain à partir d'une heightmap dépassant les 256*256 tout en préservant irrlicht avec son code d'origine (indices 16 bits).
Le moteur de terrain est plustot adapté à mon futur projet de jeux, c'est pas dit que ça convienne à tout le monde étant donné que je n'utilise pas une distance d'affichage extraordinaire.
Après comme je l'ai déjà dit, c'est plustôt en fonction des dimensions que l'on utilise pour les modèles 3D qu'il faut moduler la taille du terrain et la distance d'affichage.
Sinon j'aimerai vraiment pouvoir faire un simili splatting, mais je n'ai encore rien trouvé de vraiment optimisé, je cherche .
Hors ligne
Salut !
De retour avec mes questions casse pieds, je me demandais si vous aviez des liens, trucs, explications poussés sur le sujet des heigtmaps (j'ai cherché sur google, mais sans réel résultat :s ).
Je me posais ces questions afin de faire une "world map" pour mon jeu (style morrowind).
Le but étant un truc du genre en économissant un maximum de RAM, de CPU et de FPS.
En rouge : le perso et sont champs de chargement.
En vert : les maps chargé.
Le perso avance, et quand la map sort de la zone, elle décharge ses ressources. Quand un autre map rentre dans la zone, elle se charge
J'allais proposé des idées mais j'ai l'impression en lisant ce poste qu'elles aurait été à coté.
Encore merci.
a+
w
Hors ligne
Bonjour à tous
Ca a l'air très intéressant ça dis-moi !
Copland, serais-tu prêt à partager ton travail ?
On ne peut pas dire que je maîtrise irrlicht mais je serai très intéressé à te donner un coup de main.
fred
Hors ligne
Hello,
Oui pourquoi ne pas partager mon travail, mais mon code n'a rien de très extraordinaire hein...
Sinon l'idée du chargement des parcelles est pas bête mais je ne l'ai pas utilisé pour la bonne est simple raison que ça va créer des temps d'accès comme dans Oblivion, et perso dans un jeux je trouve ça super chiant.
Hors ligne
Hello,
Après pas mal de semaines passé à corriger les bugs, je me suis dit qu'il était temps d'en ajouter de nouveau et par conséquent de nouvelles fonctionnalités à mon petit moteur de terrain.
Voici un rendu OpenGL d'une scene réalisé avec qui comporte encore quelques bugs graphique mais rien de très alarmant je vous rassure .
Au passage un remerciement spécial à DeusXL pour son shader de texturage pour le terrain car si il n'avait pas posté une version HLSL, je n'aurrai probablement jamais trouvé comment faire en GLSL .
Assez parlé, voici le screen :
Hors ligne
ca pète
Le framerate? (là visiblement t'as glow + flotte + terrain + skybox?)
Hors ligne
Woaw ! C'est super joli !
Même si sur cette screenshot le terrain ne fait pas très "naturel", tous les effets sont vraiment réussis !
A quand une démo pour tester ça ? :p
Hors ligne
FPS = 180 sur mon ordi, mais j'ai encore quelques optimisations qui doivent être faisable .
Le terrain ne fait pas naturel en quoi aranoth ?
Hors ligne
Serait-il possible de pouvoir voir le code voir de l'intégrer en l'adaptant dans un autre projet (en respectant les crédits). Autre question : serait-il possible avec de gérer un map sphérique (planète) ou sinon quel technique me conseil tu pour faire ceci?
Hors ligne
Une map sphérique de planète si tu es un personnage sur cette Terre c'est géré comme une map horizontale qui se répète à un certain moment.
Une map sphérique de planète si tu es dans l'espace, c'est géré complètement différemment.
Dernière modification par DeusXL (05-05-2007 13:36:29)
Hors ligne
ce serait avec un partie espace mais probablement instancié différement (chargement, zone distincte,...) sinon j'ai peur que ça soit trés lourd en perf pour un je multijoueur (voire massivement multijoueur)
Hors ligne
Le terrain ne fait pas naturel en quoi aranoth ?
Son relief me semble un peu trop artificiel, j'imagine mal un relief qui prendrait cette forme dans la réalité. Mais ça c'est uniquement lié à la heightmap, pas à ton moteur ou tes effets.
Mais en même temps ça peut aussi venir de la prise de vue, c'est pour ça qu'il faudrait une chtite démo :p
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 281 invités en ligne Aucun membre connecté RSS Feed |