Bonjour,
J'ai un FBO avec une texture GL_DEPTH_ATTACHMENT. Quand je lis cette texture dans un shader GLSL (texture2D), je constate que la valeur est toujours comprise entre 0.0 (zNear) et 1.0 (zFar).
Pourtant si je prends un point 3D visible sur mon écran et que je le multiple par la projection matrix, j'obtiendrai toujours un résultat entre -1.0 (zNear) et 1.0 (zFar).
Qui fait la transformation des coordonnées [-1.0, 1.0] à [0.0, 1.0] pour stocker la depth value dans ma texture ? Est-ce qu'on a un contrôle sur cette partie ?
Quel est le calcul exécuté pour faire cette transformation ? Est-ce linéaire (depthValue * 0.5 + 0.5) ?
Merci d'avance.
Partager