1Name 2 3 ATI_vertex_attrib_array_object 4 5Name Strings 6 7 GL_ATI_vertex_attrib_array_object 8 9Contact 10 11 Chuck Smith, AMD (chuck.smith 'at' amd.com) 12 13Status 14 15 Complete. 16 17Version 18 19 Last Modified Date: November 4, 2006 20 Revision: 1.1 21 22Number 23 24 290 25 26Dependencies 27 28 This extension is written against the OpenGL 1.2.1 Specification. 29 This extension relies on the presence of both ARB_vertex_program 30 and ATI_vertex_array_object. 31 32 33Overview 34 35 This extension defines an interface that allows multiple sets of 36 generic vertex attribute data to be cached in persistent server-side 37 memory. It is intended to allow client data to be stored in memory 38 that can be directly accessed by graphics hardware. 39 40 41Issues 42 43 None 44 45 46New Procedures and Functions 47 48 void VertexAttribArrayObjectATI(uint index, int size, enum type, 49 boolean normalized, sizei stride, 50 uint buffer, uint offset) 51 52 void GetVertexAttribArrayObjectfvATI(uint index, enum pname, 53 float *params) 54 55 void GetVertexAttribArrayObjectivATI(uint index, enum pname, 56 int *params) 57 58 59New Tokens 60 61 None 62 63 64Additions to Chapter 2 of the OpenGL 1.2.1 Specification (Operation) 65 66 In section 2.6.3, GL Commands within Begin/End, add 67 VertexAttribArrayObjectATI to the list of commands that are not 68 allowed within any Begin/End pair, but may or may not generate an 69 error. 70 71 72 At the end of the section titled Vertex Array Objects, between 73 section 2.8, Vertex Arrays, and section 2.9, Rectangles, add the 74 following: 75 76 A client can define an array of generic vertex attribute data using 77 the command: 78 79 void VertexAttribArrayObjectATI(uint index, int size, enum type, 80 boolean normalized, sizei stride, 81 uint buffer, uint offset) 82 83 The <index>, <size>, <type>, <normalized>. and <stride> parameters 84 have the same meaning as the corresponding parameters of 85 VertexAttribPointerARB. The <buffer> and <offset> parameters 86 have the same meaning as the corresponding parameters of 87 ArrayObjectATI. 88 89 Vertex attribute arrays defined by VertexAttribArrayObjectATI are 90 enabled and disabled in the same way as vertex attribute arrays 91 defined by VertexAttribPointerARB, by using 92 EnableVertexAttribArrayARB and DisableVertexAttribArrayARB. 93 94 95Additions to Chapter 3 of the OpenGL 1.2.1 Specification (Rasterization): 96 97 None 98 99 100Additions to Chapter 4 of the 1.2.1 Specification (Per-Fragment 101Operations and the Frame Buffer) 102 103 None 104 105 106Additions to Chapter 5 of the 1.2.1 Specification (Special Functions) 107 108 None 109 110Additions to Chapter 6 of the 1.2.1 Specification (State and State 111Requests) 112 113 Added to the list of queries in section 6.1.3, Enumerated Queries: 114 115 void GetVertexAttribArrayObject{if}vATI(uint index, enum value, 116 T data); 117 118 Appended to the description of the queries in section 6.1.3, 119 Enumerated Queries: 120 121 GetVertexAttribArrayObjectATI is used to retrieve information on a 122 generic vertex attribute array located in an object buffer. The 123 <index> parameter identifies the generic vertex attribute that is to 124 be queried. The <value> and <data> parameters have the same meaning 125 as the corresponding parameters of GetArrayObjectATI. 126 127 128Additions to the AGL/GLX/WGL Specifications 129 130 None 131 132 133Dependencies on ARB_vertex_program 134 135 ARB_vertex_program must be present. 136 137 138Dependencies on ATI_vertex_array_object 139 140 ATI_vertex_array_object must be present. 141 142 143Errors 144 145 See the specifications for ARB_vertex_program and 146 ATI_vertex_array_object. 147 148 149New State 150 151 None 152 153 154New Implementation Dependent State 155 156 None 157 158 159Revision History 160 161 11/04/2006 1.1 162 - updated contact info after ATI/AMD merger. 163 164 09/10/2002 1.0 165 - initial version 166 167 168