blob: 4995d5f138fd7905d9ba6a46fe6bc0b12e98e3ba [file] [log] [blame]
Name
OES_point_size_array
Name Strings
GL_OES_point_size_array
Contact
Aaftab Munshi (amunshi@ati.com)
Notice
Copyright (c) 2008-2013 The Khronos Group Inc. Copyright terms at
http://www.khronos.org/registry/speccopyright.html
Specification Update Policy
Khronos-approved extension specifications are updated in response to
issues and bugs prioritized by the Khronos OpenGL ES Working Group. For
extensions which have been promoted to a core Specification, fixes will
first appear in the latest version of that core Specification, and will
eventually be backported to the extension document. This policy is
described in more detail at
https://www.khronos.org/registry/OpenGL/docs/update_policy.php
Status
Ratified by the Khronos BOP, Aug 5, 2004.
Version
Last Modifed Date: 23 Dec 2008
Number
OpenGL ES Extension #14
Dependencies
OpenGL ES 1.0 is required.
OES_point_sprite is required
The extension is written against the OpenGL 1.5 Specification.
Overview
This extension extends how points and point sprites are rendered
by allowing an array of point sizes instead of a fixed input point
size given by PointSize. This provides flexibility for applications
to do particle effects.
The vertex arrays will be extended to include a point size array.
The point size array can be enabled/disabled via POINT_SIZE_ARRAY_OES.
The point size array, if enabled, controls the sizes used to render
points and point sprites. If point size array is enabled, the point
size defined by PointSize is ignored. The point sizes supplied in the
point size arrays will be the sizes used to render both points and
point sprites.
IP Status
None.
Issues
New Procedures and Functions
void PointSizePointerOES(enum type, sizei stride, const void *ptr )
valid values of type are GL_FIXED and GL_FLOAT
the <size> parameter is removed since <size> is always 1
New Tokens
Accepted by the <cap> parameters of EnableClientState/DisableClientState
and by the <pname> parameter of IsEnabled:
POINT_SIZE_ARRAY_OES 0x8B9C
Accepted by the <pname> parameter of GetIntegerv:
POINT_SIZE_ARRAY_TYPE_OES 0x898A
POINT_SIZE_ARRAY_STRIDE_OES 0x898B
POINT_SIZE_ARRAY_BUFFER_BINDING_OES 0x8B9F
Accepted by the <pname> parameter of GetPointerv:
POINT_SIZE_ARRAY_POINTER_OES 0x898C
Additions to Chapter 2 of the OpenGL 1.5 specification
- section 2.8, added the following
void PointSizePointerOES(enum type, sizei stride, const void *ptr);
PointSizePointerOES is used to describe the point size for a given vertex
- Added to table 2.4
Command Sizes Types
------- ----- -----
PointSizePointerOES 1 float, fixed
- (section 2.8), added the following
Extend the cap flags passed to EnableClientState/DisableClientState
to include POINT_SIZE_ARRAY_OES
Errors
None.
New State
(table 6.6, p. 232)
Get Initial
Get Value Type Command Value Description
--------- ---- ------- ------- -----------
POINT_SIZE_ARRAY_OES B IsEnabled False point sprite array enable
POINT_SIZE_ARRAY_TYPE_OES Z2 GetIntegerv Float type of point size
POINT_SIZE_ARRAY_STRIDE_OES Z+ GetIntegerv 0 stride between point sizes
POINT_SIZE_ARRAY_POINTER_OES Y GetPointerv 0 pointer to point sprite array
(table 6.7, p. 233)
Get Initial
Get Value Type Command Value Description
--------- ---- ------- ------- -----------
POINT_SIZE_ARRAY_BUFFER_BINDING_OES Z+ GetIntegerv 0 point size array
buffer binding
Revision History
2008.12.23 benj Per Bugzilla 4310, remove language saying that points
are not drawn if point size array points are invalid,
since this is not (always) detectable. This aligns
point size array behavior with all other array types,
where implementations can crash if given invalid
pointers to client data.