Función glMap1f
Las funciones glMap1d y glMap1f definen un evaluador unidimensional.
void WINAPI glMap1f(
GLenum target,
GLfloat u1,
GLfloat u2,
GLint stride,
GLint order,
const GLfloat *points
);
-
Destino
-
Tipo de valores generados por el evaluador. Constantes simbólicas. El parámetro de destino es una constante simbólica que indica qué tipo de puntos de control se proporcionan en puntos y qué salida se genera cuando se evalúa el mapa. Puede suponer que uno de los nueve valores predefinidos.
Value Significado - GL_MAP1_VERTEX_3
Cada punto de control es tres valores de punto flotante que representan x, y y z. Los comandos glVertex3 internos se generan cuando se evalúa el mapa. - GL_MAP1_VERTEX_4
Cada punto de control es cuatro valores de punto flotante que representan x, y, z y w. Los comandos glVertex4 internos se generan cuando se evalúa el mapa. - GL_MAP1_INDEX
Cada punto de control es un único valor de punto flotante que representa un índice de color. Los comandos glIndex internos se generan cuando se evalúa el mapa. Sin embargo, el índice actual no se actualiza con el valor de estos comandos glIndex . - GL_MAP1_COLOR_4
Cada punto de control es de cuatro valores de punto flotante que representan rojo, verde, azul y alfa. Los comandos glColor4 internos se generan cuando se evalúa el mapa. Sin embargo, el color actual no se actualiza con el valor de estos comandos glColor4 . - GL_MAP1_NORMAL
Cada punto de control es tres valores de punto flotante que representan los componentes x, y y z de un vector normal. Los comandos glNormal internos se generan cuando se evalúa el mapa. Sin embargo, la normal actual no se actualiza con el valor de estos comandos glNormal . - GL_MAP1_TEXTURE_COORD_1
Cada punto de control es un valor de punto flotante único que representa la coordenada de textura de . Los comandos internos glTexCoord1 se generan cuando se evalúa el mapa. Sin embargo, las coordenadas de textura actuales no se actualizan con el valor de estos comandos glTexCoord . - GL_MAP1_TEXTURE_COORD_2
Cada punto de control es dos valores de punto flotante que representan las coordenadas de textura s y t . Los comandos internos glTexCoord2 se generan cuando se evalúa el mapa. Sin embargo, las coordenadas de textura actuales no se actualizan con el valor de estos comandos glTexCoord . - GL_MAP1_TEXTURE_COORD_3
Cada punto de control es tres valores de punto flotante que representan las coordenadas de textura s, t y r . Los comandos internos glTexCoord3 se generan cuando se evalúa el mapa. Sin embargo, las coordenadas de textura actuales no se actualizan con el valor de estos comandos glTexCoord . - GL_MAP1_TEXTURE_COORD_4
Cada punto de control es cuatro valores de punto flotante que representan las coordenadas de textura s, t, r y q . Los comandos internos glTexCoord4 se generan cuando se evalúa el mapa. Sin embargo, las coordenadas de textura actuales no se actualizan con el valor de estos comandos glTexCoord . -
u1
-
Asignación lineal de u, tal como se presenta a glEvalCoord1, a u^, la variable que evalúa las ecuaciones especificadas por este comando.
-
u2
-
Asignación lineal de u, tal como se presenta a glEvalCoord1, a u^, la variable que evalúa las ecuaciones especificadas por este comando.
-
Paso
-
Número de floats o doubles entre el principio de un punto de control y el principio del siguiente en la estructura de datos a la que se hace referencia en puntos. Esto permite insertar puntos de control en estructuras de datos arbitrarias. La única restricción es que los valores de un punto de control determinado deben ocupar ubicaciones de memoria contiguas.
-
order
-
Número de puntos de control. Debe ser positivo.
-
points
-
Puntero a la matriz de puntos de control.
Esta función no devuelve ningún valor.
La función glGetError puede recuperar los siguientes códigos de error.
Nombre | Significado |
---|---|
|
target no era un valor aceptado. |
|
u1 era igual a u2. |
|
el intervalo era menor que el número de valores de un punto de control. |
|
el orden era menor que uno o GL_MAX_EVAL_ORDER. |
|
Se llamó a la función entre una llamada a glBegin y la llamada correspondiente a glEnd. |
Los evaluadores proporcionan una manera de usar la asignación polinómica o racional polinómica para producir vértices, normales, coordenadas de textura y colores. Los valores generados por un evaluador se envían a fases posteriores del procesamiento de OpenGL como si se hubieran presentado mediante comandos glVertex, glNormal, glTexCoord y glColor , salvo que los valores generados no actualizan las coordenadas normales, de textura o de color actuales.
Todas las splines polinómicas o polinómicas racionales de cualquier grado (hasta el grado máximo admitido por la implementación de OpenGL) se pueden describir mediante evaluadores. Estos incluyen casi todos los splines usados en gráficos informáticos, como B-splines, curvas Bezier, splines Hermite, etc.
Los evaluadores definen curvas basadas en polinomios bernstein. Definir p () como
donde Ri es un punto de control y () es el polinomial bernstein de grado n (orden =n + 1):
Recuerde que
La función glMap1 se usa para definir la base y para especificar qué tipo de valores se generan. Una vez definido, se puede habilitar y deshabilitar un mapa llamando a glEnable y glDisable con el nombre del mapa, uno de los nueve valores predefinidos para el destino descrito anteriormente. La función glEvalCoord1 evalúa los mapas unidimensionales que están habilitados. Cuando glEvalCoord1 presenta un valor u, las funciones bernstein se evalúan mediante u^, donde
Los parámetros stride, order y points definen el direccionamiento de matriz para acceder a los puntos de control. El parámetro points es la ubicación del primer punto de control, que ocupa una, dos, tres o cuatro ubicaciones de memoria contiguas, dependiendo de la definición del mapa. El parámetro order es el número de puntos de control de la matriz. El parámetro stride indica cuántas ubicaciones flotantes o dobles avanzarán el puntero de memoria interna para alcanzar el siguiente punto de control.
Como sucede con todos los comandos de OpenGL que aceptan punteros a datos, es como si glMap1 copiase el contenido de los puntos antes de devolverlo. Los cambios en el contenido de los puntos no tienen ningún efecto después de llamar a glMap1 .
Las siguientes funciones recuperan información relacionada con glMap1:
glGet con GL_MAX_EVAL_ORDER de argumentos
glIsEnabled con GL_MAP1_VERTEX_3 de argumentos
glIsEnabled con GL_MAP1_VERTEX_4 de argumentos
glIsEnabled con GL_MAP1_INDEX de argumentos
glIsEnabled con GL_MAP1_COLOR_4 de argumentos
glIsEnabled con el argumento GL_MAP1_NORMAL
glIsEnabled con GL_MAP1_TEXTURE_COORD_1 de argumentos
glIsEnabled con GL_MAP1_TEXTURE_COORD_2 de argumentos
glIsEnabled con GL_MAP1_TEXTURE_COORD_3 de argumentos
glIsEnabled con GL_MAP1_TEXTURE_COORD_4 de argumentos
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 |
|