Clase que describe una figura formada por una malla de vértices. Más...
#include <GEFigure.h>
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< GEVertex > | vertices |
| 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 | |
| GEVertexBuffer * | vbo |
| Vertex buffer object. | |
| GEIndexBuffer * | ibo |
| Index buffer object. | |
| GEUniformBuffer * | transformBuffer |
| Uniform buffer para transformaciones. | |
| GEUniformBuffer * | materialBuffer |
| Uniform buffer para material. | |
| GEUniformBuffer * | lightBuffer |
| Uniform buffer para luz. | |
| GEDescriptorSet * | dset |
| Descriptor set asociado. | |
Clase que describe una figura formada por una malla de vértices.
| void GEFigure::addCommands | ( | VkCommandBuffer | commandBuffer, |
| VkPipelineLayout | pipelineLayout, | ||
| int | index ) |
| void GEFigure::destroy | ( | GEGraphicsContext * | gc | ) |
Libera los buffers de la figura.
| gc | Contexto gráfico. |
Hace referencia a dset, ibo, lightBuffer, materialBuffer, transformBuffer y vbo.
| void GEFigure::initialize | ( | GEGraphicsContext * | gc, |
| GERenderingContext * | rc ) |
Inicializa los buffers de la figura.
| gc | Contexto gráfico. |
| rc | Contexto de renderizado. |
Hace referencia a dset, ibo, GERenderingContext::imageCount, indices, lightBuffer, location, materialBuffer, transformBuffer, vbo y vertices.
| void GEFigure::resetLocation | ( | ) |
Resetea la matriz de localización (Model).
Hace referencia a location.
| void GEFigure::rotate | ( | float | angle, |
| glm::vec3 | axis ) |
Añade una rotación a la matriz de localización (Model).
| angle | Ángulo de rotación en grados. |
| axis | Eje de rotación. |
Hace referencia a axis_to_type< N >::axis y location.
| void GEFigure::setLight | ( | GELight | l | ) |
Asigna las propiedades de la luz que ilumina la figura.
| l | Luz a asignar. |
Hace referencia a light.
| void GEFigure::setLocation | ( | glm::mat4 | m | ) |
Asigna la matriz de localización (Model).
| m | Matriz de localización. |
Hace referencia a location.
| void GEFigure::setMaterial | ( | GEMaterial | m | ) |
Asigna las propiedades del material de la figura.
| m | Material a asignar. |
Hace referencia a material.
| void GEFigure::translate | ( | glm::vec3 | t | ) |
Añade un desplazamiento a la matriz de localización (Model).
| t | Vector de traslación. |
Hace referencia a location.
| 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.
| gc | Contexto gráfico. |
| index | Índice de la imagen. |
| view | Matriz de vista. |
| projection | Matriz de proyección. |
Hace referencia a light, lightBuffer, location, material, materialBuffer, GETransform::ModelViewMatrix, GETransform::MVP, transformBuffer y GETransform::ViewMatrix.
|
private |
Descriptor set asociado.
Referenciado por addCommands(), destroy() y initialize().
|
private |
Index buffer object.
Referenciado por addCommands(), destroy() y initialize().
|
protected |
Lista de índices.
Referenciado por addCommands(), GECylinder::GECylinder(), GEGround::GEGround(), GESphere::GESphere() y initialize().
|
protected |
Propiedades de la luz.
Referenciado por setLight() y update().
|
private |
Uniform buffer para luz.
Referenciado por destroy(), initialize() y update().
|
protected |
Matriz de localización (modelo).
Referenciado por initialize(), resetLocation(), rotate(), setLocation(), translate() y update().
|
protected |
Propiedades del material.
Referenciado por setMaterial() y update().
|
private |
Uniform buffer para material.
Referenciado por destroy(), initialize() y update().
|
private |
Uniform buffer para transformaciones.
Referenciado por destroy(), initialize() y update().
|
private |
Vertex buffer object.
Referenciado por addCommands(), destroy() y initialize().
|
protected |
Lista de vértices.
Referenciado por GECylinder::GECylinder(), GEGround::GEGround(), GESphere::GESphere() y initialize().