Coucou à tous,
A l'aide des FBO je cherche à faire de la réflexion/réfraction + GLSL (pour un plan d'eau).
J'utilise donc si je puis dire 3 FBO différents :
- un pour générer une texture réflexion
- un autre pour générer une texture réfraction
- et le dernière qui est en fait le "FBO" de rendu standard "On screen" de ma scène + surface de l'eau avec placage des textures refraction/reflection (+ bump mapping/mouvement de l'eau par GLSL).
Ce procédé m'emmène à redessine plusieurs fois quasiment la même scène (3 fois pour être exacte, un par FBO).
En gros en PSEUDO code ça donne :
Voilà en gros l'idée, comme vous pouvez le voir je dessine 3 fois ma scène à l'aide de la fonction "dessine_ma_scene()" pour chacun des 3 FBOs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 void reflexion() { active_FBO_REFLECTION(); glScalef(1,-1,1); glClipPlane(GL_CLIP_PLANE0, equation_du_plan ); dessine_ma_scene(); generation_texture_reflexion(); } void refraction() { active_FBO_REFLEXION(); glClipPlane(GL_CLIP_PLANE0, equation_du_plan ); dessine_ma_scene(); generation_texture_refraction(); } void scene_final_avec_reflection_refraction() { active_FBO_STANDARD(); dessine_ma_scene(); affichage_plan_deau_avec_refraction_reflexion_GLSL(); }
Ce que j'aimerais savoir c'est si je peux par exemple créer au départs 1 FBO différents ou je calcule une fois pour toute ma scène et après je me sers uniquement de ce FBO pour faire mes quelque transformation scalef et plan de clipping sans recalculer l'ensemble de la scène 3 fois.
Je doute que ce soit possible car, en faite si j'ai bien compris les FBO sont déjà rasterisés (c'est des buffers images) donc un scalef ou un plan de clipping n'a aucun sens vu qu'il ne contient plus les objets 3D de la scène.
Des "buffers 3D" qui contiennent toujours une information géométrique et spatial des objets ça existerait pas par hasard ? Par ce que l'idée serait, pour les 3 FBO, d'utiliser ce buffer 3D "constant" sur lequel j'applique les différents scalef, et plan de clipping que je recopie dans chacun des FBOs.
Si quelqu'un a une idée, je suis preneur.
Partager