Lumiere et eau

Signaler
Messages postés
241
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
-
Galmiza
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008
-
salut
je suis en train d'essayer de faire une piscine avec openGL. mais j'ai rencontré plusieurs pb.

pour commencer j'ai fait un plongeoir sur la piscine (en haut) qui trempe a moitier dans l'eau d'ou le pb. si je fais glDepthMask(true) à l'affichage de l'eau alors elle sera opaque et on ne vera pas la moitier imergé du plongeoir et si je fais glDepthMask(true) alors la il me met le plongeoir sur l'eau.
je voudrais savoir comment je pourrai donner l'effet que le plongeoir est sous l'eau ?

j'ai également rencontré un pb quand j'ai voulu rajouter de l'éclairage. j'ai mis des dalles autours de la piscine et il y a un endroit dans l'arrondi ou il n'y a pas de dégrader de lumière, je sais pas pourquoi ? pourtant les normal sont toutes dans le même sens

merci

13 réponses

Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
Pourquoi tu veux bidouiller le glDepthMask, si tu mets ton eau en
transparence, il n'ay aura pas de problème. Bien sur, l'eau doit etre
la dernière chose que tu affiches.
Messages postés
241
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
16 juin 2010

ouai mais sa donne pas un effet de flou ?
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008

Lol, tu veux une fonction eau() quoi, avec comme parametres l`indice de refraction de l`eau, sa temperature, le taux de chlore ...

Pour l`effet flou ou les vaguelettes qui ondulent a sa surface, il faut modifier les pixels shaders.

15482 luhtor a raison. Utilise la transparence, c`est 10 fois moins beau, ok, mais 100 fois plus facile. 100/10 =10 fois mieux quoi .
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008

mat74, on ne voit pas ton image car elle est sur ton disque dur et pas sur le net.
Desole je n`avais pas vu le point d`interrogation a la fin de ton deuxieme post.
Sinon, non ca ne donne pas d`effet flou. Un effet flou est long et complique a creer.
Messages postés
241
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
16 juin 2010

bon vais faire comme le proposais Luthor parce que les pixels shader sa me dis rien .
Messages postés
52
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
25 octobre 2005

pour le flou, je suis pas sur, mais je pense que tu peux utiliser glFog
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008

fog, c`est brouillard en anglais. Pour un brouillard "typique", plus les pixels de l`ecran correspondent a un point 3D loin de la camera, plus leur couleur se fondent avec la couleur du brouillard.

Le flou est different et beaucoup plus gourmand.
Tres image: flou ~ 1 pixel de l`ecran est le melange des pixels qui l`entourent.
Donc plusieurs passes de rendus sont necessaires => plus complique.
Messages postés
52
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
25 octobre 2005

hum alors on peut peut etre simplement appliqué le flou a la sorface de l'eau si la camera est en dehors de l'eau.

et si la caméra est dans l'eau, rendre flou seulement la partie proche de la caméra.

cette distance est celle fourni en paramètre à gluPerspective
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008

mat74 said "les pixels shader sa me dis rien"
traduction "les pixels shaders ne me disent rien"

Donc c`est mort pour le flou.... a moins qu`openGL ait une fonction "flou".
Messages postés
52
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
25 octobre 2005

ne pourrait-il pas passer par une texture moins transparente?

ou bien même modifier aléatoirement la transparence de chacun des pixel de la texture avant de l'appliquée

pixel shading j'y connais rien non plus, j'avais bloqué la dessus quand
j'étudiait directX avant de me dire que directX c'est une grosse prise
de tete non portable
Messages postés
241
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
16 juin 2010

en fait moi je verrais plutôt le flou appliquer à l'objet imergé (il n'est pas bien grand)

sinon es-ce que qq1 sait ou je pourrais trouver un tutos sur le pixels shader ?
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008

http://www.codesampler.com/dx9src/dx9src_9.htm
(exemple 3,4,5 pour openGL)

http://deptinfo.cnam.fr/Enseignement/CycleSpecialisation/CAM/sicam6.pdf
(francais)

http://www.flipcode.com/articles/article_ps20tut.shtml
http://www.gamedev.net/reference/list.asp?categoryid=40#208
(moins biens)

1ere etape : etre capable d`implanter un shaders dans ton programme.
Ensuite tu pourras trainer sur le site d`ATI pour en savoir plus.

Je me souviens de bons tutoriaux sur les shaders mais je n`ai plus le nom en tete. Je les avais grave. Donc des que je suis chez moi (le 20) je te donne le nom.
Mais c`etait peut-etre exclusivement DX...

C`est peut-etre flipcode mais apparement, je ne les retrouve plus.
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008

Plutot ici pour opengl
http://www.codesampler.com/oglsrc.htm