Saltear el contenido

OpenGL: introducción

OpenGL es una API para acceder a las características de nuestra tarjeta gráfica. En él encontraremos más de 500 comandos que son requeridos para crear gráficos 3D que puedes ver en tu pantalla. OpenGL está diseñado para no depender del hardware y por lo mismo puede ser usado con distintas tarjetas de video. Tampoco depende del sistema de ventanas que usemos en nuestro escritorio por lo que podremos usarlo en distintos entornos de escritorio como GNOME, KDE, Windows, etc.

Términos importantes

  • Primitivos: líneas, puntos, triángulos.
  • Modelos: son objetos construidos por primitivos
  • Renderizado: el proceso por el cual una computadora crea una imagen a partir de modelos.
  • Shaders: programas pequeños compilados que el hardware de gráfica ejecuta.
  • Vertex Shader: el shader más usado en OpenGL.
  • Pixel: el elemento o unidad más pequeña y visible dibujado en tu pantalla.
  • Framebuffer: donde los pixeles son alojados, el cual es un pedazo de memoria manejado por tu hardware gráfico y sirve a su dispositivo de visualización como una pantalla.

¿Cómo es el proceso de renderizado?
A continuación, listaremos como se hace con OpenGL para renderizar una imagen:

  1. Se especifica una lista de primitivos, los cuales pueden ser puntos, líneas, triángulos y patches.
  2. Ejecutar los shaders correspondientes para realizar los cálculos de los primitivos y determinar la posición, color y otras características del render.
  3. Rasterización: convertir la descripción de los primitivos en fragmentos y asociarlos con una posición en la pantalla.
  4. Ejecutar un fragment shader por cada fragmento generado lo cual determinará el color y posición final del fragmento descritos en la rasterización.
  5. Otras operaciones posibles sobre cada fragmento, como determinar si estos serán visibles o si el color asignado se mezclará con alguno que ya estaba en la pantalla.
Publicado enNoticiasTutoriales

¡Sé el primero en comentar!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *


5 + = seis