15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    EXT_vertex_array_setXXX 
45bd8deadSopenharmony_ci    (No GenName version)
55bd8deadSopenharmony_ci
65bd8deadSopenharmony_ciName Strings
75bd8deadSopenharmony_ci
85bd8deadSopenharmony_ci    GL_EXT_vertex_array_setXXX
95bd8deadSopenharmony_ci
105bd8deadSopenharmony_ciVersion
115bd8deadSopenharmony_ci
125bd8deadSopenharmony_ci    $Date: 1999/04/03 08:40:30 $ $Revision: 1.2 $
135bd8deadSopenharmony_ci
145bd8deadSopenharmony_ciNumber
155bd8deadSopenharmony_ci
165bd8deadSopenharmony_ci    ???
175bd8deadSopenharmony_ci
185bd8deadSopenharmony_ciDependencies
195bd8deadSopenharmony_ci
205bd8deadSopenharmony_ci    EXT_static_vertex_array   
215bd8deadSopenharmony_ci
225bd8deadSopenharmony_ciOverview
235bd8deadSopenharmony_ci
245bd8deadSopenharmony_ci    This extension introduces named vertex array sets which encapsulate
255bd8deadSopenharmony_ci    vertex array state on the client side. The main purpose of these 
265bd8deadSopenharmony_ci    sets is to keep pointers to static vertex data and provide a name 
275bd8deadSopenharmony_ci    for different sets of static vertex data. The specification of 
285bd8deadSopenharmony_ci    static vertex data is done through EXT_static_vertex_array extension.
295bd8deadSopenharmony_ci
305bd8deadSopenharmony_ciIssues
315bd8deadSopenharmony_ci
325bd8deadSopenharmony_ci    *   Should we allow vertex array sets to be shared between
335bd8deadSopenharmony_ci    client side contexts? 
345bd8deadSopenharmony_ci
355bd8deadSopenharmony_ciNew Procedures and Functions
365bd8deadSopenharmony_ci
375bd8deadSopenharmony_ci    const void *CreateArraySetExt(void);
385bd8deadSopenharmony_ci
395bd8deadSopenharmony_ci    void BindArraySetEXT(const void *arrayset);
405bd8deadSopenharmony_ci
415bd8deadSopenharmony_ci    void DeleteArraySetsEXT(sizei n,
425bd8deadSopenharmony_ci                         const void *arrayset[]);
435bd8deadSopenharmony_ci
445bd8deadSopenharmony_ciNew Tokens
455bd8deadSopenharmony_ci
465bd8deadSopenharmony_ci    Accepted by the <pname> parameter of GetPointerv:
475bd8deadSopenharmony_ci
485bd8deadSopenharmony_ci    ARRAY_SET_BINDING_EXT
495bd8deadSopenharmony_ci
505bd8deadSopenharmony_ciAdditions to Chapter 2, 3, 4 of the 1.1 Specification (OpenGL Operation,
515bd8deadSopenharmony_ci    Rasterization, Per-Fragment Operations and the Frame Buffer)
525bd8deadSopenharmony_ci
535bd8deadSopenharmony_ci    None
545bd8deadSopenharmony_ci
555bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.1 Specification (Special Functions)
565bd8deadSopenharmony_ci
575bd8deadSopenharmony_ci    A vertex array set is created by calling CreateArraySet which
585bd8deadSopenharmony_ci    returns the name of the newly created vertex array set. The 
595bd8deadSopenharmony_ci    newly created vertex array set also becomes the current 
605bd8deadSopenharmony_ci    vertex array set. The state encapsulated by a vertex array 
615bd8deadSopenharmony_ci    set immediately after it is first bound is equivalent to the 
625bd8deadSopenharmony_ci    default vertex array state at GL initialization.
635bd8deadSopenharmony_ci
645bd8deadSopenharmony_ci    Subsequent binding of a vertex array set is accomplished by 
655bd8deadSopenharmony_ci    calling BindArraySetEXT with arrayset set to the name of a 
665bd8deadSopenharmony_ci    previously created vertex array set. Subsequent bindings of a
675bd8deadSopenharmony_ci    vertex array set have no effect on its encapsulated state 
685bd8deadSopenharmony_ci    unless changed explicitly.
695bd8deadSopenharmony_ci    
705bd8deadSopenharmony_ci    When an OpenGL context is created, there is set of default vertex
715bd8deadSopenharmony_ci    array state associated with the context. In order that the access to
725bd8deadSopenharmony_ci    this default state is not lost, this extension treats the default state
735bd8deadSopenharmony_ci    as if its name was NULL. Unlike other vertex array sets, the NULL 
745bd8deadSopenharmony_ci    set cannot be deleted.
755bd8deadSopenharmony_ci    
765bd8deadSopenharmony_ci    Vertex array sets are deleted by calling DeleteArraySetsEXT with 
775bd8deadSopenharmony_ci    <arrayset> pointing to a list of <n> names of array sets to be 
785bd8deadSopenharmony_ci    deleted. DeleteArraySetsEXT implicitly performs a UnlockArraysExt 
795bd8deadSopenharmony_ci    on the sets to be deleted before deleting the <arrayset>. Once a 
805bd8deadSopenharmony_ci    vertex array set is deleted, it has no contents, and its name is 
815bd8deadSopenharmony_ci    freed.  If a vertex array set that is currently bound is deleted, 
825bd8deadSopenharmony_ci    the binding reverts to zero. DeleteArraySetsEXT ignores names 
835bd8deadSopenharmony_ci    that do not correspond to array sets, including NULL.
845bd8deadSopenharmony_ci    
855bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.0 Specification (State and State Requests)
865bd8deadSopenharmony_ci
875bd8deadSopenharmony_ci    The name of the currently bound vertex array set is returned in <params>
885bd8deadSopenharmony_ci    when GetPointerv is called with <pname> set to ARRAY_SET_BINDING_EXT. 
895bd8deadSopenharmony_ci    If no vertex array set is bound, NULL is returned.
905bd8deadSopenharmony_ci    
915bd8deadSopenharmony_ci    A vertex array set comprises of vertex array pointers, the size and
925bd8deadSopenharmony_ci    type information for each array, the corresponding enable flags and the
935bd8deadSopenharmony_ci    range of static data for each array. More explicitly, the state list
945bd8deadSopenharmony_ci    
955bd8deadSopenharmony_ci    ARRAY_ELEMENT_LOCK_COUNT_EXT
965bd8deadSopenharmony_ci    VERTEX_ARRAY
975bd8deadSopenharmony_ci    VERTEX_ARRAY_SIZE
985bd8deadSopenharmony_ci    VERTEX_ARRAY_TYPE
995bd8deadSopenharmony_ci    VERTEX_ARRAY_STRIDE
1005bd8deadSopenharmony_ci    VERTEX_ARRAY_POINTER
1015bd8deadSopenharmony_ci    NORMAL_ARRAY
1025bd8deadSopenharmony_ci    NORMAL_ARRAY_TYPE
1035bd8deadSopenharmony_ci    NORMAL_ARRAY_STRIDE
1045bd8deadSopenharmony_ci    NORMAL_ARRAY_POINTER
1055bd8deadSopenharmony_ci    COLOR_ARRAY
1065bd8deadSopenharmony_ci    COLOR_ARRAY_SIZE
1075bd8deadSopenharmony_ci    COLOR_ARRAY_TYPE
1085bd8deadSopenharmony_ci    COLOR_ARRAY_STRIDE
1095bd8deadSopenharmony_ci    COLOR_ARRAY_POINTER
1105bd8deadSopenharmony_ci    INDEX_ARRAY
1115bd8deadSopenharmony_ci    INDEX_ARRAY_TYPE
1125bd8deadSopenharmony_ci    INDEX_ARRAY_STRIDE
1135bd8deadSopenharmony_ci    INDEX_ARRAY_POINTER
1145bd8deadSopenharmony_ci    TEXTURE_COORD_ARRAY
1155bd8deadSopenharmony_ci    TEXTURE_COORD_ARRAY_SIZE
1165bd8deadSopenharmony_ci    TEXTURE_COORD_ARRAY_TYPE
1175bd8deadSopenharmony_ci    TEXTURE_COORD_ARRAY_STRIDE
1185bd8deadSopenharmony_ci    TEXTURE_COORD_ARRAY_POINTER
1195bd8deadSopenharmony_ci    EDGE_FLAG_ARRAY
1205bd8deadSopenharmony_ci    EDGE_FLAG_ARRAY_STRIDE
1215bd8deadSopenharmony_ci    EDGE_FLAG_ARRAY_POINTER
1225bd8deadSopenharmony_ci    
1235bd8deadSopenharmony_ci    composes a single vertex array set.
1245bd8deadSopenharmony_ci    
1255bd8deadSopenharmony_ci    When PushClientAttrib is called with CLIENT_VERTEX_ARRAY_BIT enabled,
1265bd8deadSopenharmony_ci    the array pointers, types, size and stride are pushed, as well as
1275bd8deadSopenharmony_ci    array pointer enables and the current vertex array set binding.
1285bd8deadSopenharmony_ci    When the attribute set that includes vertex array information is
1295bd8deadSopenharmony_ci    popped, the binding is first restored to its pushed value and then
1305bd8deadSopenharmony_ci    the enables and the array pointers, types, size and stride are
1315bd8deadSopenharmony_ci    are restored to their pushed values.
1325bd8deadSopenharmony_ci
1335bd8deadSopenharmony_ciAdditions to the GLX Specification
1345bd8deadSopenharmony_ci
1355bd8deadSopenharmony_ci    No change is made to the GLX API.
1365bd8deadSopenharmony_ci
1375bd8deadSopenharmony_ciGLX Protocol
1385bd8deadSopenharmony_ci
1395bd8deadSopenharmony_ci    None
1405bd8deadSopenharmony_ci
1415bd8deadSopenharmony_ciErrors
1425bd8deadSopenharmony_ci    INVALID_VALUE is generated if DeleteArraySetsEXT parameter <n> is
1435bd8deadSopenharmony_ci    negative.
1445bd8deadSopenharmony_ci
1455bd8deadSopenharmony_ci    INVALID_OPERATION may be generated if any of the commands defined in this
1465bd8deadSopenharmony_ci    extension is executed between the execution of Begin and the corresponding
1475bd8deadSopenharmony_ci    execution of End.
1485bd8deadSopenharmony_ci
1495bd8deadSopenharmony_ciNew State
1505bd8deadSopenharmony_ci
1515bd8deadSopenharmony_ci    Get Value               Get Command Type    Value   Attrib
1525bd8deadSopenharmony_ci    ---------               ----------- ----    ------- ------
1535bd8deadSopenharmony_ci
1545bd8deadSopenharmony_ci    ARRAY_SET_BINDING_EXT   GetPointerv Y       0       vertex-array
1555bd8deadSopenharmony_ci
1565bd8deadSopenharmony_ciNew Implementation Dependent State
1575bd8deadSopenharmony_ci    
1585bd8deadSopenharmony_ci    None
1595bd8deadSopenharmony_ci
1605bd8deadSopenharmony_ci
161