79 void addCommands(VkCommandBuffer commandBuffer, VkPipelineLayout pipelineLayout,
int index);
Declaración de la clase GEBalljoint para articulaciones jerárquicas.
Declaración de la clase GEGraphicsContext que almacena el contexto gráfico de Vulkan.
Declaración de la estructura GELight para iluminación.
Declaración de la clase GERenderingContext que describe un contexto de renderizado.
Parser para archivos .skel (XML) usando pugixml.
Representa una articulación esférica con 3 grados de libertad.
Definition GEBalljoint.h:26
Clase que almacena el contexto gráfico de Vulkan (instancia y dispositivo).
Definition GEGraphicsContext.h:17
Clase que describe un contexto de renderizado.
Definition GERenderingContext.h:20
std::string name
Nombre del esqueleto.
Definition GESkeleton.h:22
GEBalljoint * getRoot() const
Obtiene la primera articulación raíz (pelvis).
Definition GESkeleton.cpp:165
void initialize(GEGraphicsContext *gc, GERenderingContext *rc)
Inicializa los recursos gráficos del esqueleto.
Definition GESkeleton.cpp:88
GEBalljoint * createJointFromData(const GEJointData &data)
Crea recursivamente las articulaciones desde los datos parseados.
Definition GESkeleton.cpp:36
void addCommands(VkCommandBuffer commandBuffer, VkPipelineLayout pipelineLayout, int index)
Añade comandos de dibujo del esqueleto al command buffer.
Definition GESkeleton.cpp:127
glm::vec3 yAxis
Eje Y local.
Definition GESkeleton.h:25
glm::vec3 position
Posición global del esqueleto.
Definition GESkeleton.h:23
void setLight(GELight light)
Asigna la luz para el esqueleto.
Definition GESkeleton.cpp:138
glm::vec3 zAxis
Eje Z local.
Definition GESkeleton.h:24
const std::vector< GEBalljoint * > & getRootJoints() const
Obtiene todas las articulaciones raíz.
Definition GESkeleton.cpp:174
void update(GEGraphicsContext *gc, uint32_t index, glm::mat4 view, glm::mat4 projection)
Actualiza el esqueleto (transformaciones y memoria intermedia).
Definition GESkeleton.cpp:111
void destroy(GEGraphicsContext *gc)
Destruye los recursos asociados al esqueleto.
Definition GESkeleton.cpp:99
std::vector< GEBalljoint * > rootJoints
Articulaciones raíz del esqueleto.
Definition GESkeleton.h:26
GEBalljoint * findJoint(const std::string &jointName)
Busca una articulación por nombre.
Definition GESkeleton.cpp:150
~GESkeleton()
Destructor del esqueleto.
Definition GESkeleton.cpp:26
void setOrientation(glm::vec3 z, glm::vec3 y)
Ajusta la orientación local del esqueleto (ejes Z y Y).
Definition GESkeleton.cpp:202
GESkeleton()
Constructor del esqueleto.
Definition GESkeleton.cpp:13
void buildSkeleton()
Construye la jerarquía de articulaciones desde body.skel.
Definition GESkeleton.cpp:58
glm::vec3 getPosition() const
Obtiene la posición global del esqueleto.
Definition GESkeleton.cpp:192
void setPosition(glm::vec3 pos)
Establece la posición global del esqueleto.
Definition GESkeleton.cpp:183
Estructura para almacenar los datos de una articulación parseada.
Definition GEXMLParser.h:17
Estructura que describe una fuente de luz direccional.
Definition GELight.h:15