función glStencilFunc

La función glStencilFunc establece la función y el valor de referencia para las pruebas de galería de símbolos.

Sintaxis

void WINAPI glStencilFunc(
   GLenum func,
   GLint  ref,
   GLuint mask
);

Parámetros

func

Función de prueba. Los ocho tokens siguientes son válidos.

Value Significado
GL_NEVER
Siempre se produce un error.
GL_LESS
Pasa si (máscararef&) < (máscarade galería& de símbolos).
GL_LEQUAL
Pasa si (máscararef&) = (máscarade galería& de símbolos).
GL_GREATER
Pasa si (máscararef&) > (máscarade galería& de símbolos).
GL_GEQUAL
Pasa si (máscararef&) = (máscarade galería& de símbolos).
GL_EQUAL
Pasa si (máscararef&) = (máscarade galería& de símbolos).
GL_NOTEQUAL
¿Pasa si (máscararef&) ? (galería de& símbolos mask).
GL_ALWAYS
Siempre pasa.

ref

Valor de referencia de la prueba de galería de símbolos. El parámetro ref se fija en el intervalo [0, 2n 1], donde n es el número de planos de bits en el búfer de galería de símbolos.

mask

Máscara que es ANDcon el valor de referencia y el valor de galería de símbolos almacenado cuando se realiza la prueba.

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
GL_INVALID_ENUM
func no era uno de los ocho valores aceptados.
GL_INVALID_OPERATION
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 de referencia y el valor del búfer de galería de símbolos. La prueba está habilitada por glEnable y glDisable con el argumento GL_STENCIL_TEST. Las acciones realizadas en función del resultado de la prueba de galería de símbolos se especifican con glStencilOp.

El parámetro func es una constante simbólica que determina la función de comparación de galerías de símbolos. Acepta uno de los ocho valores mostrados anteriormente. El parámetro ref es un valor de referencia entero que se usa en la comparación de galerías de símbolos. Se sujeta al intervalo [0, 2n 1], donde n es el número de planos de bits en el búfer de galería de símbolos. El parámetro mask es ANDbit a bit con el valor de referencia y el valor de galería de símbolos almacenados, con los valores ANDque participan en la comparación.

Si la galería de símbolos representa el valor almacenado en la ubicación del búfer de galería de símbolos correspondiente, la lista anterior muestra el efecto de cada función de comparación que puede especificar func. Solo si la comparación se realiza correctamente es el píxel pasado a la siguiente fase del proceso de rasterización (consulte glStencilOp). Todas las pruebas tratan los valores de galería de símbolos como enteros sin signo en el intervalo [0, 2n 1], donde n es el número de planos de bits en el búfer de galería de símbolos.

Inicialmente, la prueba de galería de símbolos está deshabilitada. Si no hay ningún búfer de galería de símbolos, puede producirse ninguna modificación de la galería de símbolos y es como si la prueba de galería de símbolos siempre supere.

Las siguientes funciones recuperan información relacionada con glStencilFunc:

glGet con GL_STENCIL_FUNC de argumentos

glGet con GL_STENCIL_VALUE_MASK de argumentos

glGet con GL_STENCIL_REF 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
Gl.h
Biblioteca
Opengl32.lib
Archivo DLL
Opengl32.dll

Consulte también

glAlphaFunc

glBegin

glBlendFunc

glDepthFunc

glEnable

glEnd

glIsEnabled

glLogicOp

glStencilOp