15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    NV_depth_nonlinear
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_NV_depth_nonlinear
85bd8deadSopenharmony_ci    EGL_NV_depth_nonlinear
95bd8deadSopenharmony_ci
105bd8deadSopenharmony_ciContact
115bd8deadSopenharmony_ci
125bd8deadSopenharmony_ci    Gary King, NVIDIA Corporation (gking 'at' nvidia.com)
135bd8deadSopenharmony_ci
145bd8deadSopenharmony_ciNotice
155bd8deadSopenharmony_ci
165bd8deadSopenharmony_ci    Copyright NVIDIA Corporation, 2005 - 2007.
175bd8deadSopenharmony_ci
185bd8deadSopenharmony_ciStatus
195bd8deadSopenharmony_ci
205bd8deadSopenharmony_ci    NVIDIA Proprietary
215bd8deadSopenharmony_ci
225bd8deadSopenharmony_ciVersion
235bd8deadSopenharmony_ci
245bd8deadSopenharmony_ci    Last Modified: 2007/03/20
255bd8deadSopenharmony_ci    NVIDIA Revision: 1.0
265bd8deadSopenharmony_ci
275bd8deadSopenharmony_ciNumber
285bd8deadSopenharmony_ci
295bd8deadSopenharmony_ci    EGL Extension #18
305bd8deadSopenharmony_ci    OpenGL ES Extension #73
315bd8deadSopenharmony_ci
325bd8deadSopenharmony_ciDependencies
335bd8deadSopenharmony_ci
345bd8deadSopenharmony_ci    Written based on the wording of the OpenGL 2.0 Specification and
355bd8deadSopenharmony_ci    EGL 1.2 Specification.
365bd8deadSopenharmony_ci
375bd8deadSopenharmony_ci    Requires EGL 1.1.
385bd8deadSopenharmony_ci
395bd8deadSopenharmony_ci    Requires OpenGL-ES 1.0.
405bd8deadSopenharmony_ci
415bd8deadSopenharmony_ci    OES_framebuffer_object affects the wording of this specification.
425bd8deadSopenharmony_ci
435bd8deadSopenharmony_ciOverview
445bd8deadSopenharmony_ci
455bd8deadSopenharmony_ci    Due to the perspective divide, conventional integer Z-buffers have
465bd8deadSopenharmony_ci    a hyperbolic distribution of encodings between the near plane
475bd8deadSopenharmony_ci    and the far plane.  This can result in inaccurate depth testing,
485bd8deadSopenharmony_ci    particularly when the number of depth buffer bits is small
495bd8deadSopenharmony_ci    and objects are rendered near the far plane.
505bd8deadSopenharmony_ci
515bd8deadSopenharmony_ci    Particularly when the number of depth buffer bits is limited
525bd8deadSopenharmony_ci    (desirable and/or required in low-memory environments), artifacts
535bd8deadSopenharmony_ci    due to this loss of precision may occur even with relatively
545bd8deadSopenharmony_ci    modest far plane-to-near plane ratios (e.g., greater than 100:1).
555bd8deadSopenharmony_ci
565bd8deadSopenharmony_ci    Many attempts have been made to provide alternate encodings for
575bd8deadSopenharmony_ci    Z-buffer (or alternate formulations for the stored depth) to
585bd8deadSopenharmony_ci    reduce the artifacts caused by perspective division, such as
595bd8deadSopenharmony_ci    W-buffers, Z-complement buffers and floating-point 1-Z buffers.
605bd8deadSopenharmony_ci
615bd8deadSopenharmony_ci    This extension adds a non-linear encoded Z buffer to OpenGL,
625bd8deadSopenharmony_ci    which can improve the practically useful range of, e.g. 16-bit
635bd8deadSopenharmony_ci    depth buffers by up to a factor of 16, greatly improving depth
645bd8deadSopenharmony_ci    test quality in applications where the ratio between the near
655bd8deadSopenharmony_ci    and far planes can not be as tightly controlled.
665bd8deadSopenharmony_ci
675bd8deadSopenharmony_ciIP Status
685bd8deadSopenharmony_ci
695bd8deadSopenharmony_ci    NVIDIA Proprietary
705bd8deadSopenharmony_ci
715bd8deadSopenharmony_ciNew Procedures and Functions
725bd8deadSopenharmony_ci
735bd8deadSopenharmony_ci    None
745bd8deadSopenharmony_ci
755bd8deadSopenharmony_ciNew Tokens
765bd8deadSopenharmony_ci
775bd8deadSopenharmony_ci    Accepted as a valid sized internal format by all functions accepting
785bd8deadSopenharmony_ci    sized internal formats with a base format of DEPTH_COMPONENT
795bd8deadSopenharmony_ci
805bd8deadSopenharmony_ci        DEPTH_COMPONENT16_NONLINEAR_NV     0x8E2C
815bd8deadSopenharmony_ci
825bd8deadSopenharmony_ci    Accepted by the <attrib_list> parameter of eglChooseConfig and
835bd8deadSopenharmony_ci    eglCreatePbufferSurface, and by the <attribute> parameter of
845bd8deadSopenharmony_ci    eglGetConfigAttrib
855bd8deadSopenharmony_ci
865bd8deadSopenharmony_ci        EGL_DEPTH_ENCODING_NV              0x30E2
875bd8deadSopenharmony_ci
885bd8deadSopenharmony_ci    Accepted as a value in the <attrib_list> parameter of eglChooseConfig
895bd8deadSopenharmony_ci    and eglCreatePbufferSurface, and returned in the <value> parameter
905bd8deadSopenharmony_ci    of eglGetConfigAttrib
915bd8deadSopenharmony_ci
925bd8deadSopenharmony_ci        EGL_DEPTH_ENCODING_NONE_NV         0
935bd8deadSopenharmony_ci        EGL_DEPTH_ENCODING_NONLINEAR_NV    0x30E3
945bd8deadSopenharmony_ci
955bd8deadSopenharmony_ciChanges to the OpenGL 2.0 Specification
965bd8deadSopenharmony_ci
975bd8deadSopenharmony_ci    Add the following line to table 3.16 (p. 154)
985bd8deadSopenharmony_ci
995bd8deadSopenharmony_ci    +--------------------------------+-----------------+------+
1005bd8deadSopenharmony_ci    |      Sized Internal Format     |  Base Internal  |  D   |
1015bd8deadSopenharmony_ci    |                                |  Format         | Bits |
1025bd8deadSopenharmony_ci    +--------------------------------+-----------------+------+
1035bd8deadSopenharmony_ci    | DEPTH_COMPONENT16_NONLINEAR_NV | DEPTH_COMPONENT |  16  |
1045bd8deadSopenharmony_ci    +--------------------------------+-----------------+------+
1055bd8deadSopenharmony_ci
1065bd8deadSopenharmony_ciChanges to the EGL 1.2 Specification
1075bd8deadSopenharmony_ci
1085bd8deadSopenharmony_ci    Add the following line to table 3.1 (p. 14)
1095bd8deadSopenharmony_ci
1105bd8deadSopenharmony_ci    +--------------------------+------+---------------------------------------+
1115bd8deadSopenharmony_ci    |         Attribute        | Type | Notes                                 |
1125bd8deadSopenharmony_ci    +--------------------------+------+---------------------------------------+
1135bd8deadSopenharmony_ci    |   EGL_DEPTH_ENCODING_NV  | enum | Type of depth-buffer encoding employed|
1145bd8deadSopenharmony_ci    +--------------------------+------+---------------------------------------+
1155bd8deadSopenharmony_ci
1165bd8deadSopenharmony_ci    Modify the description of the depth buffer in Section 3.4 (p. 15)
1175bd8deadSopenharmony_ci
1185bd8deadSopenharmony_ci    "The depth buffer is used only by OpenGL ES.  It contains fragment depth 
1195bd8deadSopenharmony_ci    (Z) information generated during rasterization.  EGL_DEPTH_SIZE indicates 
1205bd8deadSopenharmony_ci    the depth of this buffer in bits, and EGL_DEPTH_ENCODING_NV indicates which
1215bd8deadSopenharmony_ci    alternate depth-buffer encoding (if any) should be used.  Legal values for
1225bd8deadSopenharmony_ci    EGL_DEPTH_ENCODING_NV are: EGL_DONT_CARE, EGL_DEPTH_ENCODING_NONE_NV and
1235bd8deadSopenharmony_ci    EGL_DEPTH_ENCODING_NONLINEAR_NV."
1245bd8deadSopenharmony_ci
1255bd8deadSopenharmony_ci    Add the following line to table 3.4 (p. 20)
1265bd8deadSopenharmony_ci
1275bd8deadSopenharmony_ci    +-----------------------+---------------+-----------+-------+----------+
1285bd8deadSopenharmony_ci    |       Attribute       |     Default   | Selection |  Sort |   Sort   |
1295bd8deadSopenharmony_ci    |                       |               |  Criteria | Order | Priority |
1305bd8deadSopenharmony_ci    +-----------------------+---------------+-----------+-------+----------+
1315bd8deadSopenharmony_ci    | EGL_DEPTH_ENCODING_NV | EGL_DONT_CARE |   Exact   |  None |     -    |
1325bd8deadSopenharmony_ci    +-----------------------+---------------+-------------------+----------+
1335bd8deadSopenharmony_ci
1345bd8deadSopenharmony_ciIssues
1355bd8deadSopenharmony_ci
1365bd8deadSopenharmony_ci    None
1375bd8deadSopenharmony_ci
1385bd8deadSopenharmony_ciRevision History
1395bd8deadSopenharmony_ci
1405bd8deadSopenharmony_ci#1.0 - 20.03.2007
1415bd8deadSopenharmony_ci
1425bd8deadSopenharmony_ci   Renumbered enumerants.  Reformatted to 80 columns.
143