Animación Vulkan 1.0
Animación de tiro libre baloncesto con motor gráfico desarrollado en clase
Cargando...
Buscando...
Nada coincide
GEApplication.h
Ir a la documentación de este archivo.
1
5
6#pragma once
7
8#define GLFW_INCLUDE_VULKAN
9#include <GLFW/glfw3.h>
10#include "GEWindowPosition.h"
11#include "GEGraphicsContext.h"
12#include "GEDrawingContext.h"
13#include "GECommandContext.h"
14#include "GEScene.h"
15
16const int WIDTH = 800;
17const int HEIGHT = 600;
18
24{
25public:
29 void run();
30
31private:
32 GLFWwindow* window;
38
39 // ===== Métodos principales =====
44 GLFWwindow* initWindow();
45
51
55 void mainLoop();
56
60 void draw();
61
65 void cleanup();
66
70 void swapFullScreen();
71
75 void resize();
76
77 // ===== Respuesta a eventos =====
86 static void keyCallback(GLFWwindow* window, int key, int scancode, int action, int mods);
87
95 static void mouseButtonCallback(GLFWwindow* window, int button, int action, int mods);
96
103 static void cursorPositionCallback(GLFWwindow* window, double xpos, double ypos);
104
111 static void framebufferResizeCallback(GLFWwindow* window, int width, int height);
112};
113
const int WIDTH
Definition GEApplication.h:16
const int HEIGHT
Definition GEApplication.h:17
Declaración de la clase GECommandContext que gestiona buffers de comandos.
Declaración de la clase GEDrawingContext para gestionar swapchain y present.
Declaración de la clase GEGraphicsContext que almacena el contexto gráfico de Vulkan.
Declaración de la clase GEScene que contiene la escena con esqueleto animado.
Declaración de la estructura GEWindowPosition para ventanas.
Clase que crea y lanza la aplicación gráfica.
Definition GEApplication.h:24
static void cursorPositionCallback(GLFWwindow *window, double xpos, double ypos)
Respuesta a un evento de movimiento del cursor.
Definition GEApplication.cpp:178
void run()
Ejecuta la aplicación.
Definition GEApplication.cpp:20
void draw()
Lanza la generación del dibujo.
Definition GEApplication.cpp:97
static void mouseButtonCallback(GLFWwindow *window, int button, int action, int mods)
Respuesta a un evento de botón de ratón.
Definition GEApplication.cpp:168
void cleanup()
Libera los recursos y finaliza la aplicación.
Definition GEApplication.cpp:108
GEWindowPosition windowPos
Definition GEApplication.h:33
GLFWwindow * window
Ventana GLFW.
Definition GEApplication.h:32
GECommandContext * cc
Definition GEApplication.h:36
GEDrawingContext * dc
Definition GEApplication.h:35
GEScene * scene
Definition GEApplication.h:37
GEGraphicsContext * gc
Definition GEApplication.h:34
void resize()
Reconstruye los objetos con el nuevo tamaño de ventana.
Definition GEApplication.cpp:200
GEWindowPosition initWindowPos()
Inicializa la posición de la ventana.
Definition GEApplication.cpp:67
void mainLoop()
Bucle principal que procesa eventos y dibuja cada frame.
Definition GEApplication.cpp:85
void swapFullScreen()
Cambia entre pantalla completa y modo ventana.
Definition GEApplication.cpp:124
static void framebufferResizeCallback(GLFWwindow *window, int width, int height)
Respuesta a un evento de redimensionamiento de la ventana.
Definition GEApplication.cpp:188
GLFWwindow * initWindow()
Inicializa la ventana GLFW.
Definition GEApplication.cpp:39
static void keyCallback(GLFWwindow *window, int key, int scancode, int action, int mods)
Respuesta a un evento de teclado.
Definition GEApplication.cpp:150
Clase que almacena los buffers de comandos vinculados a cada imagen de la swapchain.
Definition GECommandContext.h:18
Clase que contiene la información sobre el destino de las imágenes a generar (swapchain,...
Definition GEDrawingContext.h:18
Clase que almacena el contexto gráfico de Vulkan (instancia y dispositivo).
Definition GEGraphicsContext.h:17
Escena con esqueleto animado realizando tiro libre.
Definition GEScene.h:25
Estructura que almacena la posición y el tamaño de la ventana gráfica.
Definition GEWindowPosition.h:12