función glStencilOp
La función glStencilOp establece las acciones de prueba de galería de símbolos.
Sintaxis
void WINAPI glStencilOp(
GLenum fail,
GLenum zfail,
GLenum zpass
);
Parámetros
-
Fallar
-
Acción que se va a realizar cuando se produce un error en la prueba de galería de símbolos. Se aceptan las seis constantes simbólicas siguientes.
Value Significado - GL_KEEP
Mantiene el valor actual. - GL_ZERO
Establece el valor del búfer de galería de símbolos en cero. - GL_REPLACE
Establece el valor del búfer de galería de símbolos en ref, como se especifica en glStencilFunc. - GL_INCR
Incrementa el valor actual del búfer de galería de símbolos. Fija el valor máximo que se puede representar sin signo. - GL_DECR
Disminuye el valor actual del búfer de galería de símbolos. Sujeta a cero. - GL_INVERT
Bit a bit invierte el valor actual del búfer de galería de símbolos. -
zfail
-
Acción de galería de símbolos cuando se supera la prueba de galería de símbolos, pero se produce un error en la prueba de profundidad. Acepta las mismas constantes simbólicas que producen errores.
-
Zpass
-
Acción de galería de símbolos cuando se supera la prueba de galería de símbolos y la prueba de profundidad, o cuando se supera la prueba de galería de símbolos y no hay ningún búfer de profundidad o pruebas de profundidad no está habilitada. Acepta las mismas constantes simbólicas que producen errores.
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 |
---|---|
|
fail, zfail o zpass era cualquier valor distinto de los seis valores constantes definidos. |
|
Se llamó a la función entre una llamada a glBegin y la llamada correspondiente a glEnd. |
Comentarios
La galería de símbolos, como el almacenamiento en búfer z, habilita y deshabilita el dibujo por píxel. Puede dibujar en los planos de galería de símbolos mediante primitivos de dibujo de OpenGL y, a continuación, representar geometría e imágenes con los planos de galería de símbolos para enmascarar partes de la pantalla. La galería de símbolos se usa normalmente en algoritmos de representación multipaso para lograr efectos especiales, como calcales, esquematización y representación de geometría sólida constructiva.
La prueba de galería de símbolos elimina condicionalmente un píxel en función del resultado de una comparación entre el valor del búfer de galería de símbolos y un valor de referencia. La prueba está habilitada con llamadas glEnable y glDisable con GL_STENCIL_TEST de argumentos y controladas con glStencilFunc.
La función glStencilOp toma tres argumentos que indican lo que sucede con el valor de la galería de símbolos almacenada mientras la galería de símbolos está habilitada. Si se produce un error en la prueba de galería de símbolos, no se realiza ningún cambio en los búferes de color o profundidad del píxel y se produce un error en lo que sucede con el contenido del búfer de galería de símbolos.
Los valores del búfer de galería de símbolos se tratan como enteros sin signo. Cuando se incrementa y disminuye, los valores se fijan en 0 y 2n 1, donde n es el valor devuelto consultando GL_STENCIL_BITS.
Los otros dos argumentos para glStencilOp especifican acciones de búfer de galería de símbolos si las pruebas de búfer de profundidad posteriores se realizan correctamente (zpass) o producen un error (zfail). (Consulte glDepthFunc). Se especifican con las mismas seis constantes simbólicas que producen errores. Tenga en cuenta que zfail se omite cuando no hay ningún búfer de profundidad o cuando el búfer de profundidad no está habilitado. En estos casos, fail y zpass especifican la acción de galería de símbolos cuando se produce un error en la prueba de galería de símbolos y se supera, respectivamente.
Inicialmente, la prueba de galería de símbolos está deshabilitada. Si no hay ningún búfer de galería de símbolos, se puede producir ninguna modificación de la galería de símbolos y es como si las pruebas de galería de símbolos siempre se superen, independientemente de cualquier llamada a glStencilOp.
Las siguientes funciones recuperan información relacionada con glStencilOp:
glGet con GL_STENCIL_FAIL de argumentos
glGet con GL_STENCIL_PASS_DEPTH_PASS de argumentos
glGet con GL_STENCIL_PASS_DEPTH_FAIL de argumentos
glGet con GL_STENCIL_BITS de argumentos
glIsEnabled con GL_STENCIL_TEST de argumento
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 |
|