Herramientas de usuario

Herramientas del sitio


fw:ogl:graphics

¡Esta es una revisión vieja del documento!


Gráficos con OpenGL y GLSL

Conceptos

Graphics pipeline

Se refiere a los pasos que sigue la tarjeta gráfica para dibujar por pantalla.

En sí es la manipulación de los vértices y los modelos que acaban siendo una porción del framebuffer, este concretamente corresponde a lo que se acaba mostrando por pantalla.

  1. Operaciones Per-Vertex: los vértices son almacenados por OpenGL mediante la proyección de las matrices modelo-vista y convertidos a coordenadas de ventana. También es justo en esta en la que los shaders son calculados (controlados por GLSL), se colocan pues las luces, los reflejos y propiedades de superficies.
  2. Clipping y culling: Se calcula el clipping (porción de las primitivas que va a dibujarse) y qué caras son marcadas por culling (selección de caras que se han de ver) se han de preparar para la rasterización.
  3. Transformaciones de proyección de de vista: se aplica la transformación por perspectiva, los objetos que están lejos de la cámara se hacen más pequeños.
  4. Rasterización: Los vértices que forman las primitivas se unen y se rasterizan (se rellenan). Esta fase es compleja y contiene el conjunto de sub-pasos denominado pixel pipeline.
  5. Operaciones per-fragment: Esta fase también puede ser manipulada por GLSL, esta vez utilizando los fragment-shaders. Aquí se calculan los colores finales de los pixels en la pantalla.
  6. Framebuffer: En esta última fase los píxels ya forman parte de la porción de memoria llamada framebuffer. Por defecto este es pasado a pantalla cuando hay un intercambio (swap) de buffers. OpenGL permite varios objetos framebuffer (FBO) para crear una animación más fluida. A la vez, esto FBO también pueden ser aplicados como texturas o primitivas.

Shaders

GLSL

fw/ogl/graphics.1360517224.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)