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 GEScene

Escena con esqueleto animado realizando tiro libre. Más...

#include <GEScene.h>

Diagrama de colaboración de GEScene:
[leyenda]

Métodos públicos

 GEScene (GEGraphicsContext *gc, GEDrawingContext *dc, GECommandContext *cc)
 Construye la escena y crea los objetos gráficos.
void destroy (GEGraphicsContext *gc)
 Destruye los componentes gráficos de la escena.
void recreate (GEGraphicsContext *gc, GEDrawingContext *dc, GECommandContext *cc)
 Reconstruye los componentes gráficos de la escena.
void update (GEGraphicsContext *gc, uint32_t index)
 Actualiza la escena (animaciones y transformaciones).
void key_action (int key, bool pressed)
 Maneja acciones de teclado.
void aspect_ratio (double aspect)
 Ajusta la relación de aspecto y la matriz de proyección.

Métodos privados

GEPipelineConfigcreatePipelineConfig (VkExtent2D extent)
 Obtiene la configuración del pipeline para un extent dado.
void fillCommandBuffers (std::vector< VkCommandBuffer > commandBuffers)
 Rellena los buffers de comandos para el renderizado.
GEAnimationcreateBasketballThrowAnimation ()
 Crea la animación de tiro libre.

Atributos privados

GERenderingContextrc
 Contexto de renderizado.
GEFigureground
 Figura del terreno.
GESkeletonskeleton
 Esqueleto de la escena.
GEAnimationanimation
 Animación asociada.
double lastTime
 Tiempo de la última actualización.
GECameracamera
 Cámara de la escena.
glm::mat4 projection
 Matriz de proyección.

Descripción detallada

Escena con esqueleto animado realizando tiro libre.

Documentación de constructores y destructores

◆ GEScene()

GEScene::GEScene ( GEGraphicsContext * gc,
GEDrawingContext * dc,
GECommandContext * cc )

Construye la escena y crea los objetos gráficos.

Crea la escena.

Parámetros
gcContexto gráfico.
dcContexto de dibujo.
ccContexto de comandos.

Hace referencia a animation, aspect_ratio(), camera, GECommandContext::commandBuffers, createBasketballThrowAnimation(), createPipelineConfig(), fillCommandBuffers(), GEDrawingContext::getExtent(), ground, GEMaterial::Ka, GEMaterial::Kd, GEMaterial::Ks, GELight::La, lastTime, GELight::Ld, GELight::Ldir, GELight::Ls, rc, GEMaterial::Shininess y skeleton.

Gráfico de llamadas de esta función:

Documentación de funciones miembro

◆ aspect_ratio()

void GEScene::aspect_ratio ( double aspect)

Ajusta la relación de aspecto y la matriz de proyección.

Modifica la relación anchura/altura del modelo.

Parámetros
aspectRelación anchura/altura.

Hace referencia a projection.

Referenciado por GEScene().

Gráfico de llamadas a esta función:

◆ createBasketballThrowAnimation()

GEAnimation * GEScene::createBasketballThrowAnimation ( )
private

Crea la animación de tiro libre.

Crea la animación de tiro libre con salto.

Devuelve
Puntero a la animación creada.

Hace referencia a GEAnimation::addKeyframe().

Referenciado por GEScene().

Gráfico de llamadas de esta función:
Gráfico de llamadas a esta función:

◆ createPipelineConfig()

GEPipelineConfig * GEScene::createPipelineConfig ( VkExtent2D extent)
private

Obtiene la configuración del pipeline para un extent dado.

Obtiene la configuración del pipeline de renderizado.

Parámetros
extentExtensión de la imagen.
Devuelve
Nueva configuración del pipeline.
Parámetros
extentExtensión de la imagen.
Devuelve
Configuración del pipeline creada.

Hace referencia a GEPipelineConfig::attrFormats, GEPipelineConfig::attrOffsets, GEPipelineConfig::attrStride, GEPipelineConfig::cullMode, GEPipelineConfig::depthTestEnable, GEPipelineConfig::descriptorStages, GEPipelineConfig::descriptorTypes, GEPipelineConfig::extent, GEPipelineConfig::fragment_shader, IDR_HTML1, IDR_HTML2 y GEPipelineConfig::vertex_shader.

Referenciado por GEScene() y recreate().

Gráfico de llamadas a esta función:

◆ destroy()

void GEScene::destroy ( GEGraphicsContext * gc)

Destruye los componentes gráficos de la escena.

Parámetros
gcContexto gráfico.

Hace referencia a animation, ground, rc y skeleton.

◆ fillCommandBuffers()

void GEScene::fillCommandBuffers ( std::vector< VkCommandBuffer > commandBuffers)
private

Rellena los buffers de comandos para el renderizado.

Rellena los buffers de comandos.

Parámetros
commandBuffersBuffers de comandos a rellenar.

Hace referencia a ground, rc y skeleton.

Referenciado por GEScene() y recreate().

Gráfico de llamadas a esta función:

◆ key_action()

void GEScene::key_action ( int key,
bool pressed )

Maneja acciones de teclado.

Respuesta a acciones de teclado.

Parámetros
keyTecla (GLFW_KEY_*).
pressedtrue si la tecla está pulsada.
keyCódigo de la tecla (GLFW_KEY_*).
pressedtrue si la tecla está pulsada.

Hace referencia a animation y camera.

Referenciado por GEApplication::keyCallback().

Gráfico de llamadas a esta función:

◆ recreate()

void GEScene::recreate ( GEGraphicsContext * gc,
GEDrawingContext * dc,
GECommandContext * cc )

Reconstruye los componentes gráficos de la escena.

Parámetros
gcContexto gráfico.
dcContexto de dibujo.
ccContexto de comandos.

Hace referencia a GECommandContext::commandBuffers, createPipelineConfig(), fillCommandBuffers(), GEDrawingContext::getExtent() y rc.

Gráfico de llamadas de esta función:

◆ update()

void GEScene::update ( GEGraphicsContext * gc,
uint32_t index )

Actualiza la escena (animaciones y transformaciones).

Actualiza la información para generar la imagen.

Parámetros
gcContexto gráfico.
indexÍndice de la imagen a renderizar.

Hace referencia a animation, camera, ground, lastTime, projection y skeleton.

Documentación de datos miembro

◆ animation

GEAnimation* GEScene::animation
private

Animación asociada.

Referenciado por destroy(), GEScene(), key_action() y update().

◆ camera

GECamera* GEScene::camera
private

Cámara de la escena.

Referenciado por GEScene(), key_action() y update().

◆ ground

GEFigure* GEScene::ground
private

Figura del terreno.

Referenciado por destroy(), fillCommandBuffers(), GEScene() y update().

◆ lastTime

double GEScene::lastTime
private

Tiempo de la última actualización.

Referenciado por GEScene() y update().

◆ projection

glm::mat4 GEScene::projection
private

Matriz de proyección.

Referenciado por aspect_ratio() y update().

◆ rc

GERenderingContext* GEScene::rc
private

Contexto de renderizado.

Referenciado por destroy(), fillCommandBuffers(), GEScene() y recreate().

◆ skeleton

GESkeleton* GEScene::skeleton
private

Esqueleto de la escena.

Referenciado por destroy(), fillCommandBuffers(), GEScene() y update().


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