#0 

25-09-2006 11:46:07

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Salut tlm,
Je bosse en se moment sur un simili effet de glow.
C'est pas encore finalisé, mais j'arrive à quelque chose de choérent et vu que je suis un impatient, je ne peux m'empêcher de poster ça ici big_smile

Voici sans plus attendre mes premiers résultats :



Donc pour préciser, je n'utilise pas le Blend Mode ADD que tout le monde connais.
Je suis parti sur cette technique au départ mais ça ne fonctionnait pas bien.
Donc j'utilise ici pour mon rendu le vertex Alpha et ça marche du tonnerre sous irrlicht big_smile.
A priori, je devrais m'en sortir sans shader big_smile.

Voilou à très bientôt smile.


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#1 

25-09-2006 12:54:42

izguit
Administrateur
Lieu: 127.0.0.1
Date d'inscription: 14-09-2006
Messages: 306
Site web

ca rend pas mal du tout, on attend une démo smile


Athlon 64 3000+ // 1Go RAM // Geforce 6600GT 128Mo
Turion 64 X2 // 1Go RAM // ATI X1250

Hors ligne


#2 

25-09-2006 17:17:42

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Bon le précédent screen n'étant pas totalement finalisé, j'ai enfin réussi à avoir un glow moins saturé, moins baveux et surtout optimisé (suffit de regarder le fps).
Il est moins violent, mais beaucoup plus jolie je trouve.
un screen parle plus :


Promis dès que j'ai résolu tous les bugs que j'ai en opengl je poste une démo smile.

Hésitez pas à le regarder directement sur une nouvelle page web car depuis le site, l'image parrait toute pas belle à cause de sa grande taille.


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#3 

25-09-2006 18:18:03

kedu
Modérateur
Date d'inscription: 23-09-2006
Messages: 155

C'est vraiment remarquable !! Je comprends mieux pourquoi tu tenais absolument à bénéficier de ce type de rendu ;-)

En un mot : bravo !

Hors ligne


#4 

25-09-2006 18:51:47

Aranoth
Abonné
Lieu: Toulouse
Date d'inscription: 25-09-2006
Messages: 242
Site web

Superbe !!

Ca fait longtemps que je cherche un moyen d'ajouter un effet glow à ma scène sans passer par les shaders (ma geForce 4200 veut même pas en entendre parler...).

Ca marche bien en OpenGL ?

Hors ligne


#5 

25-09-2006 19:54:11

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Salut Aranoth,
Le glow semble fonctionner nettement plus rapidement en Directx9 qu'en openGL mais sinon il fonctionne sur les deux.
J'utilise un Render To Texture et une camera Style FPS.
Je pense que la rapidité du glow est surtout dû à la rapidité de irrlicht à calculer le render to texture en opengl...
Pour te donner une idée de la chose sur la même scene de test :
DirectX9 = 350 FPS
OpenGL = 48 FPS
Voilou en attendant, je vais essayer de mettre tout ça dans quelque chose de facilement réutilisable.

Au fait, t'a trouvé le site par quel moyen (liens,amis,moteur de recherche)?


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#6 

25-09-2006 22:11:31

Aranoth
Abonné
Lieu: Toulouse
Date d'inscription: 25-09-2006
Messages: 242
Site web

Ah ouais en effet, 48 fps c'est hard pour un programme qui tourne "à vide"

Sinon j'ai trouvé le site via l'annonce sur le GCN

Hors ligne


#7 

25-09-2006 23:16:04

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Faut que je regarde une simple scene sans mon systeme de glow mais avec un render to texture en opengl voir si ça rame pareil sur mon pc mais à mon avis ça vient pas de mon code...

[EDIT]
J'arrivai pas à dormir, cette question me turlupiné...
Alors après essai, sur le code fourni dans le sdk 13.RenderToTexture voici les résultats :
DirectX9 = 790 fps
OpenGL = 70 fps

Il me parrait donc incontestable que l'opengl est énormément moins rapide concernant les render to texture.

[EDIT2]
Se qui fait ramer le render to texture c'est une trop grande taille de la texture en question.
il faut pas dépasser les 256*256 sinon le résultat au niveau fps est catastrophique.
256*256 pour un effet de glow ça marche encore à peu pret bien donc ça nous remmene à
DirectX9 = 350 fps
OpenGL = 145 fps

[EDIT3]
Je viens de le faire tester à plusieurs copains pour voir alors voici les résultats :
pour le premier pote :
DX9 = 235 FPS
OpenGL = 215 FPS

pour le deuxième pote :
DX9 = 600 FPS
OpenGL = 600 FPS

A priori ma Geforce 7600 GS aime pas l'openGL je suis dégouté ^^.

ça parrait desuite un peu plus utilisable smile.
@++


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#8 

26-09-2006 18:56:14

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Aller un pti dernier screenshot pour faire patienter la démo smile.


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#9 

26-09-2006 18:59:29

izguit
Administrateur
Lieu: 127.0.0.1
Date d'inscription: 14-09-2006
Messages: 306
Site web

mouais bizarre pour l'openGL, chez moi c'est beaucoup plus rapide avec (intel 845G)
sinon le screenshot rend bien, à voir sur un chip de merde smile


Athlon 64 3000+ // 1Go RAM // Geforce 6600GT 128Mo
Turion 64 X2 // 1Go RAM // ATI X1250

Hors ligne


#10 

26-09-2006 19:08:55

Aranoth
Abonné
Lieu: Toulouse
Date d'inscription: 25-09-2006
Messages: 242
Site web

Ah, ça me rassure ^^
Je trouve qu'un leger glow (pas trop non plus) embellis les scènes et cache quelques défauts.

J'attend la démo avec impatience wink

Hors ligne


#11 

27-09-2006 21:49:03

DeusXL
Abonné
Lieu: Paris
Date d'inscription: 27-09-2006
Messages: 174

Très joli effet, j'aimerais bien voir ça de plus près smile On dirait presque un HDR le dernier effet wink

