Escena con esqueleto animado realizando tiro libre. Más...
#include <GEScene.h>
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 | |
| GEPipelineConfig * | createPipelineConfig (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. | |
| GEAnimation * | createBasketballThrowAnimation () |
| Crea la animación de tiro libre. | |
Atributos privados | |
| GERenderingContext * | rc |
| Contexto de renderizado. | |
| GEFigure * | ground |
| Figura del terreno. | |
| GESkeleton * | skeleton |
| Esqueleto de la escena. | |
| GEAnimation * | animation |
| Animación asociada. | |
| double | lastTime |
| Tiempo de la última actualización. | |
| GECamera * | camera |
| Cámara de la escena. | |
| glm::mat4 | projection |
| Matriz de proyección. | |
Escena con esqueleto animado realizando tiro libre.
| GEScene::GEScene | ( | GEGraphicsContext * | gc, |
| GEDrawingContext * | dc, | ||
| GECommandContext * | cc ) |
Construye la escena y crea los objetos gráficos.
Crea la escena.
| gc | Contexto gráfico. |
| dc | Contexto de dibujo. |
| cc | Contexto 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.
| 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.
| aspect | Relación anchura/altura. |
Hace referencia a projection.
Referenciado por GEScene().
|
private |
Crea la animación de tiro libre.
Crea la animación de tiro libre con salto.
Hace referencia a GEAnimation::addKeyframe().
Referenciado por GEScene().
|
private |
Obtiene la configuración del pipeline para un extent dado.
Obtiene la configuración del pipeline de renderizado.
| extent | Extensión de la imagen. |
| extent | Extensión de la imagen. |
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().
| void GEScene::destroy | ( | GEGraphicsContext * | gc | ) |
|
private |
Rellena los buffers de comandos para el renderizado.
Rellena los buffers de comandos.
| commandBuffers | Buffers de comandos a rellenar. |
Hace referencia a ground, rc y skeleton.
Referenciado por GEScene() y recreate().
| void GEScene::key_action | ( | int | key, |
| bool | pressed ) |
Maneja acciones de teclado.
Respuesta a acciones de teclado.
| key | Tecla (GLFW_KEY_*). |
| pressed | true si la tecla está pulsada. |
| key | Código de la tecla (GLFW_KEY_*). |
| pressed | true si la tecla está pulsada. |
Hace referencia a animation y camera.
Referenciado por GEApplication::keyCallback().
| void GEScene::recreate | ( | GEGraphicsContext * | gc, |
| GEDrawingContext * | dc, | ||
| GECommandContext * | cc ) |
Reconstruye los componentes gráficos de la escena.
| gc | Contexto gráfico. |
| dc | Contexto de dibujo. |
| cc | Contexto de comandos. |
Hace referencia a GECommandContext::commandBuffers, createPipelineConfig(), fillCommandBuffers(), GEDrawingContext::getExtent() y rc.
| void GEScene::update | ( | GEGraphicsContext * | gc, |
| uint32_t | index ) |
|
private |
Animación asociada.
Referenciado por destroy(), GEScene(), key_action() y update().
|
private |
Cámara de la escena.
Referenciado por GEScene(), key_action() y update().
|
private |
Figura del terreno.
Referenciado por destroy(), fillCommandBuffers(), GEScene() y update().
|
private |
|
private |
Matriz de proyección.
Referenciado por aspect_ratio() y update().
|
private |
Contexto de renderizado.
Referenciado por destroy(), fillCommandBuffers(), GEScene() y recreate().
|
private |
Esqueleto de la escena.
Referenciado por destroy(), fillCommandBuffers(), GEScene() y update().