[FBO] shader et depth buffer
Hello,
J'ai un FBO qui est attaché à une texture depth buffer:
Code:
1 2 3 4 5 6 7
| glBindFramebuffer(GL_FRAMEBUFFER, fboIDs[FBO_SHADOW]);
glBindTexture(GL_TEXTURE_2D, textureIDs[TEX_SHADOW_DEPTH]);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexImage2D( GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, width, height, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, 0);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, textureIDs[TEX_SHADOW_DEPTH], 0); |
J'aimerais écrire dans ce depth buffer: qu'est ce que je dois mettre comme code source dans mon fragment shader ? Petit précision: je suis en OpenGL 3.3.
J'ai essayer d'attaché une texture diffuse à mon shader (GL_COLOR_ATTACHMENT0) et écrire dedans avec cette ligne dans mon fragment shader:
Code:
1 2 3 4 5 6 7 8 9 10
| #version 330
in vec2 textCoordinates;
uniform sampler2D diffuseTex;
layout (location = 0) out vec4 fragColor;
void main()
{
fragColor = texture2D(diffuseTex, textCoordinates);
} |
Dans ce cas, mon depth buffer est correctement remplit...mais bon c'est pas top comme solution d'ajouter une texture diffuse pour écrire dans le depth buffer !
Comment écrire dans le depth buffer sans diffuse textures ?
J'ai essayer de ne rien mettre comme code source dans mon fragment shader mais dans ce cas, il n'écrit rien dans le depth buffer :(
Merci d'avance.