Envoyé par
shenron666
ton image contient quel type de valeurs ? des flottants ?
logiquement j'aurai tendance à penser qu'il faut que tu convertisses ton image générée à partir de tes tests de profondeur en prenant en compte les valeurs min et max qu'elle contient
Tu me pose une colle.
Je la crée comme ça:
glTexImage2D( OpenGL::TEXTURE2D, 0, GL_DEPTH_COMPONENT24, tX, tY, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, 0 )
et ensuite un fbo pour la génération de la depthmap avec en initialisation
1 2 3 4 5 6 7 8 9 10 11
|
glBindFramebuffer(GL_FRAMEBUFFER,frameBufferID );
// création du tampon de profondeur
glBindRenderbuffer(GL_RENDERBUFFER,renderBufferID );
glRenderbufferStorage(GL_RENDERBUFFER,GL_DEPTH_COMPONENT,tX,tY);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, renderBufferID);
// ajout d'une texture à rendre
glFramebufferTexture(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, textureT, textureID);
glDrawBuffer(GL_NONE);
glReadBuffer(GL_NONE); |
et une image pour le résultat:
pour info c'est normal qu'il n'y ai pas d'ombre sur l'eau
on vois bien que les ombres des particules à droite son carré et que l'ombre du "soleil" blanc (en parti sur l'eau)est aussi carré. sinon le reste est normal
Partager