Bonjour,
Je viens de découvrir les geometry shaders (GLSL) et j'aimerais faire ceci:
* C++: appeler OpenGL pour afficher un triangle
* Vertex shader: transformer ce triangle par une matrix de view & projection
* Geometry shader: dupliquer trois fois mon triangle et appliquer une matrice de scale différente à chaque itération
* Pixel shader: rendre les trois triangles dans une "depth texture" (FBO) différente.
J'ai pensé à deux solutions mais aucune ne fonctionne:
- Créer un FBO avec deux depth textures. Apparement, c'est impossible pcq on peut en attacher qu'une seule: GL_DEPTH_ATTACHMENT contrairement aux color textures où on peut en avoir plusieurs (GL_COLOR_ATTACHMENT[0-15])
- Créer deux FBO avec un depth texture chacun. Si je ne dit pas de bêtise: je ne peux pas faire deux "glBindFramebuffer" avant d'afficher mon triangle.
Que faut-il faire ?
Merci d'avance.
Partager