De Wikipedia, la enciclopedia libre
  (Redirigido desde la selección de Backface )
Saltar a navegación Saltar a búsqueda
A la izquierda un modelo sin BFC; a la derecha el mismo modelo con BFC: se eliminan las caras posteriores.

En los gráficos por computadora , la selección del reverso determina si un polígono de un objeto gráfico es visible. Es un paso en la canalización gráfica que prueba si los puntos en el polígono aparecen en el sentido de las agujas del reloj o en sentido contrario cuando se proyectan en la pantalla. Si el usuario ha especificado que los polígonos frontales tienen un devanado en el sentido de las agujas del reloj, pero el polígono proyectado en la pantalla tiene un devanado en el sentido contrario a las agujas del reloj, entonces se ha girado para mirar hacia afuera de la cámara y no se dibujará.

El proceso hace que la renderización de objetos sea más rápida y eficiente al reducir la cantidad de polígonos que debe dibujar el programa. Por ejemplo, en la escena de una calle de una ciudad, generalmente no es necesario dibujar los polígonos en los lados de los edificios en dirección opuesta a la cámara; están completamente ocluidos por los lados que miran hacia la cámara.

En general, se puede suponer que el sacrificio de la cara posterior no produce ningún artefacto visible en una escena renderizada si solo contiene geometría cerrada y opaca. En escenas que contienen polígonos transparentes, los polígonos orientados hacia atrás pueden volverse visibles a través del proceso de composición alfa . En el renderizado de estructura de alambre, la eliminación selectiva de la cara posterior se puede utilizar para abordar parcialmente el problema de la eliminación de líneas ocultas , pero solo para geometría convexa cerrada.

Una técnica relacionada es el recorte , que determina si los polígonos están dentro del campo de visión de la cámara.

Otra técnica similar es la eliminación en Z, también conocida como eliminación por oclusión , que intenta omitir el dibujo de polígonos que están cubiertos desde el punto de vista por otros polígonos visibles.

Implementación [ editar ]

Un método para implementar la eliminación selectiva de la cara posterior es descartar todos los triángulos donde el producto escalar de su superficie normal y el vector de cámara a triángulo es mayor o igual a cero.

donde P es el punto de vista, V 0 es el primer vértice de un triángulo y N es su normal, definida como un producto cruzado de dos vectores que representan los lados del triángulo adyacente a V 0

Dado que el producto cruzado no es conmutativo, definir la normal en términos de producto cruzado permite especificar la dirección normal en relación con la superficie del triángulo utilizando el orden de vértice (devanado):

Si los puntos ya están en el espacio de visualización, se puede suponer que P es ( 0 , 0 , 0 ) , el origen.

También es posible utilizar este método en el espacio de proyección representando la desigualdad anterior como un determinante de una matriz y aplicándole la matriz de proyección. [1]

Existe otro método basado en la paridad de reflexión, que es más apropiado para dos dimensiones donde no se puede calcular la normal de la superficie (también conocido como verificación CCW).

Dejemos que un triángulo unitario en dos dimensiones ( coordenadas homogéneas ) se defina como

Luego, para algún otro triángulo, también en dos dimensiones,

definir una matriz que transforme el triángulo unitario:

así que eso:

Descarte el triángulo si la matriz M contenía un número impar de reflejos (mirando en la dirección opuesta del triángulo unitario)

El triángulo unitario se usa como referencia y la transformación M se usa como trazo para saber si el orden de los vértices es diferente entre dos triángulos. La única forma en que el orden de los vértices puede cambiar en dos dimensiones es mediante la reflexión. La reflexión es un ejemplo de función involutiva (con respecto al orden de los vértices), incluso un número de reflejos dejará el triángulo mirando hacia el mismo lado, como si no se aplicara ningún reflejo. Un número impar de reflejos dejará el triángulo mirando hacia el otro lado, como si fuera exactamente después de un reflejo. Las transformaciones que contienen un número impar de reflejos siempre tienen un factor de escala negativo, así mismo, el factor de escala es positivo si no hay reflejos o incluso varios de ellos. El factor de escala de una transformación se calcula mediante determinante de su matriz.

Referencias [ editar ]

  1. ^ David H. Eberly (2006). Diseño de motores de juegos 3D: un enfoque práctico para los gráficos por computadora en tiempo real , p. 69. Morgan Kaufmann Publishers, Estados Unidos. ISBN  0122290631 .