Pour ce qui est de ton problème avec OpenGL, il faut prendre en compte la quantité de problèmes que présente le render to texture avec Irrlicht (sauf à savoir bien utiliser la dernière SVN d'Irrlicht il me semble). Après bien sûr tu peux avoir des problèmes avec telle carte graphique et telle config, ça on sait jamais... Ca peut dépendre de ta version des pilotes et de tout en réalité.


Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.

Hors ligne


#12 

28-09-2006 09:23:13

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Salut et bienvenu,
J'ai testé avec plusieurs drivers mais le problème semble similaire.
Sinon dans l'ensemble ça fonctionne pas trop mal.
Je bosse actuellement sur une mini démo, dès qu'elle est prête je vous la metrrai que vous puissiez l'essayer et me donner votre opinion.
A très bientôt.


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#13 

28-09-2006 11:59:23

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Je vous laisse une micro démo,
Rien de très spectaculaire graphiquement, mais ça vous permettra de vous faire une idée.
http://www.tv3dfr.com/irrlicht/Demo.rar


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#14 

28-09-2006 12:57:37

izguit
Administrateur
Lieu: 127.0.0.1
Date d'inscription: 14-09-2006
Messages: 306
Site web

J'aime bien smile
Freeze total en openGL (obligé de reboot, huh?)
13fps en DirectX 9
sur celeron 2.4Ghz / 768DDR / chip intel 845G
vivement la 6600 smile


Athlon 64 3000+ // 1Go RAM // Geforce 6600GT 128Mo
Turion 64 X2 // 1Go RAM // ATI X1250

Hors ligne


#15 

28-09-2006 13:29:03

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Pauvre pc forcément avec un chipset tu lui balance ça il a pas dû aimer big_smile
J'ai mis la possibilité de ne pas activer le Glow au départ, exprès pour que vous vous rendiez bien compte de la différence.
J'ai aussi réuploader la démo, car y'avait un bug de clipping en directx9 sur le moteur, j'ai dû corriger et le recompiler.


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#16 

28-09-2006 19:52:11

Aranoth
Abonné
Lieu: Toulouse
Date d'inscription: 25-09-2006
Messages: 242
Site web

Très joli rendu

Lorsque je regarde le Nain et l'arbre :
DirectX9 : 27fps
OpenGL : 20fps

avec athlon 2Ghz / 1Go DDR / geForce 4200


PS : le modèle de l'arbre est libre ? ça fait longtemps que j'en cherche un bien sans trouver...

Hors ligne


#17 

28-09-2006 19:56:21

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Pour l'arbre je me doutais qu'on allait me demander si il était libre...Biensûr il n'y a pas de problème smile.
Bon j'essai encore de trouver une autre méthode pour le rendu du Glow voir si y'a moyen de gagner en fps.Je vous tiendrai au courant ^^.


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#18 

28-09-2006 21:12:29

DeusXL
Abonné
Lieu: Paris
Date d'inscription: 27-09-2006
Messages: 174

Bon alors j'ai testé avec dx9wine sur mon Ubuntu :
-DirectX9 plante (normal, wine émule pas trop bien Irrlicht via DirectX)
-OpenGL tourne à 40 fps c'est vraiment splendide smile

J'attends impatiemment une release (du code source ? big_smile) finale pour voir ce que ça fait.


Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.

Hors ligne


#19 

28-09-2006 22:28:03

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Oui promis pour le code source il sera très bientôt dispo. Par contre je l'ai fait en Cpp et j'apprends le C++ donc y risque d'y avoir des corrections à faire, mais je laisserai ça au pro smile.En espérant aussi avoir des retour avec amélioration du code ça serai sympa.
Bon j'y retourne que je m'éclate vraiment sur se moteur !


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#20 

29-09-2006 12:52:35

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Hello,
J'ai passé une bonne partie de la nuit à chercher comment afficher mon effet de glow sur tout type de camera mais y'a pas moyen de récupérer la rotation d'une Camera ordinaire ou d'une camera maya ....Donc il sera compatible que sur les camera FPS.
Si quelqu'un à la solution pour récup la rotation de camera je suis preneur ^^.
@++


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#21 

29-09-2006 15:49:36

minirop
Membre
Date d'inscription: 24-09-2006
Messages: 15
Site web

ATI radeon series 9200 et  amd 2Ghz

regarder arbre + nain :
DX :
avec glow : 38
sans glow : 72
OGL :
avec glow : 37
sans glow : 65

regarder par terre :
DX :
avec glow : 47
sans glow : 130
OGL :
avec glow : 41
sans glow : 95

joli wink

Dernière modification par minirop (29-09-2006 15:50:10)

Hors ligne


#22 

29-09-2006 16:31:15

Aranoth
Abonné
Lieu: Toulouse
Date d'inscription: 25-09-2006
Messages: 242
Site web

Copland :

Hello,
J'ai passé une bonne partie de la nuit à chercher comment afficher mon effet de glow sur tout type de camera mais y'a pas moyen de récupérer la rotation d'une Camera ordinaire ou d'une camera maya ....Donc il sera compatible que sur les camera FPS.
Si quelqu'un à la solution pour récup la rotation de camera je suis preneur ^^.
@++


Je vois pas pourquoi ce serait différent avec des caméras FPS/Maya/ordinaires
Ce sont toutes des ICameraSceneNode

Qu'entends tu par rotation de la caméra ?

Camera->getRotation()

ou

Camera->getAbsoluteTransformation().getRotationDegrees() // rotation absolue
Camera->getRelativeTransformation().getRotationDegrees() // rotation relative

Hors ligne


#23 

29-09-2006 18:59:05

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

Hehe bein essaye un GetRotation sur une Camera ordinaire ou une camera Maya tu verras de quoi je parle :p.
Ca renvoi tout le temps 0,0,0 .... car il ne déplace la caméra que par position et target ....
Si t'a une solution fonctionnelle, te prive pas pour me la donner hein big_smile.


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#24 

29-09-2006 19:33:10

DeusXL
Abonné
Lieu: Paris
Date d'inscription: 27-09-2006
Messages: 174

Bien le bonjour, essaye ça :

Code:

core::vector3df getTargetAngle( core::vector3df v, core::vector3df r) {
         //v -current node position
         //r -target node position
         //Note : c'est des formules assez lourdes en terme de calcul, donc il faudrait optimiser selon tes besoins
         core::vector3df angle;
         float x,y,z;
         x = r.X - v.X;
         y = r.Y - v.Y;
         z = r.Z - v.Z;

         //angle in X-Z plane
         angle.Y = atan2 (x, z);
         angle.Y *= (180 / 3.14); //converting from rad to degrees

         //just making sure angle is somewhere between 0-360 degrees
         if(angle.Y < 0) angle.Y += 360;
         if(angle.Y >= 360) angle.Y -= 360;

         //angle in Y-Z plane while Z and X axes are already rotated around Y
         float z1 = sqrt(x*x + z*z);

         angle.X = atan2 (z1, y);
         angle.X *= (180 / 3.14); //converting from rad to degrees
         angle.X -= 90;

         //just making sure angle is somewhere between 0-360 degrees
         if(angle.X < 0) angle.X += 360;
         if(angle.X >= 360) angle.X -= 360;
         //note : ces deux lignes devraient être remplacées par angle.X = angle.X % 360 à mon avis... C'est plus rapide et plus sûr...
         return angle;
      }

Et quelque part dans ton code :

Code:

vector3df rotation = getTargetAngle(camera->getPosition(), camera->getTarget() + camera->getPosition());

Ca devrait fonctionner, bien sûr c'est à optimiser mais c'est déjà pas trop mal comme ça.

Dernière modification par DeusXL (29-09-2006 19:35:57)


Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
120 invités en ligne
Aucun membre connecté
RSS Feed