fglSpriteParameterSGIX(3G) OpenGL Reference fglSpriteParameterSGIX(3G)NAME
fglSpriteParameterfSGIX, fglSpriteParameteriSGIX,
fglSpriteParameterfvSGIX, fglSpriteParameterivSGIX - set sprite
parameters
FORTRAN SPECIFICATION
SUBROUTINE fglSpriteParameterfSGIX( INTEGER*4 pname,
REAL*4 param )
SUBROUTINE fglSpriteParameteriSGIX( INTEGER*4 pname,
INTEGER*4 param )
PARAMETERS
pname The parameter to be set. Must be GL_SPRITE_MODE_SGIX.
param The parameter value. Must be one of GL_SPRITE_AXIAL_SGIX or
GL_SPRITE_OBJECT_ALIGNED_SGIX or GL_SPRITE_EYE_ALIGNED_SGIX.
FORTRAN SPECIFICATION
SUBROUTINE fglSpriteParameterfvSGIX( INTEGER*4 pname,
CHARACTER*8 params )
SUBROUTINE fglSpriteParameterivSGIX( INTEGER*4 pname,
CHARACTER*8 params )
PARAMETERS
pname
The parameter to be set. Must be one of GL_SPRITE_MODE_SGIX or
GL_SPRITE_AXIS_SGIX or GL_SPRITE_TRANSLATION_SGIX.
params
Must be a pointer to a scalar (GL_SPRITE_MODE_SGIX) or to a three-
valued vector (GL_SPRITE_AXIS_SGIX or GL_SPRITE_TRANSLATION_SGIX for
x, y, z, respectively).
DESCRIPTION
fglSpriteParameterSGIX is part of the GL_SGIX_sprite extension. This
extension provides support for geometry that rotates to face the eye, in
the manner of Iris Performer billboards. This is most useful for fast
approximate rendering of objects that have rough spherical or cylindrical
symmetry, such as trees, smoke, and clouds, where the objects are modeled
as simple geometry covered by a complex partially-transparent texture
map.
Sprite geometry is modelled in a canonical frame in which +Z is the up
vector, and -Y is the front vector which is rotated to point to the eye.
Page 1
fglSpriteParameterSGIX(3G) OpenGL Reference fglSpriteParameterSGIX(3G)
Rendering sprite geometry requires applying a transformation to
primitives before applying the current modelview matrix. This
transformation is based on the current modelview matrix, the sprite
rendering mode, and the constraints on sprite motion.
fglSpriteParameterSGIX sets the value of a sprite parameter. pname
specifies the parameter to be changed.
When pname is GL_SPRITE_MODE_SGIX, param specifies the sprite rendering
mode. param must be one of the following values:
GL_SPRITE_AXIAL_SGIX
The front of the object is rotated about an axis so that it
faces the eye as much as the axis constraint allows.
GL_SPRITE_OBJECT_ALIGNED_SGIX
The front of the object is rotated about a point to face the
eye. The remaining rotational degree of freedom is specified by
aligning the top of the object with a specified axis in object
coordinates.
GL_SPRITE_EYE_ALIGNED_SGIX
The front of the object is rotated about a point to face the
eye. The remaining rotational degree of freedom is specified by
aligning the top of the object with a specified axis in eye
coordinates.
When pname is either GL_SPRITE_AXIS_SGIX or GL_SPRITE_TRANSLATION_SGIX,
params is a pointer to a four-element vector that specifies the sprite
rotation axis or sprite translation, respectively.
The rendering of sprite geometry is enabled with fglEnable and disabled
with fglDisable using the constant GL_SPRITE_SGIX.
NOTES
When using sprites, the current projection matrix must not include a
rotation.
Be aware that user-defined clipping planes, texture coordinates produced
by certain fglTexGen modes, and the current raster position will be
affected by the combined sprite and modelview transformation if they are
specified while GL_SPRITE_SGIX is enabled.
fglSpriteParameterSGIX is part of the GL_SGIX_sprite extension, not part
of the core GL command set. See fglIntro for information about using
extensions.
ERRORS
GL_INVALID_ENUM is generated if pname is not an accepted value.
Page 2
fglSpriteParameterSGIX(3G) OpenGL Reference fglSpriteParameterSGIX(3G)
GL_INVALID_ENUM is generated if fglSpriteParameterfSGIX or
fglSpriteParameteriSGIX parameter pname is the GL_SPRITE_MODE_SGIX and
parameter param is not one of the accepted values.
GL_INVALID_OPERATION is generated if fglSpriteParameterSGIX is executed
between the execution of fglBegin and the corresponding execution of
fglEnd.
ASSOCIATED GETS
fglIsEnabled with argument GL_SPRITE_SGIX
fglGet with argument GL_SPRITE_MODE_SGIX
fglGet with argument GL_SPRITE_AXIS_SGIX
fglGet with argument GL_SPRITE_TRANSLATION_SGIX
fglGetString with argument GL_EXTENSIONS
SEE ALSO
Page 3