Rendu de plusieurs "plans d'eau" non aligné en OpenGL - Divers - Programmation
Marsh Posté le 12-08-2012 à 00:14:23
Salut,
Tu pourrais éventuellement ne rendre les réflexions que sur la surface de tes cubes d'eau. Auquel cas il te faudra rendre ta scène une fois pour chaque plan horizontal d'eau, ce qui peut être tout de même couteux...
L'avantage de cette méthode (rendu symétrique & stencil test), c'est que tu as des reflets dynamiques, par contre tu ne peux pas déformer les reflets avec l'ondulation de l'eau.
Du coup je te proposerai plutôt une solution simple et cheap, des reflets dans une cubemap statique. Forcément c'est statique, mais ca rend très bien avec l'ondulation de l'eau.
Marsh Posté le 12-08-2012 à 14:19:36
Regarde du côté du GLSL, tu devrais trouver chaussure à ton cube
Marsh Posté le 06-08-2012 à 23:10:53
Bonjour,
Je développe depuis quelques mois maintenant un petit jeu vidéo appelé Build&Defend (http://buildanddefend.com/).
Dans ce jeu, le monde est composé de blocs -- comme dans le jeu minecraft.
Chaque bloc à un type associé: terre, sable, vide, eau, pierre, etc.
Pour l'instant, le rendu est relativement simple.
Vous pouvez vous faire une idée avec cette capture d'écran suivante:
Pour l'instant, les blocs d'eau sont rendu avec une simple texture animé.
Ce que j'aimerais faire maintenant, serait de pouvoir d'ajouter aux cubes d'eau des effet de réflexion/réfraction (+l'ondulation).
J'ai appris l'opengl il y a assez long temps, et la techniques que j'ai toujours utiliser pour rendre de l'eau (ou des miroirs dayeur) est de considéré un "plan "d'eau", et de rendre la scène deux fois par rapport à ce plan(une fois normalement, et une fois avec un symétrie planaire par rapport au plan d'eau).
Mon problème est le suivant.
Comme il y a plusieurs blocs d'eau, il y à aussi plusieurs "plans" de réflexion pour l'eau (jusqu'à 6 par cubes).
La technique du miroir ne marche donc plus.
Est-ce-qu'il y aurait parmi vous des gens qui connaissent l'openGL moderne et qui aurait une idée pour résoudre ce problème (que j'espère avoir plus ou moins correctement expliqué).
Merci beaucoup par avance.