Animación Vulkan 1.0
Animación de tiro libre baloncesto con motor gráfico desarrollado en clase
Cargando...
Buscando...
Nada coincide
GEFigure.h
Ir a la documentación de este archivo.
1
5
6#pragma once
7
8#include "GEGraphicsContext.h"
10#include "GEVertex.h"
11#include "GETransform.h"
12#include "GEMaterial.h"
13#include "GELight.h"
14#include "GEVertexBuffer.h"
15#include "GEIndexBuffer.h"
16#include "GEUniformBuffer.h"
17#include "GEDescriptorSet.h"
18#include <glm/glm.hpp>
19#include <vector>
20
26{
27protected:
28 std::vector<GEVertex> vertices;
29 std::vector<uint16_t> indices;
30 glm::mat4 location;
33
34public:
41
46 void destroy(GEGraphicsContext* gc);
47
54 void addCommands(VkCommandBuffer commandBuffer, VkPipelineLayout pipelineLayout, int index);
55
63 void update(GEGraphicsContext* gc, uint32_t index, glm::mat4 view, glm::mat4 projection);
64
68 void resetLocation();
69
74 void setLocation(glm::mat4 m);
75
80 void translate(glm::vec3 t);
81
87 void rotate(float angle, glm::vec3 axis);
88
93 void setMaterial(GEMaterial m);
94
99 void setLight(GELight l);
100
101private:
108};
109
Declaración de la clase GEDescriptorSet para gestionar conjuntos de descriptores.
Declaración de la clase GEGraphicsContext que almacena el contexto gráfico de Vulkan.
Declaración de la clase GEIndexBuffer para buffers de índices.
Declaración de la estructura GELight para iluminación.
Declaración de la estructura GEMaterial para materiales.
Declaración de la clase GERenderingContext que describe un contexto de renderizado.
Estructura para transformaciones usadas por las figuras.
Declaración de la estructura GEVertex para vértices.
Clase que describe un conjunto de descriptores.
Definition GEDescriptorSet.h:19
Clase que describe una figura formada por una malla de vértices.
Definition GEFigure.h:26
void resetLocation()
Resetea la matriz de localización (Model).
Definition GEFigure.cpp:106
GELight light
Propiedades de la luz.
Definition GEFigure.h:32
void setMaterial(GEMaterial m)
Asigna las propiedades del material de la figura.
Definition GEFigure.cpp:143
GEDescriptorSet * dset
Descriptor set asociado.
Definition GEFigure.h:107
void addCommands(VkCommandBuffer commandBuffer, VkPipelineLayout pipelineLayout, int index)
Añade los comandos de renderizado al command buffer.
Definition GEFigure.cpp:75
std::vector< GEVertex > vertices
Lista de vértices.
Definition GEFigure.h:28
glm::mat4 location
Matriz de localización (modelo).
Definition GEFigure.h:30
void destroy(GEGraphicsContext *gc)
Libera los buffers de la figura.
Definition GEFigure.cpp:52
GEVertexBuffer * vbo
Vertex buffer object.
Definition GEFigure.h:102
void setLight(GELight l)
Asigna las propiedades de la luz que ilumina la figura.
Definition GEFigure.cpp:152
void initialize(GEGraphicsContext *gc, GERenderingContext *rc)
Inicializa los buffers de la figura.
Definition GEFigure.cpp:21
GEIndexBuffer * ibo
Index buffer object.
Definition GEFigure.h:103
GEUniformBuffer * transformBuffer
Uniform buffer para transformaciones.
Definition GEFigure.h:104
void setLocation(glm::mat4 m)
Asigna la matriz de localización (Model).
Definition GEFigure.cpp:115
void rotate(float angle, glm::vec3 axis)
Añade una rotación a la matriz de localización (Model).
Definition GEFigure.cpp:134
GEMaterial material
Propiedades del material.
Definition GEFigure.h:31
std::vector< uint16_t > indices
Lista de índices.
Definition GEFigure.h:29
void translate(glm::vec3 t)
Añade un desplazamiento a la matriz de localización (Model).
Definition GEFigure.cpp:124
GEUniformBuffer * materialBuffer
Uniform buffer para material.
Definition GEFigure.h:105
void update(GEGraphicsContext *gc, uint32_t index, glm::mat4 view, glm::mat4 projection)
Actualiza las variables uniformes.
Definition GEFigure.cpp:91
GEUniformBuffer * lightBuffer
Uniform buffer para luz.
Definition GEFigure.h:106
Clase que almacena el contexto gráfico de Vulkan (instancia y dispositivo).
Definition GEGraphicsContext.h:17
Clase que describe un buffer de índices.
Definition GEIndexBuffer.h:16
Clase que describe un contexto de renderizado.
Definition GERenderingContext.h:20
Clase que describe un conjunto de buffers para almacenar variables uniformes.
Definition GEUniformBuffer.h:12
Clase que describe un buffer de vértices.
Definition GEVertexBuffer.h:11
const axis_t axis_to_type< N >::axis
Definition pugixml.cpp:10059
Estructura que describe una fuente de luz direccional.
Definition GELight.h:15
Estructura que describe las propiedades de un material.
Definition GEMaterial.h:15