Consigue un 20% de descuento usando el código RELEASE en la compra de tu libro. Por tiempo limitado.

Introducción al lenguaje de programación de shaders

1.0.9. Fase de procesamiento de geometría

Esta publicación está disponible en...

Las imágenes que vemos en nuestra pantalla del ordenador son solicitadas por la GPU a la CPU. Tal solicitud es realizada en dos pasos principalmente:

  1. Se configura el estado del render, el cual corresponde al conjunto de etapas desde la fase de procesamiento de geometría hasta el procesamiento de un píxel.
  2. Luego se dibuja el objeto en pantalla.

La fase de procesamiento de la geometría ocurre en la GPU y es responsable del procesamiento de vértices de un objeto, la cual está dividida en cuatro subprocesos que corresponden a:

  • Vertex Shading.
  • Projection.
  • Clipping.
  • Screen mapping.
(Fig. 1.0.9a)

Cuando las primitivas ya han sido ensambladas en la etapa de aplicación, el Vertex Shading, más bien conocido como Vertex Shader Stage, se encarga de dos tareas principalmente:

  1. Calcular la posición de los vértices del objeto.
  2. Transformar su posición a distintas coordenadas de espacio para que puedan ser proyectadas en la pantalla del ordenador.

Además, dentro de este subproceso podemos seleccionar aquellas propiedades que deseamos pasar a las siguientes etapas, es decir Normales, Tangentes, coordenadas UV, etc.

Como parte del proceso, ocurre la proyección y el clipping, los cuales varían según las propiedades de nuestra cámara en la escena; si está configurada en perspectiva u ortográfica (paralela). Cabe mencionar que todo el proceso de renderización ocurre solo para aquellos elementos que se encuentran dentro del frustum de la cámara, también conocido como el View-Space.

Para entender este proceso vamos a suponer que tenemos una esfera en nuestra escena, donde la mitad de la misma está fuera del frustum. Únicamente el área de la esfera que se encuentra dentro del frustum será proyectada y posteriormente clipeada en pantalla (clipping), mientras que todo aquello fuera de la vista será descartado en el proceso de rendering.

(Fig. 1.0.9b)

Una vez que tenemos nuestros objetos clipeados en la memoria, estos son enviados posteriormente al mapeo de pantalla. En esta etapa, aquellos objetos tridimensionales que se encuentran en nuestra escena, son transformados a coordenadas de pantalla 2D también conocidas como Screen o Windows coordinates.

Siguenos para mantenerte informado sobre todas las novedades, actualizaciones y más.

Únete al grupo para compartir tus experiencias con otros desarrolladores.

¡Suscríbete a nuestro canal y sigue aprendiendo sobre desarrollo de juegos!

jettelly-logo

Jettelly Team

Somos un equipo de desarrolladores independientes con más de 9 años de experiencia en videojuegos. Como estudio independiente, hemos desarrollado Nom Noms el que publicamos con Hyperbeard en 2019. Actualmente estamos desarrollando La Biblia de Shader en Unity.

Síguenos en nuestras redes sociales.