Función glMaterialfv
La función glMaterialfv especifica parámetros de material para el modelo de iluminación.
Sintaxis
void WINAPI glMaterialfv(
GLenum face,
GLenum pname,
const GLfloat *params
);
Parámetros
-
Cara
-
Cara o caras que se están actualizando. Debe ser uno de los siguientes: GL_FRONT, GL_BACK o GL_FRONT y GL_BACK.
-
pname
-
Parámetro de material de la cara o caras que se están actualizando. Los parámetros que se pueden especificar mediante glMaterialfv y sus interpretaciones por la ecuación de iluminación son los siguientes.
Valor Significado - GL_AMBIENT
El parámetro params contiene cuatro valores de punto flotante que especifican la reflectancia RGBA ambiental del material. Los valores enteros se asignan linealmente de modo que el valor representable más positivo se asigna a 1,0 y el valor representable más negativo se asigna a -1,0. Los valores de punto flotante se asignan directamente. No se fijan valores enteros ni de punto flotante. La reflectancia ambiental predeterminada para los materiales frontales y posteriores es (0.2, 0.2, 0.2, 0.2, 1.0). - GL_DIFFUSE
El parámetro params contiene cuatro valores de punto flotante que especifican la reflectancia RGBA difusa del material. Los valores enteros se asignan linealmente de modo que el valor representable más positivo se asigna a 1,0 y el valor representable más negativo se asigna a -1,0. Los valores de punto flotante se asignan directamente. No se fijan valores enteros ni de punto flotante. La reflectancia difusa predeterminada para los materiales frontales y posteriores es (0,8, 0,8, 0,8, 1,0). - GL_SPECULAR
El parámetro params contiene cuatro valores de punto flotante que especifican la reflectancia RGBA especular del material. Los valores enteros se asignan linealmente de modo que el valor representable más positivo se asigna a 1,0 y el valor representable más negativo se asigna a -1,0. Los valores de punto flotante se asignan directamente. No se fijan valores enteros ni de punto flotante. La reflectancia especular predeterminada para los materiales frontales y posteriores es (0.0, 0.0, 0.0, 0.0, 1.0). - GL_EMISSION
El parámetro params contiene cuatro valores de punto flotante que especifican la intensidad de luz emitida por RGBA del material. Los valores enteros se asignan linealmente de modo que el valor representable más positivo se asigna a 1,0 y el valor representable más negativo se asigna a -1,0. Los valores de punto flotante se asignan directamente. No se fijan valores enteros ni de punto flotante. La intensidad de emisión predeterminada para los materiales frontales y orientados hacia atrás es (0,0, 0,0, 0,0, 1,0). - GL_SHININESS
El parámetro param es un único valor entero que especifica el exponente especular RGBA del material. Los valores enteros se asignan directamente. Solo se aceptan valores del intervalo [0, 128]. El exponente especular predeterminado para los materiales frontales y orientados hacia atrás es 0. - GL_AMBIENT_AND_DIFFUSE
Equivalente a llamar a glMaterial dos veces con los mismos valores de parámetro, una vez con GL_AMBIENT y una vez con GL_DIFFUSE. - GL_COLOR_INDEXES
El parámetro params contiene tres valores de punto flotante que especifican los índices de color para la iluminación ambiental, difusa y especular. Estos tres valores, y GL_SHININESS, son los únicos valores materiales utilizados por la ecuación de iluminación del modo de índice de color. Consulte glLightModel para obtener una explicación de la iluminación de índice de color. -
params
-
Valor en el que se establecerá el parámetro GL_SHININESS.
Valor devuelto
Esta función no devuelve ningún valor.
Códigos de error
La función glGetError puede recuperar los siguientes códigos de error.
Nombre | Significado |
---|---|
|
Face opname no era un valor aceptado. |
|
Se especificó un exponente especular fuera del intervalo de [0, 128]. |
Observaciones
La función glMaterialfv asigna valores a parámetros materiales. Hay dos conjuntos coincidentes de parámetros de material. Uno, el conjunto frontal , se usa para sombrear puntos, líneas, mapas de bits y todos los polígonos (cuando se deshabilita la iluminación de dos lados) o simplemente polígonos orientados hacia delante (cuando se habilita la iluminación de dos lados). El otro conjunto, orientado hacia atrás, se usa para sombrear polígonos orientados hacia atrás solo cuando se habilita la iluminación de dos lados. Consulte glLightModel para obtener más información sobre los cálculos de iluminación de un lado y dos lados.
La función glMaterialfv toma tres argumentos. La primera cara especifica si se modificarán los materiales GL_FRONT, los materiales GL_BACK o ambos materiales GL_FRONT_AND_BACK. El segundo, pname, especifica cuál de varios parámetros de uno o ambos conjuntos se modificará. El tercer parámetro especifica qué valor se asignará al parámetro especificado.
Los parámetros de material se usan en la ecuación de iluminación que se aplica opcionalmente a cada vértice. La ecuación se describe en glLightModel.
Los parámetros de material se pueden actualizar en cualquier momento. En concreto, se puede llamar a glMaterialfv entre una llamada a glBegin y la llamada correspondiente a glEnd. Sin embargo, si solo se va a cambiar un parámetro de material por vértice, se prefiere glColorMaterial sobre glMaterialfv.
La siguiente función recupera información relacionada con glMaterialfv:
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows 2000 Server [solo aplicaciones de escritorio] |
Encabezado |
|
Biblioteca |
|
Archivo DLL |
|