GLGETMATERIAL(3G) UNIX Programmer's Manual GLGETMATERIAL(3G)

glGetMaterialfv, glGetMaterialiv- return material parame- ters

voidglGetMaterialfv( GLenumface, GLenumpname, GLfloat *params) voidglGetMaterialiv( GLenumface, GLenumpname, GLint *params)

faceSpecifies which of the two materials is being queried.GL_FRONTorGL_BACKare accepted, representing the front and back materials, respec- tively.pnameSpecifies the material parameter to return.GL_AMBIENT,GL_DIFFUSE,GL_SPECULAR,GL_EMISSION,GL_SHININESS, andGL_COLOR_INDEXESare accepted.paramsReturns the requested data.

glGetMaterialreturns inparamsthe value or values of parameterpnameof materialface. Six parameters are defined:GL_AMBIENTparamsreturns 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_DIFFUSEparamsreturns 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_SPECULARparamsreturns 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_EMISSIONparamsreturns 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_SHININESSparamsreturns 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_INDEXESparamsreturns 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.

If an error is generated, no change is made to the contents ofparams.

GL_INVALID_ENUMis generated iffaceorpnameis not an accepted value.GL_INVALID_OPERATIONis generated ifglGetMaterialis exe- cuted between the execution ofglBeginand the corresponding execution ofglEnd.

glMaterial(3G)MirBSD #10-current Printed 2021-12-07 3