15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    NV_vertex_array_range2
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_NV_vertex_array_range2
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Mark J. Kilgard, NVIDIA Corporation (mjk 'at' nvidia.com)
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciNotice
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    Copyright NVIDIA Corporation, 2001.
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ciIP Status
185bd8deadSopenharmony_ci
195bd8deadSopenharmony_ci    NVIDIA Proprietary.
205bd8deadSopenharmony_ci
215bd8deadSopenharmony_ciStatus
225bd8deadSopenharmony_ci
235bd8deadSopenharmony_ci    Complete
245bd8deadSopenharmony_ci
255bd8deadSopenharmony_ciVersion
265bd8deadSopenharmony_ci
275bd8deadSopenharmony_ci    NVIDIA Date:  April 13, 2001
285bd8deadSopenharmony_ci    Version:      2
295bd8deadSopenharmony_ci
305bd8deadSopenharmony_ciNumber
315bd8deadSopenharmony_ci
325bd8deadSopenharmony_ci    232
335bd8deadSopenharmony_ci
345bd8deadSopenharmony_ciDependencies
355bd8deadSopenharmony_ci
365bd8deadSopenharmony_ci    Assumes support for the NV_vertex_array_range extension (version 1.1).
375bd8deadSopenharmony_ci
385bd8deadSopenharmony_ci    Support for NV_fence is recommended but not required.
395bd8deadSopenharmony_ci
405bd8deadSopenharmony_ciOverview
415bd8deadSopenharmony_ci
425bd8deadSopenharmony_ci    Enabling and disabling the vertex array range is specified by the
435bd8deadSopenharmony_ci    original NV_vertex_array_range extension specification to flush the
445bd8deadSopenharmony_ci    vertex array range implicitly.  In retrospect, this semantic is
455bd8deadSopenharmony_ci    extremely misconceived and creates terrible performance problems
465bd8deadSopenharmony_ci    for any application that wishes to mix conventional vertex arrays
475bd8deadSopenharmony_ci    with vertex arrange range-enabled vertex arrays.
485bd8deadSopenharmony_ci
495bd8deadSopenharmony_ci    This extension provides a new token for enabling/disabling the
505bd8deadSopenharmony_ci    vertex array range that does NOT perform an implicit vertex array
515bd8deadSopenharmony_ci    range flush when the enable/disable is performed.
525bd8deadSopenharmony_ci
535bd8deadSopenharmony_ciIssues
545bd8deadSopenharmony_ci
555bd8deadSopenharmony_ci    Should this extension expose a new enable that enables/disables the
565bd8deadSopenharmony_ci    vertex array range enable/disable semantic of performing an implicit
575bd8deadSopenharmony_ci    'vertex array range flush' when GL_VERTEX_ARRAY_RANGE_NV is enabled
585bd8deadSopenharmony_ci    or disabled, OR should it add a new enable token that acts identically
595bd8deadSopenharmony_ci    to GL_VERTEX_ARRAY_RANGE_NV without the implicit flush?
605bd8deadSopenharmony_ci
615bd8deadSopenharmony_ci      RESOLUTION:  The second option.  Enabling/disabling
625bd8deadSopenharmony_ci      GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV acts identically to
635bd8deadSopenharmony_ci      enabling/disabling GL_VERTEX_ARRAY_RANGE_NV, just without the
645bd8deadSopenharmony_ci      implicit flush.
655bd8deadSopenharmony_ci
665bd8deadSopenharmony_ci    Should GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV work with glIsEnabled?
675bd8deadSopenharmony_ci
685bd8deadSopenharmony_ci      RESOLUTION:  NO.  There is still just a single state boolean to
695bd8deadSopenharmony_ci      query.
705bd8deadSopenharmony_ci
715bd8deadSopenharmony_ciNew Procedures and Functions
725bd8deadSopenharmony_ci
735bd8deadSopenharmony_ci    None
745bd8deadSopenharmony_ci
755bd8deadSopenharmony_ciNew Tokens
765bd8deadSopenharmony_ci
775bd8deadSopenharmony_ci    Accepted by the <cap> parameter of EnableClientState,
785bd8deadSopenharmony_ci    DisableClientState:
795bd8deadSopenharmony_ci
805bd8deadSopenharmony_ci        VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV  0x8533
815bd8deadSopenharmony_ci
825bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 1.1 Specification (OpenGL Operation)
835bd8deadSopenharmony_ci
845bd8deadSopenharmony_ci    Within the discussion of vertex arrays (Section 2.8) amended by
855bd8deadSopenharmony_ci    the NV_vertex_array_range extension specification, change the
865bd8deadSopenharmony_ci    discussion of enabling the vertex array range to:
875bd8deadSopenharmony_ci
885bd8deadSopenharmony_ci    The vertex array range is enabled or disabled by calling
895bd8deadSopenharmony_ci    EnableClientState or DisableClientState with the symbolic
905bd8deadSopenharmony_ci    constant VERTEX_ARRAY_RANGE_NV. 
915bd8deadSopenharmony_ci
925bd8deadSopenharmony_ci    The vertex array range is also enabled or disabled by calling
935bd8deadSopenharmony_ci    EnableClientState or DisableClientState with the symbolic constant
945bd8deadSopenharmony_ci    VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV.  This second means to enable
955bd8deadSopenharmony_ci    and disable the vertex array range does not perform an implicit
965bd8deadSopenharmony_ci    vertex array range flush as described subsequently."
975bd8deadSopenharmony_ci
985bd8deadSopenharmony_ci    Within the discussion of vertex arrays (Section 2.8) amended by the
995bd8deadSopenharmony_ci    NV_vertex_array_range extension specification, change the discussion
1005bd8deadSopenharmony_ci    of implicit vertex array range flushes to:
1015bd8deadSopenharmony_ci
1025bd8deadSopenharmony_ci    "A 'vertex array range flush' occurs when one of the following
1035bd8deadSopenharmony_ci    operations occur:
1045bd8deadSopenharmony_ci
1055bd8deadSopenharmony_ci       o  Finish returns.
1065bd8deadSopenharmony_ci
1075bd8deadSopenharmony_ci       o  FlushVertexArrayRangeNV returns.
1085bd8deadSopenharmony_ci
1095bd8deadSopenharmony_ci       o  VertexArrayRangeNV returns.
1105bd8deadSopenharmony_ci
1115bd8deadSopenharmony_ci       o  DisableClientState of VERTEX_ARRAY_RANGE_NV returns.
1125bd8deadSopenharmony_ci
1135bd8deadSopenharmony_ci       o  EnableClientState of VERTEX_ARRAY_RANGE_NV returns.
1145bd8deadSopenharmony_ci
1155bd8deadSopenharmony_ci       o  Another OpenGL context is made current.
1165bd8deadSopenharmony_ci
1175bd8deadSopenharmony_ci    However, use of VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV with
1185bd8deadSopenharmony_ci    DisableClientState or EnableClientState does NOT perform an implicit
1195bd8deadSopenharmony_ci    vertex array range flush."
1205bd8deadSopenharmony_ci
1215bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL 1.1 Specification (Special Functions)
1225bd8deadSopenharmony_ci
1235bd8deadSopenharmony_ci    None
1245bd8deadSopenharmony_ci
1255bd8deadSopenharmony_ciAdditions to the WGL interface:
1265bd8deadSopenharmony_ci
1275bd8deadSopenharmony_ci    None
1285bd8deadSopenharmony_ci
1295bd8deadSopenharmony_ciAdditions to the GLX Specification
1305bd8deadSopenharmony_ci
1315bd8deadSopenharmony_ci    None
1325bd8deadSopenharmony_ci
1335bd8deadSopenharmony_ciGLX Protocol
1345bd8deadSopenharmony_ci
1355bd8deadSopenharmony_ci    None
1365bd8deadSopenharmony_ci
1375bd8deadSopenharmony_ciErrors
1385bd8deadSopenharmony_ci
1395bd8deadSopenharmony_ci    No new errors.
1405bd8deadSopenharmony_ci
1415bd8deadSopenharmony_ciNew State
1425bd8deadSopenharmony_ci
1435bd8deadSopenharmony_ci    None
1445bd8deadSopenharmony_ci
1455bd8deadSopenharmony_ciNew Implementation Dependent State
1465bd8deadSopenharmony_ci
1475bd8deadSopenharmony_ci    None
1485bd8deadSopenharmony_ci
1495bd8deadSopenharmony_ciRevision History
1505bd8deadSopenharmony_ci
1515bd8deadSopenharmony_ci    4/13/2001 - token value for GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV
1525bd8deadSopenharmony_ci    should be 0x8533 (was incorrectly typed as 0x8503)
1535bd8deadSopenharmony_ci
154