1 of 15

OpenGL Window

y Context

Creando la ventana y el contexto para nuestra aplicación.

By Romualdo Villalobos

2 of 15

Se considera la parte principal de una aplicación OpenGL. El contexto es el encargado de almacenar todos los estados asociados a la instancia actual de OpenGL. Se puede pensar en un contexto OpenGL como el objeto que almacena a toda la aplicación OpenGL, aunque una aplicación puede tener varios contextos al mismo tiempo.

OpenGL context

3 of 15

¿Como crear la ventana y el contexto en C++?

GLFW, GLUT, SDL, SFML

4 of 15

¿Qué hace GLFW por nosotros?

Es una librería escrita en C, que nos facilita el proceso de crear Contextos OpenGL, ventanas y manejar el input del usuario.

5 of 15

Compiled library can be found in src/Debug named glfw3.lib.

Paso 1: Ir al sitio oficial de GLFW.

Paso 2: Clic en download GLFW.

Paso 3: Hacer Build de GLFW para VisualStudio v16 2019 usando CMake.

Paso 4: Abrir GLFW.sln y clic en Compilar > Compilar solución.

Compilando GLFW

6 of 15

Paso 1: Copiamos glfw3.lib en una carpeta de nuestro gusto, en mi caso thirdParty/OpenGL/lib y los include en thirdParty/OpenGL/include.

Paso 2: Creamos una variable de entorno OPENGL_DIR para el directorio thirdParty/OpenGL/

¿Como agregar GLFW a mi proyecto en Visual Studio 2019?

7 of 15

Paso 3: Habilitamos la ventana administrador de propiedades.

¿Como agregar GLFW a mi proyecto en Visual Studio 2019?

8 of 15

Paso 4: Agregamos una nueva hoja de propiedades al proyecto, en mi caso lo llamaré opengl_dependencies.

¿Como agregar GLFW a mi proyecto en Visual Studio 2019?

9 of 15

Paso 5: Le indicamos a nuestro proyecto dónde va a poder encontrar la librería glfw3.lib y las respectivas declaraciones de sus funciones (include files).

¿Como agregar GLFW a mi proyecto en Visual Studio 2019?

10 of 15

Paso 6: Le decimos al compilador que debe “linkear” glfw3.lib y opengl32.lib a nuestro ejecutable final.

Dato intereante: La librería opengl32.lib se descargó junto a la Microsoft SDK la cual se instala por defecto cuando instalamos “C++ development tools for visual studio”.

¿Como agregar GLFW a mi proyecto en Visual Studio 2019?

11 of 15

¿Cómo empezar a usar las funciones de OpenGL?

GLAD, GLEW, GL3W, glLoadGen

12 of 15

Paso 1: Ir al servicio web.

Paso 2: Establecemos C/C++ como lenguaje, versión de API 3.3 o superior, y definimos core profile, no incluimos extensiones por ahora y marcamos el cuadro generate a loader.

Paso 3: Agregamos la carpeta include a nuestra carpeta de includes en thirdParty/OpenGL/include.

Paso 4: Agregamos glad.c a nuestro directorio de trabajo en Visual Studio.

¿Cómo agregar GLAD a mi proyecto en Visual Studio 2019?

13 of 15

Creando la ventana de nuestra aplicación

Ver código aquí.

14 of 15

Cambiar el color de la ventana.

Cambiar el título de la ventana.

Cambiar el tamaño inicial de la ventana.

Buscar un color en internet para ponerlo de fondo.

Hacer que cuando se presione la tecla space el color de fondo cambie.

Ejercicios

15 of 15

Bibliografía