Lumiere et eau

cs_mat74 Messages postés 241 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 16 juin 2010 - 16 août 2005 à 15:54
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 - 18 août 2005 à 19:27
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

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
16 août 2005 à 16:14
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.
0
cs_mat74 Messages postés 241 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 16 juin 2010
16 août 2005 à 16:30
ouai mais sa donne pas un effet de flou ?
0
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
16 août 2005 à 16:37
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 .
0
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
16 août 2005 à 18:58
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_mat74 Messages postés 241 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 16 juin 2010
16 août 2005 à 20:01
bon vais faire comme le proposais Luthor parce que les pixels shader sa me dis rien .
0
cs_keil Messages postés 52 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 25 octobre 2005
17 août 2005 à 10:17
pour le flou, je suis pas sur, mais je pense que tu peux utiliser glFog
0
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
17 août 2005 à 12:14
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.
0
cs_keil Messages postés 52 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 25 octobre 2005
17 août 2005 à 16:22
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
0
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
17 août 2005 à 16:39
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".
0
cs_keil Messages postés 52 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 25 octobre 2005
17 août 2005 à 17:05
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
0
cs_mat74 Messages postés 241 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 16 juin 2010
17 août 2005 à 17:08
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 ?
0
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
18 août 2005 à 19:25
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.
0
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
18 août 2005 à 19:27
Plutot ici pour opengl
http://www.codesampler.com/oglsrc.htm
0
Rejoignez-nous