Nuestro Engine comenzó hace poco, como lo vieron en el primer post y video. 

Decidí llevar a cabo un devlog personal, para todos los amantes de éstas cosas, así que espero lo aprecien y guste. En él van a entender el camino y los progresos que se van transitando. Esto lo voy llevando a cabo en parte, en videos en vivo, y en otra en un devlog en Discord.

Como saben en el episodio 1, expliqué las bases y fundamentos del proyecto.

Tras esa transmisión comencé el devlog escrito, que verán a continuación:

27/06/2021

Luego de investigar varias noches, pude compilar la librería OpenGL. El truco es usar el programa CMAKE como administrador, descomprimir la librería usando WINRAR como administrador y deshabilitar todas las opciones extra que trae el OPENGL, de otra forma no funciona.

Adicionalmente estuve leyendo un artículo, que habla sobre la inconveniencia en la arquitectura de un engine a la hora de usar Singletons… parece que no es tan buena práctica o no tan recomendada a largo plazo, por lo cual reduje mis clases que había optimizado como singleton.

Dejo el artículo a continuación: http://gameprogrammingpatterns.com/singleton.html

 

30/06/2021

Logré hacer funcionar el dibujado. Parecen ser 2 problemas los que no me lo permitían. El primero es que DRAW_POINTS no está dibujandome los puntos, o quizás les debo cambiar el size, porque no se ven en absoluto, no hay nada. Con cualquier otra geometría funciona perfectamente.

Por otra parte he descubierto que la siguiente linea contiene un error de lógica que aún no comprendo, pero por ahora no es tan necesaria:

glOrtho(0, globals::get_globals()->w, 0, globals::get_globals()->h, -2, 2); // unidades = pixeles

Probablemente tenga alguna lógica del juego en pantalla split screen que tenía, ya que lo copié de un videojuego anterior. Quitando ésta función y cambiando el punto por polígonos me ha funcionado perfectamente.

01/06/2021

NOTA IMPORTANTE: No olvidarse que el translatef debe usarse antes de GL_BEGIN (dibujado). Hoy perdí como 5 horas y no es fácil de encontrar eso.