Bonjour,
J'essaye de comprendre comment fonctionne le depth buffer en OpenGL mais je ne m'en sort pas. Je trouve 50 formules différentes sur le net, grrrrr.
Dans la doc officiel: http://www.opengl.org/resources/faq/...epthbuffer.htm, voila ce que je trouve:
Si j'ai bien compris, Zw devrais se trouver entre 0 et 65535 avec un depth buffer de 16 bits?!The viewport transformation scales and offsets by the depth range (Assume it to be [0, 1]) and then scales by s = (2n-1) where n is the bit depth of the depth buffer:
Zw = s * [ (We / Ze) * f*n/(f-n) + 0.5 * (f+n)/(f-n) + 0.5 ]
Pourquoi ce n'est pas le cas avec les données suivantes:
n = 1
f = 10
Ze = 5
We = 1
Zw= 65 535 * ((((1.0 / 5.0) * 10 * 1) / (10 - 1)) + ((0.5 * (10 + 1)) / (10 - 1)) + 0.5) = 87 380
Merci d'avance...
Partager