GlMap1d (función)
Las funciones glMap1d y glMap1f definen un evaluador unidimensional.
Sintaxis
void WINAPI glMap1d(
GLenum target,
GLdouble u1,
GLdouble u2,
GLint stride,
GLint order,
const GLdouble *points
);
Parámetros
-
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.
Valor 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 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, el 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 glTexCoord1 internos 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 glTexCoord2 internos 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 glTexCoord3 internos 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 glTexCoord4 internos 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 evaluada por las ecuaciones especificadas por este comando.
-
u2
-
Asignación lineal de u, tal como se presenta a glEvalCoord1, a u^, la variable evaluada por 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.
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 |
---|---|
|
target no era un valor aceptado. |
|
u1 era igual a u2. |
|
stride 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. |
Observaciones
Los evaluadores proporcionan una manera de usar la asignación polinómica o racional polinómica para generar vértices, normales, coordenadas de textura y colores. Los valores generados por un evaluador se envían a fases posteriores del procesamiento de OpenGL igual que si se hubieran presentado mediante los comandos glVertex, glNormal, glTexCoord y glColor , salvo que los valores generados no actualizan las coordenadas normales, de textura o 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. Entre ellas se incluyen casi todas las splines usadas en gráficos informáticos, como B-splines, curvas Bezier, splines Hermite, etc.
Los evaluadores definen curvas basadas en polinomios de Bernstein. Definir p () como
donde Ri es un punto de control y () es el polinomial de 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 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, en función 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 copiara 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
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 |
|