1Name 2 3 OES_point_size_array 4 5Name Strings 6 7 GL_OES_point_size_array 8 9Contact 10 11 Aaftab Munshi (amunshi@ati.com) 12 13Notice 14 15 Copyright (c) 2008-2013 The Khronos Group Inc. Copyright terms at 16 http://www.khronos.org/registry/speccopyright.html 17 18Specification Update Policy 19 20 Khronos-approved extension specifications are updated in response to 21 issues and bugs prioritized by the Khronos OpenGL ES Working Group. For 22 extensions which have been promoted to a core Specification, fixes will 23 first appear in the latest version of that core Specification, and will 24 eventually be backported to the extension document. This policy is 25 described in more detail at 26 https://www.khronos.org/registry/OpenGL/docs/update_policy.php 27 28Status 29 30 Ratified by the Khronos BOP, Aug 5, 2004. 31 32Version 33 34 Last Modifed Date: 23 Dec 2008 35 36Number 37 38 OpenGL ES Extension #14 39 40Dependencies 41 42 OpenGL ES 1.0 is required. 43 OES_point_sprite is required 44 45 The extension is written against the OpenGL 1.5 Specification. 46 47Overview 48 49 This extension extends how points and point sprites are rendered 50 by allowing an array of point sizes instead of a fixed input point 51 size given by PointSize. This provides flexibility for applications 52 to do particle effects. 53 54 The vertex arrays will be extended to include a point size array. 55 The point size array can be enabled/disabled via POINT_SIZE_ARRAY_OES. 56 57 The point size array, if enabled, controls the sizes used to render 58 points and point sprites. If point size array is enabled, the point 59 size defined by PointSize is ignored. The point sizes supplied in the 60 point size arrays will be the sizes used to render both points and 61 point sprites. 62 63IP Status 64 65 None. 66 67Issues 68 69 70New Procedures and Functions 71 72 void PointSizePointerOES(enum type, sizei stride, const void *ptr ) 73 74 valid values of type are GL_FIXED and GL_FLOAT 75 the <size> parameter is removed since <size> is always 1 76 77New Tokens 78 79 Accepted by the <cap> parameters of EnableClientState/DisableClientState 80 and by the <pname> parameter of IsEnabled: 81 82 POINT_SIZE_ARRAY_OES 0x8B9C 83 84 Accepted by the <pname> parameter of GetIntegerv: 85 86 POINT_SIZE_ARRAY_TYPE_OES 0x898A 87 POINT_SIZE_ARRAY_STRIDE_OES 0x898B 88 POINT_SIZE_ARRAY_BUFFER_BINDING_OES 0x8B9F 89 90 Accepted by the <pname> parameter of GetPointerv: 91 92 POINT_SIZE_ARRAY_POINTER_OES 0x898C 93 94Additions to Chapter 2 of the OpenGL 1.5 specification 95 96 - section 2.8, added the following 97 98 void PointSizePointerOES(enum type, sizei stride, const void *ptr); 99 100 PointSizePointerOES is used to describe the point size for a given vertex 101 102 - Added to table 2.4 103 104 Command Sizes Types 105 ------- ----- ----- 106 PointSizePointerOES 1 float, fixed 107 108 - (section 2.8), added the following 109 Extend the cap flags passed to EnableClientState/DisableClientState 110 to include POINT_SIZE_ARRAY_OES 111 112Errors 113 114 None. 115 116New State 117 118(table 6.6, p. 232) 119 Get Initial 120Get Value Type Command Value Description 121--------- ---- ------- ------- ----------- 122POINT_SIZE_ARRAY_OES B IsEnabled False point sprite array enable 123POINT_SIZE_ARRAY_TYPE_OES Z2 GetIntegerv Float type of point size 124POINT_SIZE_ARRAY_STRIDE_OES Z+ GetIntegerv 0 stride between point sizes 125POINT_SIZE_ARRAY_POINTER_OES Y GetPointerv 0 pointer to point sprite array 126 127(table 6.7, p. 233) 128 129 Get Initial 130Get Value Type Command Value Description 131--------- ---- ------- ------- ----------- 132 133POINT_SIZE_ARRAY_BUFFER_BINDING_OES Z+ GetIntegerv 0 point size array 134 buffer binding 135 136Revision History 137 138 2008.12.23 benj Per Bugzilla 4310, remove language saying that points 139 are not drawn if point size array points are invalid, 140 since this is not (always) detectable. This aligns 141 point size array behavior with all other array types, 142 where implementations can crash if given invalid 143 pointers to client data. 144