Bonjour,
Je débute totalement en Irrlicht et j'ai actuellement un problème plutôt ennuyeux.
J'essaye d'appliquer une heightmap via un fichier bmp. Jusqu'à là, tout est OK.
Le heightmap est bien créé, cependant pas comme je le souhaiterai.
L'image bmp ressemble à cela (à peu près ):
xxxxxxxxx
x x x
x x x
x x x
x xxxxx
x x x
x x x x
x x x
xxxxxxxxx
Et quand je passe sous irrlicht, l'image semble inversé et tourner de 90° :
cela donne :
xxxxxxxxxxxx
x x x
x x x x
x x x
xxxxxxxxxxxx
x x
x x
xxxxxxxxxxxx
Bon c'est pas super bien fait mais c'est pour montrer ce que cela me donne.
Est ce que ce serait à cause d'un des paramètres ? (sachant que j'ai pas trop touché aux différentes valeurs (tutorial Irrlicht))
J'ai essayer de faire des rotations pour revenir à ma forme d'origine mais après ca bug niveau texture et niveau caméra, c'est pas viable.
Y a t'il un moyen sous Irrlicht pour que j'obtienne la representation de mon image d'origine (simplement)?
Sinon, je peux toujours développer une petite application pour faire l'image mirroir de l'image et la tourné de 90° mais ca me prendra du temps et il y a probablement un truc que j'ai mal fait.
Je vous demande donc de l'aide.
Merci d'avance.
Hors ligne
Salut !
A tu bien vu que le blanc est le haut, et le noir le bas ? (même si ce n'est pas forcément le pb)
Peut tu m'envoyer a willikus[at]gmailcom ton zip de projet ?
Sinon, des pros vont arrivé pour te dire l'alpha et l'omega
a+
w
Dernière modification par Willikus (12-11-2007 20:40:24)
Hors ligne
Bonjour a tous,
Je débute aussi avec Irrlicht,et je confirme le phénomène de miroir. Je n'ai pas pu vérifier la direction absolue de la caméra.
Dans mon cas, je suis parti de relevés d'altitudes qui m'ont servis a fabriquer la heightmap ainsi que la texture par traitement en fausses couleurs. Côté logiciel, j'ai prise comme base l'exemple 12 que j'ai modifié :
- modification des noms de fichiers.
- suppression du logo Irrlicht et des textes qui provoquent des erreurs d'exécution.
J'ai essayé de faire des images en 1200x1200, j'arrive a une erreur, quelle est la taille maximale des fichiers heightmap et texture ?
merci d'avance
Hors ligne
Je sais pas quelle est la taille maximale autorisée, mais par contre il me semble que la taille des textures doit etre une puissance de 2. Peut etre que le probleme vient de la.
Hors ligne
il me semble que c'est 256*256... certain on fait des codes pour mettre du 512*512 et du 1024*1024...
J'en sais pas plus la dessus
a+
w
Hors ligne
Yop,
Je ne t'ai pas envoyé le code car c'est quasiment rien, tutorial 12 en allégé avec 2 chargement de heightmap au lieu d'une.
Terrain = smgr->addTerrainSceneNode( "test0-0.jpg", 0, // parent node -1, // node id core::vector3df(0.f, 0.f, 0.f), // position core::vector3df(0.f, 0.f, 0.f), // rotation core::vector3df(10.f,3.f, 10.f), // scale video::SColor ( 255, 255, 255, 255 ), // vertexColor, 5, // maxLOD scene::ETPS_17, // patchSize 4 // smoothFactor ); Terrain->setMaterialFlag(video::EMF_LIGHTING, false); Terrain->setMaterialTexture(0, driver->getTexture("Terrain-texture.jpg")); Terrain->setMaterialTexture(1, driver->getTexture("detailmap3.jpg")); Terrain->setMaterialType(video::EMT_DETAIL_MAP); Terrain->scaleTexture(1.0f, 5.0f); Terrain2 = smgr->addTerrainSceneNode( "test1-0.jpg", 0, // parent node -1, // node id core::vector3df(0.f, 0.f, 2560.f), // position core::vector3df(0.f, 0.f, 0.f), // rotation core::vector3df(10.f, 3.f,10.f), // scale video::SColor ( 255, 255, 255, 255 ), // vertexColor, 5, // maxLOD scene::ETPS_17, // patchSize 4 // smoothFactor ); Terrain2->setMaterialFlag(video::EMF_LIGHTING, false); Terrain2->setMaterialTexture(0, driver->getTexture("Terrain-texture.jpg")); Terrain2->setMaterialTexture(1, driver->getTexture("detailmap3.jpg")); Terrain2->setMaterialType(video::EMT_DETAIL_MAP); Terrain2->scaleTexture(1.0f, 5.0f);
J'ai réussi à comprendre comment positionner mes heightmaps les une par rapport aux autres mais alors là je bloque completement.
Pour cette heightmap de test :
J'obtiens cela (Camera à peu près positionné en (0,0,0) :
Lien vers l'image
Et donc, on voit que les 2 bords de la heightmap sont relevés, pourquoi donc?
Y a t'il la possibilité d'empécher cela car j'aimerai relié des heigthmaps les unes aux autres et avec ce problème (qui est peut être normal mais j'aimerai comprendre), c'est clairement pas possible, ou si mais ca va faire des liaisons toutes pas belles.
Aussi, j'ai grossi par 10 ma heightmap, et je remarque que en positionnant la seconde heigthmap à 10 * 256, j'ai un écart entre les 2 heightmaps, pourquoi donc?
Merci déjà pour vos réponses .
Dernière modification par Sornoz (30-06-2007 19:44:14)
Hors ligne
Rebord : J'ai déja rencontré ce probleme, moi c'était du a l'enregistrement (jpg) qui avait alteré un coté de l'image (couleurs adjacente).
Sinon, quel version d'Irrlicht utilise tu ?
Hors ligne
J'utilise la version 1.3.1.
J'ai essayé avec d'autres formats :
- bmp (monochrome,16bits,24bits) et png mais cela n'a pas changer (je refaisai l'image à chaque fois) ;
Sinon, j'ai vu sur le forum de irrlicht que le problème était bien repertorié pour l'inversion des images et depuis longtemps en plus (bizarre que cela n'est pas été officiellement corrigé? )
Cependant il y a quelqu'un qui dit avoir corrigé le problème :
Voir le topic
Je n'ai pas essayé mais je vais le faire je pense demain. En tout cas, j'ai regardé le site du gars, il a fait beaucoup de correctifs (pas forcement utilisable puisqu'il ne reconnaisse pas la version 1.3.1).
Tout cela me fait penser que je veux peut être passer à un autre moteur car tous ces petits soucis m'inquiètent plutôt beaucoup pour la suite.
Hors ligne
Et bien le seul bon concurent a Irrlicht est OGRE et ce moteur (3D + physique) est dédiée a des démos, il tire beaucoup de ressources mais a un tres bon rendu.
Si tu compte faire un jeu... tu va avoir du mal a trouvé un moteur qui égal irrlicht (en gratuit complet)
Enfin, des petits probleme comme ça sont fait pour etres corrigé : comment pourrait 'ils faire une version 1.4 sinon ? ^^
a+
w
Hors ligne
Il me semble que les heightmaps doivent faire un pixel de plus que leur vrai taille.
Par exemple une heightmap de 256*256 doit en réalité être une image de 257*257.
Je ne sais pas si c'est toujours vrai avec la 1.3 mais bon... j'avais lu ça sur le forum d'Irrlicht il y a quelques temps.
De toute façon, le moteur de rendu de terrain d'Irrlicht est à revoir je pense.
En ce moment ils s'occupent du système d'animation, mais il serait temps que cette partie là soit aussi refaite.
Concernant Ogre, ce n'est pas un moteur dédié "aux démos".
C'est un moteur 3D, donc utilisable pour toute application.
Ogre est bien plus mature qu'Irrlicht, il a plus d'ancienneté et est plus achevé. Cependant il est moins abordable qu'Irrlicht.
Hors ligne
Aranoth :
De toute façon, le moteur de rendu de terrain d'Irrlicht est à revoir je pense.
+1
Mais pas "je pense" Il est vraiment merdique. Copland avait refait un moteur de terrain bien foutu mais je sais pas si il va le distribuer.
Aranoth :
Ogre est bien plus mature qu'Irrlicht, il a plus d'ancienneté et est plus achevé. Cependant il est moins abordable qu'Irrlicht.
+1 aussi
C'est pas du tout la même visée
Hors ligne
Merci pour vos réponses.
J'étais fatigué quand j'ai pensé à changé de moteur et encore plus en regardant les tutoriaux de Ogre3D (surtout à cause de l'anglais)
Je vais persévérer sur Irrlicht.
Comme je dois à tout prix corriger mon problème de heightmap, je vais essayer de faire une customscene pour générer les heightmaps ( avec mon niveau, je sens que je vais galérer + + ;( )
J'ouvrirai probablement un nouveau topic pour demander de l'aide.
Hors ligne
Les heightmap en elle même ne sont pas difficiles à implémenter, c'est très simple même.
Le problème c'est le LOD, le "level of détail" qui simplifie la géométrie en fonction de la distance...
Mais il existe plusieurs TerrainSceneNode costum et open source sur le forum d'Irrlicht.
Tu devrais y jeter un coup d'oeil
Hors ligne
Le LOD ça sert de moins en moins, ca coûte des fois presque autant de le calculer que de balancer directement le rendu au gpu sans réfléchir.
En revanche les techniques de culling sont plus faciles à mettre en place et c'est plus rentable.
Hors ligne
je crois que le probleme d'inversion de l'image est du au fait qu'une image est representé de telle maniere :
0,0 ------ 255,0
| |
| |
| |
| |
0,255-----255,255
et que le terrain lui est construit comme ca :
0,255---- 255,255
| |
| |
| |
| |
0,0--------255,0
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 95 invités en ligne Aucun membre connecté RSS Feed |