Depth buffer, fonctionnement
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:
Citation:
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 ]
Si j'ai bien compris, Zw devrais se trouver entre 0 et 65535 avec un depth buffer de 16 bits?!
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...