Acerca de las normales de cara y la eliminación de superficies ocultas

Existen varios pasos empleados normalmente para acelerar el proceso de renderización.

Para minimizar el tiempo necesario para renderizar un modelo, se suelen eliminar las superficies u objetos ocultos que estén colocados fuera de la cámara.

Todas las superficies que cree están formadas por caras. Las caras son triangulares o cuadriláteras, y cada una tiene un lado orientado hacia el interior y otro hacia el exterior. La dirección en la que señala una cara la define un vector denominado normal. La dirección de la normal indica la superficie frontal o exterior de la cara.

Las normales de cara determinan la dirección en la que la luz se refleja (rebota) y se curva (índice de refracción). Si la cámara está detrás de una cara, esta será invisible para la cámara, pero el renderizador seguirá procesándola para reflejar las luces y las sombras.

En los casos en que se vea un agujero, esto suele indicar que la cara se encuentra ausente físicamente del modelo o que mira en dirección opuesta a la cámara.

Si falta la cara, deberá reconstruirla manualmente. En el caso de los objetos dibujados con 3DCARA, la dirección de las normales se determina por la forma en que se dibuja una cara en un sistema de coordenadas en sentido horario: si se dibuja la cara en sentido horario inverso, las normales señalarán hacia fuera; pero, si se dibuja la cara en sentido horario, las normales señalarán hacia dentro. Deben dibujarse caras sistemáticamente.

Nota: Las normales en objetos sólidos suelen estar correctamente orientadas, lo cual puede ser de ayuda para crear modelos para la renderización.

Durante la renderización, el renderizador busca todas las normales que no apuntan al punto de vista y elimina de la escena las caras asociadas. Este paso de eliminación se denomina eliminación de caras posteriores.

Después de haber eliminado las caras posteriores, el renderizador utiliza un búfer Z para comparar las distancias relativas a lo largo del eje Z. Si el búfer Z indica que una cara solapa a otra, el renderizador elimina la cara que esté oculta. El tiempo que se ahorra de esta manera es proporcional al número de caras desestimadas del número total de caras.

El renderizador procesa todos los objetos de una escena, incluso aquellos que están “fuera de la cámara” y que no estarán presentes en la vista renderizada. Un modelo se genera con la intención de obtener ventajas de renderización de una buena administración de capas. Si se desactivan las capas que contienen objetos que no están en la vista actual, es posible mejorar significativamente la velocidad de renderización.