Comme je n'aimais pas beaucoup la Water scene node d'Irrlicht (trop lente et franchement plus à jour, maintenant dans ce domaine, les shaders dominent) j'ai recodé une scene node pour mon wrapper, voici un exemple tournant sur Ubuntu :
Je sais que c'est pas directement Irrlicht mais comme j'aimais bien le screen...
PS pour ceux qui voudraient aider à la finir ou la tester (j'ai mis un lien) :
http://irrlicht.sourceforge.net/phpBB2/ … hp?t=16079
Dernière modification par DeusXL (04-10-2006 19:50:06)
Hors ligne
parfait
ca rend niquel me tarde de tester !
Hors ligne
Terrible .
Fonctionnel à 100% directx et opengl ?
Hors ligne
Pour l'instant j'ai juste codé le shader OpenGL (GLSL) mais le convertir en HLSL serait une blague pour un connaisseur (je n'en suis hélas pas un, d'autant plus que DirectX sous Linux... :p)
Hors ligne
erf dommage, voilà pourquoi j'aime pas les shaders, c'est chiant pour avoir un prog compatible linux OGL et windows DX .....
Sinon ça bug un peu niveau terrain chez moi, ça donne l'impression qu'il prend 2 terrains pour le calcul du shader.As-tu le même problème ?
Hors ligne
En fait j'ai un problème (que j'ai posté sur le forum d'Irrlicht) c'est que le Render Target prend en compte toute la scène alors qu'il devrait se contenter de ce qu'il y a au dessus du niveau de l'eau.
Voilà pourquoi parfois ça bug un peu (un peu beaucoup)
Sinon on peut le faire sans shader, mais la lourdeur d'un calcul qui forcerait à locker une texture qui l'a déjà été et à calculer en fonction de la matrice ViewProj le résultat... Tout ça serait vraiment lourd pour un résultat pas probant... Il suffit de comparer cette scene node qui est aussi rapide que celle de Niko alors qu'elle fait une rendering pass en plus... Cette rapidité ne s'explique que par le fait que c'est un shader. Maintenant je suis d'accord qu'être forcé à tout recoder sur DirectX et OpenGL c'est soulant mais face aux capacités qu'offre le GLSL (que je trouve plus propre que l'HLSL), je trouve le problème minime (surtout que le GLSL marche vraiment partout maintenant).
Enfin personellement j'ai fait le choix pour mon prochain projet de ne le programmer qu'en OpenGL... On verra bien si j'ai raison (ID Software l'utilise bien après tout )
Dernière modification par DeusXL (04-10-2006 20:40:28)
Hors ligne
Hehe n'y vois aucune critique concernant la compatibilité OGl et DX,c'est juste que j'aime bien essayer d'avoir les deux mais je conçois tout à fait que tu ais fait le choix d'ogl qui est à mon avis le meilleur niveau qualité/rapidité et surtout compatibilité linux windows .
Bon courage pour la suite, car c'est une première sous irrlicht et c'est déjà énorme.Ca prouve que la communauté autour de se moteur se bouge et ça fait vraiment plaisir.
@++
Hors ligne
Hélas hélas... ma carte graphique est allergique aux shaders... -_-
Faut que j'en change un de ces 4, les shaders sont vraiment trop prometteurs pour passer à côté.
Toutefois, la screenshot est vraiment magnifique, beau boulot !
Hors ligne
Pour ceux que ça intéresse, j'ai fini hier toute la scene node et je l'ai mise sur le SVN.
Si vous voulez voir une démo, regardez ça :
http://deusxl.free.fr/Water%20Demo.zip
Allez, plus que quelques scene nodes (dont celle de Copland) et je distribuerai le SDK de la 0.6 !!
Hors ligne
Excellent ! Félicitations !
Pour mon Code, as-tu reçu mon mail ?
J'ai modifié le positionnement des quads dans les fonction "create" parceque dans mon ancien code c'était un peu n'importe quoi et ça prenais pas le FOV en compte .
Sinon il faudrai quand même trouver une méthode pour que les quads reste à la bonne position sur tout les camera scene node mais j'ai pas encore réussi....
Hors ligne
J'ai reçu ton mail en effet.
Mis à part ça je me demande si tu ne ferais pas mieux de regarder la source de la billboard scene node d'Irrlicht (CBillboardSceneNode.cpp) parce que ça t'aiderai sûrement.
De mon côté je vais essayer de retrouver la formule mais je suis prêt à parier que tu le trouveras là bas.
Hors ligne
Hello,
Non la source du BilboardSceneNode ne m'avance guerre car il utilise également un GetTargetAngle qui ne renvoi pas l'angle en Z et d'ailleurs beaucoup on demandé si y'avait moyen de le faire fonctionner dans tout les angles mais à priori personne n'a donner de réponse sur le forum officiel.
Sinon toi qui est sous Ubuntu, je viens de tester la compil de la version SVN dessus, et je suis assez surpris car mon fichier Irrlicht.a pèse 22.7MO, sais-tu de quoi ça peut venir ?
Hors ligne
C'est comme ça c'est comme ça
Moi aussi le fichier de liaison dynamique est énorme (pareil pour la taille) et bien je crois que c'est normal... Je ne suis pas assez un spécialiste de la programmation native sur linux pour te dire pourquoi en fait. (je vais vous en raconter une drôle... je suis spécialiste de C++@Windows et C#@Linux... si ça c'est pas le monde à l'envers !)
Hors ligne
C'est assez étrange car j'avais l'habitude à avoir un fichier d'environ 5.8MO mais bon ça marche impeccable alors je me plaindrai pas .
Et heu ... en fait tu programmes à l'envers lol.
Je préfère très nettement l'inverse....C++ sous linux et C# sous windows.
Par contre j'ai installé la plateforme mono mais j'ai pas encore eu le temps de m'y mettre.
Mais tout ça m'a l'air bien sympa.
@+
Hors ligne
La démo de DeusXL fonctionne chez toi Copland ? Moi rien à faire ; aucun message d'erreur l'écran devient noir puis l'appli se ferme.
Dommage j'aurais bien voulu voir ce WaterSceneNode à l'oeuvre !
(test effectué avec WindowsXP - Nvidia Ti4200)
Hors ligne
Hello
TI4200 je sais pas si elle supporte les shaders faut vérifier ......
Hors ligne
j'ai une Ti4200 et je confirme : oubliez les shaders
elle supporte que les shaders bas niveaux (donc exit HLSL ou GLSL)
Hors ligne
Aïe merci messieurs les fabriquants de cartes graphiques !! :-(
Mais j'ai pu tester la démo sur un autre pc et c'est vraiment super !! Bravo ;-)
Hors ligne
euh question con je viens d'installer mono comment je fais pour lancer l'exe?
Hors ligne
Déjà tu navigues avec un terminal vers le dossier où tu as l'exe.
Puis tu fais "mono <nom de l'exécutable>.exe"
Hors ligne
Yop,
pitetre une question bête ( pas encoe maté le code, j'attends l'ADSL, la je suis en 33kbps, donc ca attendra quelques jours ), mais tu l'as programmé en .net c'est cela ? On peut immaginer une petite migration C++ de ton système ?
Hors ligne
Oui, sans problème la migration, le code est vraiment simplissime. tu pourras le trouver là en C# :
http://svn.sourceforge.net/viewvc/irrli … iew=markup
(la traduction en C++ n'est pas du tout difficile si on connaît un minimum le C#)
Hors ligne
Autre tite question : les namespaces sont très utilisées dans irrlicht et ses modules, je remarque que tu les utilise également : mais ne s'agit-il pas plus d'une habitude que d'une nécessité ? je trouve que cela alourdit le code quand meme.
Hors ligne
C'est drôle que tu dises ça quand on sait que j'ai retiré toute notion de namespace dans mon wrapper.
Il en existe trois : IrrlichtNETCP (pour tout), IrrlichtNETCP.Inheritable (pour les Custom scene Nodes et autres), IrrlichtNETCP.Extensions (le nom en dit long).
J'ai été forcé d'en mettre car le C# exige le placement dans un namespace (on quitte la POO pour arriver dans la PO) et dans une classe.
Maintenant, NON les namespace n'alourdissent pas le code d'Irrlicht mais à mon avis, dans le cas d'Irrlicht .NET c'est vraiment la dernière des nécessités (comme si on risquait de se perdre dans les fonctionnalités).
Hors ligne
Dsl, je ne connais pas trop le Csharp encore donc ca je ne peux pas juger de ce qui es et ce qui n'est pas nécessaire dnas ce langage, faudrait que je bouquine un petit tuto dessus.
Hors ligne