diff options
Diffstat (limited to 'glew/auto/EGL-Registry/extensions/NV/EGL_NV_depth_nonlinear.txt')
-rw-r--r-- | glew/auto/EGL-Registry/extensions/NV/EGL_NV_depth_nonlinear.txt | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/glew/auto/EGL-Registry/extensions/NV/EGL_NV_depth_nonlinear.txt b/glew/auto/EGL-Registry/extensions/NV/EGL_NV_depth_nonlinear.txt new file mode 100644 index 0000000..b46b3ca --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/NV/EGL_NV_depth_nonlinear.txt @@ -0,0 +1,142 @@ +Name + + NV_depth_nonlinear + +Name Strings + + GL_NV_depth_nonlinear + EGL_NV_depth_nonlinear + +Contact + + Gary King, NVIDIA Corporation (gking 'at' nvidia.com) + +Notice + + Copyright NVIDIA Corporation, 2005 - 2007. + +Status + + NVIDIA Proprietary + +Version + + Last Modified: 2007/03/20 + NVIDIA Revision: 1.0 + +Number + + EGL Extension #18 + OpenGL ES Extension #73 + +Dependencies + + Written based on the wording of the OpenGL 2.0 Specification and + EGL 1.2 Specification. + + Requires EGL 1.1. + + Requires OpenGL-ES 1.0. + + OES_framebuffer_object affects the wording of this specification. + +Overview + + Due to the perspective divide, conventional integer Z-buffers have + a hyperbolic distribution of encodings between the near plane + and the far plane. This can result in inaccurate depth testing, + particularly when the number of depth buffer bits is small + and objects are rendered near the far plane. + + Particularly when the number of depth buffer bits is limited + (desirable and/or required in low-memory environments), artifacts + due to this loss of precision may occur even with relatively + modest far plane-to-near plane ratios (e.g., greater than 100:1). + + Many attempts have been made to provide alternate encodings for + Z-buffer (or alternate formulations for the stored depth) to + reduce the artifacts caused by perspective division, such as + W-buffers, Z-complement buffers and floating-point 1-Z buffers. + + This extension adds a non-linear encoded Z buffer to OpenGL, + which can improve the practically useful range of, e.g. 16-bit + depth buffers by up to a factor of 16, greatly improving depth + test quality in applications where the ratio between the near + and far planes can not be as tightly controlled. + +IP Status + + NVIDIA Proprietary + +New Procedures and Functions + + None + +New Tokens + + Accepted as a valid sized internal format by all functions accepting + sized internal formats with a base format of DEPTH_COMPONENT + + DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C + + Accepted by the <attrib_list> parameter of eglChooseConfig and + eglCreatePbufferSurface, and by the <attribute> parameter of + eglGetConfigAttrib + + EGL_DEPTH_ENCODING_NV 0x30E2 + + Accepted as a value in the <attrib_list> parameter of eglChooseConfig + and eglCreatePbufferSurface, and returned in the <value> parameter + of eglGetConfigAttrib + + EGL_DEPTH_ENCODING_NONE_NV 0 + EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30E3 + +Changes to the OpenGL 2.0 Specification + + Add the following line to table 3.16 (p. 154) + + +--------------------------------+-----------------+------+ + | Sized Internal Format | Base Internal | D | + | | Format | Bits | + +--------------------------------+-----------------+------+ + | DEPTH_COMPONENT16_NONLINEAR_NV | DEPTH_COMPONENT | 16 | + +--------------------------------+-----------------+------+ + +Changes to the EGL 1.2 Specification + + Add the following line to table 3.1 (p. 14) + + +--------------------------+------+---------------------------------------+ + | Attribute | Type | Notes | + +--------------------------+------+---------------------------------------+ + | EGL_DEPTH_ENCODING_NV | enum | Type of depth-buffer encoding employed| + +--------------------------+------+---------------------------------------+ + + Modify the description of the depth buffer in Section 3.4 (p. 15) + + "The depth buffer is used only by OpenGL ES. It contains fragment depth + (Z) information generated during rasterization. EGL_DEPTH_SIZE indicates + the depth of this buffer in bits, and EGL_DEPTH_ENCODING_NV indicates which + alternate depth-buffer encoding (if any) should be used. Legal values for + EGL_DEPTH_ENCODING_NV are: EGL_DONT_CARE, EGL_DEPTH_ENCODING_NONE_NV and + EGL_DEPTH_ENCODING_NONLINEAR_NV." + + Add the following line to table 3.4 (p. 20) + + +-----------------------+---------------+-----------+-------+----------+ + | Attribute | Default | Selection | Sort | Sort | + | | | Criteria | Order | Priority | + +-----------------------+---------------+-----------+-------+----------+ + | EGL_DEPTH_ENCODING_NV | EGL_DONT_CARE | Exact | None | - | + +-----------------------+---------------+-------------------+----------+ + +Issues + + None + +Revision History + +#1.0 - 20.03.2007 + + Renumbered enumerants. Reformatted to 80 columns. |