GLGETMATERIAL(3G) UNIX Programmer's Manual GLGETMATERIAL(3G)
NAME
glGetMaterialfv, glGetMaterialiv - return material parame-
ters
C SPECIFICATION
void glGetMaterialfv( GLenum face,
GLenum pname,
GLfloat *params )
void glGetMaterialiv( GLenum face,
GLenum pname,
GLint *params )
PARAMETERS
face Specifies which of the two materials is being
queried. GL_FRONT or GL_BACK are accepted,
representing the front and back materials, respec-
tively.
pname Specifies the material parameter to return.
GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION,
GL_SHININESS, and GL_COLOR_INDEXES are accepted.
params Returns the requested data.
DESCRIPTION
glGetMaterial returns in params the value or values of
parameter pname of material face. Six parameters are
defined:
GL_AMBIENT params returns four integer or
floating-point values representing the
ambient reflectance of the material.
Integer values, when requested, are
linearly mapped from the internal
floating-point representation such
that 1.0 maps to the most positive
representable integer value, and -1.0
maps to the most negative represent-
able integer value. If the internal
value is outside the range [-1, 1],
the corresponding integer return value
is undefined. The initial value is
(0.2, 0.2, 0.2, 1.0)
GL_DIFFUSE params returns four integer or
floating-point values representing the
diffuse reflectance of the material.
Integer values, when requested, are
linearly mapped from the internal
floating-point representation such
MirBSD #10-current Printed 2021-12-07 1
GLGETMATERIAL(3G) UNIX Programmer's Manual GLGETMATERIAL(3G)
that 1.0 maps to the most positive
representable integer value, and -1.0
maps to the most negative represent-
able integer value. If the internal
value is outside the range [-1, 1],
the corresponding integer return value
is undefined. The initial value is
(0.8, 0.8, 0.8, 1.0).
GL_SPECULAR params returns four integer or
floating-point values representing the
specular reflectance of the material.
Integer values, when requested, are
linearly mapped from the internal
floating-point representation such
that 1.0 maps to the most positive
representable integer value, and -1.0
maps to the most negative represent-
able integer value. If the internal
value is outside the range [-1, 1],
the corresponding integer return value
is undefined. The initial value is (0,
0, 0, 1).
GL_EMISSION params returns four integer or
floating-point values representing the
emitted light intensity of the
material. Integer values, when
requested, are linearly mapped from
the internal floating-point represen-
tation such that 1.0 maps to the most
positive representable integer value,
and -1.0 maps to the most negative
representable integer value. If the
internal value is outside the range
[-1, 1.0], the corresponding integer
return value is undefined. The initial
value is (0, 0, 0, 1).
GL_SHININESS params returns one integer or
floating-point value representing the
specular exponent of the material.
Integer values, when requested, are
computed by rounding the internal
floating-point value to the nearest
integer value. The initial value is 0.
GL_COLOR_INDEXES params returns three integer or
floating-point values representing the
ambient, diffuse, and specular indices
of the material. These indices are
used only for color index lighting.
MirBSD #10-current Printed 2021-12-07 2
GLGETMATERIAL(3G) UNIX Programmer's Manual GLGETMATERIAL(3G)
(All the other parameters are used
only for RGBA lighting.) Integer
values, when requested, are computed
by rounding the internal floating-
point values to the nearest integer
values.
NOTES
If an error is generated, no change is made to the contents
of params.
ERRORS
GL_INVALID_ENUM is generated if face or pname is not an
accepted value.
GL_INVALID_OPERATION is generated if glGetMaterial is exe-
cuted between the execution of glBegin and the corresponding
execution of glEnd.
SEE ALSO
glMaterial(3G)
MirBSD #10-current Printed 2021-12-07 3