Mi primera aplicacion con OpenGL 3

Siempre he dicho que es esencial tener un mínimo de conocimiento básico de cómo funcionan las cosas a bajo nivel, además de dominar algún motor. Aunque en definitiva, este último es quien nos va a permitir ser productivos, unos buenos fundamentos de OpenGL/Direct3D y matemáticas son los que nos permitirán explotar a fondo el motor y no simplemente cliquear, arrastrar y soltar cosas hechas de antemano.
Luego de unas vacaciones en las que regresé a la universidad (solo por un par de días, que tampoco es para tanto), venía con deseos de probar un poco el nuevo estándar. A partir de OpenGL 3, la forma de programar cambia y hay que acostumbrarse a algo muy diferente. Me decidí por la versión 3.3 pues aunque se puede considerar algo vetusta ya, está soportada por una amplia base de hardware, incluyendo tarjetas ya en franca obsolescencia.
Mi idea inicial era usar un cubo, pero no logré que las coordenadas funcionaran, así que tuve que conformarme con este modesto triángulo. El programa en sí es simple, pero me llevó algo de tiempo tomar de varios tutoriales diferentes hasta lograr lo que quería: inicializar el contexto con SDL2, crear unos  shaders básicos (en este caso, el fragment shader es el encargado de colorear el triángulo) y dibujar el polígono.
El proceso de dibujo implica crear un VBO con la geometría, y luego un VAO, que se supone, si no recuerdo mal, que deba contener algunas propiedades, en este caso nada de importancia. Nada que un programador con habilidades medias no pueda conseguir leyendo un poco.
Trataré de organizar lo mejor posible el código, comentarlo en inglés y español y ponerlo a disposición de quien lo necesite lo antes posible.

Comentarios