Bonjour bonjour !
Depuis quelques temps j'ai un gros bug, bien embêtant.
Voici ma scène sans transparence : (Cliquez pour agrandir)
Et lorsque j'ajoute la transparence, tout foire.
Si j'utilise l'alpha channel (en spécifiant la colorkey via Irrlicht), la texture disparait totalement, c'est ce qui arrive aux feuilles qui tombent vers le bas, en haut de la screen.
Encore plus grave, lorsque j'utilise cette fois EMT_TRANSPARENT_ADD_COLOR, là c'est le drame. Ca va des polygones qui disparaissent (pourtant non affectés directement par cette transparence...) à des fragments de scène qui ne s'affichent plus (on voit la skybox à la place) et délimités par des petites dents.
Pour illustrer le problème : (Cliquez pour agrandir)
Je précise que j'ai la dernière version SVN d'Irrlicht, mais que ce problème est survenu il y a quelques temps déjà, je pense que c'est arrivé au passage d'Irrlicht 1.0 à 1.1 ...
J'ai une NVidia geForce 4 Ti4200 avec les derniers drivers et Windows XP SP2.
C'est un problème vraiment incapacitant, et toute aide serait la bienvenu.
Merci
EDIT : j'oubliais !! J'utilise le render OpenGL.
Dernière modification par Aranoth (12-12-2006 22:27:26)
Hors ligne
Aîe, sinon... As tu pu tester ton application sur d'autre config que la tienne ?
Hors ligne
Je viens d'essayer sur le PC de ma mère, mais il est vieux et peu puissant, il ne gère pas les extensions OpenGL correctement, et de toute façon il n'arrive même pas à lancer le programme (très étrange, l'endroit où il plante est l'appel d'une méthode de la classe (via this->...)).
J'ai cependant remarqué sur mon PC quelque chose, un début de piste, qui sais ?
Quand je force Windows à redessiner la fenêtre (en la déplaçant par exemple), tout réapparait.
Peut-être un problème avec Windows ?
Je viens juste d'essayer le jeu en plein écran, et là il n'y a aucun problème.
Du coup je ne pense pas que ce soit un problème matériel, mais surement un problème lié à Windows...
Je n'arrive pas à voir de solutions, est-ce lié à Irrlicht ? A Windows ? A mes drivers ? Je suis bien embêté
Hors ligne
si tu veux que je teste sur mes pc, envoie moi le binaire ou le code, j'ai plusieurs config différentes dont certaines windows / linux
Hors ligne
au pire tu peux balancer un exe
les geforce 4 commencent à dater et il peut y avoir quelques incompatibilités qui sait
Hors ligne
Voilà, vous pouvez trouver l'exe ici :
http://aranoth.keogratuit.com/demos/Aereven.rar pour environ 4Mo (RAR)
Décompressez simplement l'archive et lancez "projet.exe". Normalement, ça devrait se lancer, si il y a le moindre problème, faites m'en part.
Le bug est visible dès le début, mais est plus flagrant lorsque vous traversez le mur au fond et revenez sur vos pas, là c'est le décors entier qui disparait.
Merci de me faire part de toutes vos critiques/remarques
Hors ligne
erreur au lancement.
Screenshot
http://lordpinguin.free.fr/error.png
niveau infos sups
XP Pro SP2, 6600GT agp, drivers forceware 93.71
Dernière modification par Ravine (14-12-2006 11:06:58)
Hors ligne
exactement pareil sur config en signature et win xp sp2
Hors ligne
Je ne comprends pas ce problème...
Sur mon PC tout marche, mais pas sur les autres.
C'est incompréhensible, magique même :
this->initClasses(); this->initPersos();
ça plante entre les deux.
J'ai rajouté des 'cout' pour débugger, et c'est là qu'on entre dans le domaine du paranormal :
ça plante entre la fin de l'appel d'une méthode et l'appel de la suivante.
En effet 'initClasses' se termine correctement, mais 'initPersos' ne se lance jamais...
...
Je n'y comprends rien, ça marche sur mon PC et pas sur les autres, c'est un bug incompréhensible... >_<
En plus de ça, l'alimentation de ma Wii a été victime d'une surtension hier soir, je ne peux plus utiliser ma console... Raaaah tout va mal !
Hors ligne
J'ai identifié le problème, mais je n'arrive pas à le comprendre. En tout cas c'est lié à Boost::FileSystem... Je n'ai aucune envie de m'y pencher maintenant, alors j'ai bidouillé ça pour que ça marche sans Boost.
J'ai testé sur le PC à ma mère, le jeu se lance (même si les textures ne s'affichent pas^^).
Voici donc la nouvelle archive, pour me faire pardonner j'ai même amélioré la map de test :
Pour ceux qui ont déjà téléchargés l'archive précédente : http://aranoth.keogratuit.com/demos/AerevenMAJ.rar ça remplace les fichiers modifiés (2Mo)
Pour les autres, l'archive à été mise à jour :
http://aranoth.keogratuit.com/demos/Aereven.rar (4Mo)
Voilà, là ça devrait marcher
Hors ligne
Excusez-moi d'insister, mais est-ce que quelqu'un a essayé ? J'aimerais savoir si ce bug est présent uniquement chez moi, ou si d'autres le rencontrent.
Hors ligne
je viens de tester avec le nouveau pack mis a dispo, zéro clipping, zéro bug d'affichage. Le perso n'est pas texturé (tout en blanc/gris uniforme) c'est normal ?
a part ça, je traverse les murs mais pas de soucis
Tiens une question en passant. Je me suis permis de fureter dans le repertoire (oui, curieux), et j'ai remarquer la map, et son extension .dmf (DeleD).
...
Et en fait non, pas de question, un eclair de lucidité, je viens d'aller voir la liste des features d'Irrlicht, c'est géré en natif. Du coup, plus de question. (c'est beau un cerveau qui fonctionne des fois ^^ )
Dernière modification par Ravine (18-12-2006 18:21:16)
Hors ligne
C'est rassurant
En plus j'aurais à Noël la même carte graphique que toi, si ça me permet de passer outre ce problème c'est une très bonne nouvelle.
Le perso n'est pas texturé, c'est normal. Les collisions sont sur OFF, c'est normal aussi.
En effet Irrlicht charge nativement les DMF, mais je me suis permis de modifier l'importer pour qu'il gère la transparence des matériaux ('modulate' et 'alphablending'), et je vais surement le modifier encore pour qu'il reconnaisse l'eau et ne la compte pas dans les collisions.
Merci d'avoir testé
Hors ligne
ca marche tout comme Ravine, sur pentium 1,7 Ghz et ATI X 600 SE
Hors ligne
tiens, question (quand meme) : compte tu redistribuer le code modifié de l'importer ?
Ravine, interessé du coup... (PS : je reviens de ton blog. attends toi a ce que je te harcele)
Hors ligne
Lorsque j'aurais finit tout ce que j'ai à y faire, pourquoi pas.
Mais là je risque de revoir pas mal de trucs, j'ai envie qu'il gère les tags dans les noms pour permettre une interaction plus facile avec les décors (ex: le préfixe echelle_ sur une surface rendra cet élément grimpable dans le jeu).
Ca va nécessiter pas mal de déménagements, et du temps aussi.
Mais je ne manquerais pas de fournir les sources du loader au final^^
Hors ligne
J'ai changé de carte graphique au profit d'une GeForce 7600, et ça résout le problème
Merci pour votre aide
Hors ligne
Tiens, a l'occaze, si je suis bien chaud, je me reinstallerai ma Ti4200 pour tester, histoire de voir si ça vient de la carte en question. Ce probleme d'incompatibilité ne te genera pas en terme "d'audience" ou tu penses que c'est un risque a courir de se couper d'une partie du parc informatique ?
Hors ligne
Le problème n'est pas très gênant dans la mesure ou déplacer la fenêtre au lancement du programme le résout, et qu'il n'apparait pas en plein écran.
Et je ne suis toujours pas convaincu que ça vienne exclusivement de ma carte, puisque je faisais avec pendant très longtemps sans problèmes. Surement une mauvaise combinaison entre la version d'XP, les drivers de la CG et les dernières version d'Irrlicht.
De plus la 4200 commence à perdre sérieusement du terrain, et la plupart du public visé (donc des développeurs de jeux qui auront entendu parler du projet) est équipé d'une CG récente.
D'ailleurs le jeu utilisera les shaders, si j'arrive à les utiliser correctement
Hors ligne
tiens, je profite d'apres les vacances et de mes rentrées d'argent pour fureter les features des world builders dispos.. DeleD est ma foi fort sympathique, mais en lisant un des tutos du site, il est précisé qu'il ne gere pas le flagging d'objets. Ayant bossé un (court) temps sur WorldCraft du temps de Half Life, le flagging des objets en porte / climbable / autres etait tres appréciable.
* De ton expérience a toi sur ce produit, qu'en est il reelement ?
* Comment fonctionne ton importeur de .dmf ? (total noob en la matiere, le plus d'info possible serait l'ideal )
je continue a suivre ton devblog avec interet en tout cas.
Dernière modification par Ravine (11-01-2007 00:26:07)
Hors ligne
C'est normal que DeleD ne propose pas ces fonctions, c'est un éditeur généraliste, il n'est pas fait pour un jeu particulier au contraire de WorldCraft. La façon de gérer les objets est propre à chaque jeu, un éditeur non spécifique ne peut donc pas le faire.
* De ton expérience a toi sur ce produit, qu'en est il reelement ?
DeleD est vraiment excellent. Et pourtant je n'utilise que la version Lite. J'ai pas mal de raisons de le favoriser à Valve Hammer (WorldCraft) ou GTK Radiant (et tous les dérivés), le fait qu'il soit léger, non spécifique à un jeu (en l'occurrence Half-Life ou Quake), que l'on puisse ajouter des textures facilement (ce qui n'est pas vraiment le cas avec VH et les Radiant ), de plus il importe/exporte des objets *.3DS et *.X, et son format '*.dmf' est un fichier ASCII très simple à décoder.
Et il ne m'embête pas avec les 'leak' (les maps peuvent être 'ouvertes') ^^.
Même si c'est vrai qu'il manque certaines fonctions comme une gestion plus poussée des UV, il me convient parfaitement.
* Comment fonctionne ton importeur de .dmf ? (total noob en la matiere, le plus d'info possible serait l'ideal smile )
J'ai repris celui de base d'Irrlicht, mais j'ai fait en sorte qu'il sépare les objets avec un tag dans des SceneNode différents.
Exemple :
L'objet 'water_rectangle1' est un plan texturé avec de l'eau dans l'éditeur et 'rectangle2' est l'herbe à côté.
'rectangle2' ne comporte aucun tag ("xxx_"), son mesh buffer sera donc ajouté au Node classique.
Par contre 'water_rectangle1' porte le tag 'water_', il ira dans le Node 'water'.
En récupérant ces nodes je peux les gérer différemment les uns des autres. En l'occurrence, ne je gère pas les collisions pour le node 'water' et je lui applique un shader.
J'ai prévu de l'améliorer encore pour qu'ils sépare les objets de façon plus générale, pas seulement pour le tag 'water_'.
Hors ligne