• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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