Hello,
J'ai un FBO qui est attaché à une texture depth buffer:
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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'ai essayer d'attaché une texture diffuse à mon shader (GL_COLOR_ATTACHMENT0) et écrire dedans avec cette ligne dans mon fragment shader:
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 !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
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.
Partager