Animación Vulkan 1.0
Animación de tiro libre baloncesto con motor gráfico desarrollado en clase
Cargando...
Buscando...
Nada coincide
Referencia de la clase GEFigure

Clase que describe una figura formada por una malla de vértices. Más...

#include <GEFigure.h>

Diagrama de herencia de GEFigure
[leyenda]
Diagrama de colaboración de GEFigure:
[leyenda]

Métodos públicos

void initialize (GEGraphicsContext *gc, GERenderingContext *rc)
 Inicializa los buffers de la figura.
void destroy (GEGraphicsContext *gc)
 Libera los buffers de la figura.
void addCommands (VkCommandBuffer commandBuffer, VkPipelineLayout pipelineLayout, int index)
 Añade los comandos de renderizado al command buffer.
void update (GEGraphicsContext *gc, uint32_t index, glm::mat4 view, glm::mat4 projection)
 Actualiza las variables uniformes.
void resetLocation ()
 Resetea la matriz de localización (Model).
void setLocation (glm::mat4 m)
 Asigna la matriz de localización (Model).
void translate (glm::vec3 t)
 Añade un desplazamiento a la matriz de localización (Model).
void rotate (float angle, glm::vec3 axis)
 Añade una rotación a la matriz de localización (Model).
void setMaterial (GEMaterial m)
 Asigna las propiedades del material de la figura.
void setLight (GELight l)
 Asigna las propiedades de la luz que ilumina la figura.

Atributos protegidos

std::vector< GEVertexvertices
 Lista de vértices.
std::vector< uint16_t > indices
 Lista de índices.
glm::mat4 location
 Matriz de localización (modelo).
GEMaterial material
 Propiedades del material.
GELight light
 Propiedades de la luz.

Atributos privados

GEVertexBuffervbo
 Vertex buffer object.
GEIndexBufferibo
 Index buffer object.
GEUniformBuffertransformBuffer
 Uniform buffer para transformaciones.
GEUniformBuffermaterialBuffer
 Uniform buffer para material.
GEUniformBufferlightBuffer
 Uniform buffer para luz.
GEDescriptorSetdset
 Descriptor set asociado.

Descripción detallada

Clase que describe una figura formada por una malla de vértices.

Documentación de funciones miembro

◆ addCommands()

void GEFigure::addCommands ( VkCommandBuffer commandBuffer,
VkPipelineLayout pipelineLayout,
int index )

Añade los comandos de renderizado al command buffer.

Parámetros
commandBufferBuffer de comandos.
pipelineLayoutLayout del pipeline.
indexÍndice de la imagen.

Hace referencia a dset, ibo, indices y vbo.

◆ destroy()

void GEFigure::destroy ( GEGraphicsContext * gc)

Libera los buffers de la figura.

Parámetros
gcContexto gráfico.

Hace referencia a dset, ibo, lightBuffer, materialBuffer, transformBuffer y vbo.

◆ initialize()

void GEFigure::initialize ( GEGraphicsContext * gc,
GERenderingContext * rc )

Inicializa los buffers de la figura.

Parámetros
gcContexto gráfico.
rcContexto de renderizado.

Hace referencia a dset, ibo, GERenderingContext::imageCount, indices, lightBuffer, location, materialBuffer, transformBuffer, vbo y vertices.

◆ resetLocation()

void GEFigure::resetLocation ( )

Resetea la matriz de localización (Model).

Hace referencia a location.

◆ rotate()

void GEFigure::rotate ( float angle,
glm::vec3 axis )

Añade una rotación a la matriz de localización (Model).

Parámetros
angleÁngulo de rotación en grados.
axisEje de rotación.

Hace referencia a axis_to_type< N >::axis y location.

◆ setLight()

void GEFigure::setLight ( GELight l)

Asigna las propiedades de la luz que ilumina la figura.

Parámetros
lLuz a asignar.

Hace referencia a light.

◆ setLocation()

void GEFigure::setLocation ( glm::mat4 m)

Asigna la matriz de localización (Model).

Parámetros
mMatriz de localización.

Hace referencia a location.

◆ setMaterial()

void GEFigure::setMaterial ( GEMaterial m)

Asigna las propiedades del material de la figura.

Parámetros
mMaterial a asignar.

Hace referencia a material.

◆ translate()

void GEFigure::translate ( glm::vec3 t)

Añade un desplazamiento a la matriz de localización (Model).

Parámetros
tVector de traslación.

Hace referencia a location.

◆ update()

void GEFigure::update ( GEGraphicsContext * gc,
uint32_t index,
glm::mat4 view,
glm::mat4 projection )

Actualiza las variables uniformes.

Actualiza las variables uniformes sobre una imagen del swapchain.

Parámetros
gcContexto gráfico.
indexÍndice de la imagen.
viewMatriz de vista.
projectionMatriz de proyección.

Hace referencia a light, lightBuffer, location, material, materialBuffer, GETransform::ModelViewMatrix, GETransform::MVP, transformBuffer y GETransform::ViewMatrix.

Documentación de datos miembro

◆ dset

GEDescriptorSet* GEFigure::dset
private

Descriptor set asociado.

Referenciado por addCommands(), destroy() y initialize().

◆ ibo

GEIndexBuffer* GEFigure::ibo
private

Index buffer object.

Referenciado por addCommands(), destroy() y initialize().

◆ indices

std::vector<uint16_t> GEFigure::indices
protected

◆ light

GELight GEFigure::light
protected

Propiedades de la luz.

Referenciado por setLight() y update().

◆ lightBuffer

GEUniformBuffer* GEFigure::lightBuffer
private

Uniform buffer para luz.

Referenciado por destroy(), initialize() y update().

◆ location

glm::mat4 GEFigure::location
protected

Matriz de localización (modelo).

Referenciado por initialize(), resetLocation(), rotate(), setLocation(), translate() y update().

◆ material

GEMaterial GEFigure::material
protected

Propiedades del material.

Referenciado por setMaterial() y update().

◆ materialBuffer

GEUniformBuffer* GEFigure::materialBuffer
private

Uniform buffer para material.

Referenciado por destroy(), initialize() y update().

◆ transformBuffer

GEUniformBuffer* GEFigure::transformBuffer
private

Uniform buffer para transformaciones.

Referenciado por destroy(), initialize() y update().

◆ vbo

GEVertexBuffer* GEFigure::vbo
private

Vertex buffer object.

Referenciado por addCommands(), destroy() y initialize().

◆ vertices

std::vector<GEVertex> GEFigure::vertices
protected

La documentación de esta clase está generada de los siguientes archivos: