Animación Vulkan 1.0
Animación de tiro libre baloncesto con motor gráfico desarrollado en clase
Cargando...
Buscando...
Nada coincide
GEScene.h
Ir a la documentación de este archivo.
1
5
6#pragma once
7
8#include "GEGraphicsContext.h"
9#include "GEDrawingContext.h"
10#include "GECommandContext.h"
11#include "GERenderingContext.h"
12
13#include "GEFigure.h"
14#include "GESkeleton.h"
15#include "GEAnimation.h"
16#include "GECamera.h"
17#include <vulkan/vulkan.h>
18#include <glm/glm.hpp>
19
25{
26private:
31 double lastTime;
33 glm::mat4 projection;
34
35public:
43
48 void destroy(GEGraphicsContext* gc);
49
57
63 void update(GEGraphicsContext* gc, uint32_t index);
64
70 void key_action(int key, bool pressed);
71
76 void aspect_ratio(double aspect);
77
78private:
84 GEPipelineConfig* createPipelineConfig(VkExtent2D extent);
85
90 void fillCommandBuffers(std::vector<VkCommandBuffer> commandBuffers);
91
97};
Declaración de la clase GEAnimation para sistema de animación por keyframes.
Declaración de la clase GECamera para gestión de cámara 3D.
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 GEFigure para figuras de malla.
Declaración de la clase GEGraphicsContext que almacena el contexto gráfico de Vulkan.
Declaración de la clase GERenderingContext que describe un contexto de renderizado.
Declaración de la clase GESkeleton que representa un esqueleto con articulaciones jerárquicas.
Sistema de animación por keyframes con interpolación lineal.
Definition GEAnimation.h:30
Clase que representa una cámara en el espacio 3D.
Definition GECamera.h:14
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 describe una figura formada por una malla de vértices.
Definition GEFigure.h:26
Clase que almacena el contexto gráfico de Vulkan (instancia y dispositivo).
Definition GEGraphicsContext.h:17
Almacena la configuración de un pipeline de renderizado.
Definition GEPipelineConfig.h:15
Clase que describe un contexto de renderizado.
Definition GERenderingContext.h:20
GEPipelineConfig * createPipelineConfig(VkExtent2D extent)
Obtiene la configuración del pipeline para un extent dado.
Definition GEScene.cpp:625
void destroy(GEGraphicsContext *gc)
Destruye los componentes gráficos de la escena.
Definition GEScene.cpp:472
void aspect_ratio(double aspect)
Ajusta la relación de aspecto y la matriz de proyección.
Definition GEScene.cpp:608
void key_action(int key, bool pressed)
Maneja acciones de teclado.
Definition GEScene.cpp:528
GERenderingContext * rc
Contexto de renderizado.
Definition GEScene.h:27
glm::mat4 projection
Matriz de proyección.
Definition GEScene.h:33
GECamera * camera
Cámara de la escena.
Definition GEScene.h:32
double lastTime
Tiempo de la última actualización.
Definition GEScene.h:31
GEScene(GEGraphicsContext *gc, GEDrawingContext *dc, GECommandContext *cc)
Construye la escena y crea los objetos gráficos.
Definition GEScene.cpp:417
GESkeleton * skeleton
Esqueleto de la escena.
Definition GEScene.h:29
void fillCommandBuffers(std::vector< VkCommandBuffer > commandBuffers)
Rellena los buffers de comandos para el renderizado.
Definition GEScene.cpp:659
void recreate(GEGraphicsContext *gc, GEDrawingContext *dc, GECommandContext *cc)
Reconstruye los componentes gráficos de la escena.
Definition GEScene.cpp:492
GEAnimation * createBasketballThrowAnimation()
Crea la animación de tiro libre.
Definition GEScene.cpp:24
GEAnimation * animation
Animación asociada.
Definition GEScene.h:30
GEFigure * ground
Figura del terreno.
Definition GEScene.h:28
void update(GEGraphicsContext *gc, uint32_t index)
Actualiza la escena (animaciones y transformaciones).
Definition GEScene.cpp:505
Representa un esqueleto completo con articulaciones jerárquicas.
Definition GESkeleton.h:20