Motor OpenGL
Cargando...
Buscando...
Nada coincide
1.Inicialización de Dependencias

Veremos como se inicializa GLFW y GLAD, que son dos librerías de openGL. También como se crea una ventana con GLFW.

1.1 Inicializando GLFW

Para inicializar GLFW lo primero que hay que hacer es incluir su cabecera

#include <GLFW/glfw3.h>

Después hay que llamar a su método glfwInit() que si todo es correcto devuelve GLFW_TRUE

if (glfwInit() == GLFW_FALSE) {
return false;
}

Crear la ventana

Una vez inicializado GLFW hay que crear una ventana y crear el contexto

_window = glfwCreateWindow(800, 600, "Ventana de Ejempl", NULL, NULL);
if (_window == NULL)
{
std::cout << "Failed to create GLFW window" << std::endl;
return false;
}
// Aqui se crea el contexto
glfwMakeContextCurrent(_window);

Los parámetros de glfwCreateWindow()

glfwCreateWindow(int width, int height, const char* title, GLFWmonitor* monitor, GLFWwindow* share);

Nota: los dos últimos parámetros no tengo ni idea de como funciona

1.2 Inicializando GLAD

La librería GLAD es como GLEW pero mas moderna y se actualiza mas, básicamente sirve para guardarse los punteros de las funciones de openGL.

Lo primero de todo es incluir la cabecera antes que nada

#include <glad/glad.h>
#include <GLFW/glfw3.h>

Para inicializar correctamente GLAD hay que hacer el init después de que haya un contexto de openGL válido

...
// Se crea el contexto
glfwMakeContextCurrent(_window);
// AHora ya se puede llamar al init
if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
{
std::cout << "Failed to initialize GLAD" << std::endl;
return false;
}