|
Wildvine Engine
Referencia Doxygen del codigo propio de Wildvine Engine.
|
Representa una entidad gr醘ica con mallas, texturas y estados de renderizado. M谩s...
#include <Actor.h>
Diagrama de herencia de Actor
Diagrama de colaboraci贸n de Actor:M茅todos p煤blicos | |
| Actor ()=default | |
| Constructor por defecto. | |
| Actor (Device &device) | |
| Constructor que inicializa el actor con un dispositivo. | |
| template<typename T > | |
| void | addComponent (EU::TSharedPointer< T > component) |
| Agrega un componente a la entidad. | |
| void | awake () override |
| bool | canCastShadow () const |
| Indica si el actor puede proyectar sombras. | |
| void | destroy () |
| Libera todos los recursos asociados al actor. | |
| template<typename T > | |
| EU::TSharedPointer< T > | getComponent () |
| Obtiene un componente de la entidad por su tipo. | |
| std::string | getName () |
| Obtiene el nombre del actor. | |
| void | init () override |
| Inicializa el actor. | |
| void | render (DeviceContext &deviceContext) override |
| Renderiza el actor en la escena. | |
| void | renderForSkybox (DeviceContext &deviceContext) |
| void | renderShadow (DeviceContext &deviceContext) |
| Renderiza la sombra del actor. | |
| void | setCastShadow (bool v) |
| Define si el actor proyecta sombras. | |
| void | setMesh (Device &device, std::vector< MeshComponent > meshes) |
| Establece las mallas del actor. | |
| void | setName (const std::string &name) |
| Establece el nombre del actor. | |
| void | setTextures (std::vector< Texture > textures) |
| Establece las texturas del actor. | |
| void | update (float deltaTime, DeviceContext &deviceContext) override |
| Actualiza el actor en cada frame. | |
| virtual | ~Actor ()=default |
| Destructor virtual por defecto. | |
Atributos protegidos | |
| std::vector< EU::TSharedPointer< Component > > | m_components |
| int | m_id |
| bool | m_isActive |
Atributos privados | |
| bool | castShadow = true |
| Indica si el actor proyecta sombras. | |
| CBChangesEveryFrame | m_cbShadow |
| Constant buffer espec韋ico de sombras. | |
| std::vector< Buffer > | m_indexBuffers |
| Buffers de 韓dices asociados a las mallas. | |
| XMFLOAT4 | m_LightPos |
| Posici髇 de la luz usada para proyectar sombras. | |
| std::vector< MeshComponent > | m_meshes |
| Conjunto de componentes de malla del actor. | |
| CBChangesEveryFrame | m_model |
| Constante de buffer para transformaciones por frame. | |
| Buffer | m_modelBuffer |
Constant buffer que contiene m_model. | |
| std::string | m_name = "Actor" |
| Nombre identificador del actor. | |
| SamplerState | m_sampler |
| Estado de muestreo de texturas. | |
| Buffer | m_shaderBuffer |
| Buffer auxiliar para datos de sombras. | |
| ShaderProgram | m_shaderShadow |
| Shader program usado para renderizar sombras. | |
| DepthStencilState | m_shadowDepthStencilState |
| Estado de profundidad/est閚cil para sombras. | |
| std::vector< Texture > | m_textures |
| Texturas aplicadas al actor. | |
| std::vector< Buffer > | m_vertexBuffers |
| Buffers de v閞tices asociados a las mallas. | |
Un Actor es una entidad del motor que contiene mallas, texturas y recursos de renderizado necesarios para dibujar un objeto en la escena. Administra buffers de v閞tices e 韓dices, estados de rasterizaci髇, blending y shaders, adem醩 de soportar renderizado de sombras.
|
default |
| Actor::Actor | ( | Device & | device | ) |
| device | Dispositivo usado para inicializar recursos del actor. |
Definici贸n en la l铆nea 11 del archivo Actor.cpp.
Hace referencia a Entity::addComponent(), awake(), ERROR, SamplerState::init(), Buffer::init(), m_modelBuffer, m_name y m_sampler.
|
virtualdefault |
|
inlineinherited |
| T | Tipo del componente, debe derivar de Component. |
| component | Puntero compartido al componente que se va a agregar. |
Definici贸n en la l铆nea 61 del archivo Entity.h.
Hace referencia a Entity::m_components.
Referenciado por Actor(), SceneGraph::addEntity() y BaseApp::init().
|
inlineoverridevirtual |
|
inline |
true si el actor proyecta sombras; false en caso contrario. Definici贸n en la l铆nea 139 del archivo Actor.h.
Hace referencia a castShadow.
|
virtual |
Incluye buffers, estados, shaders y texturas.
Implementa Entity.
Definici贸n en la l铆nea 132 del archivo Actor.cpp.
Hace referencia a Buffer::destroy(), SamplerState::destroy(), m_indexBuffers, m_modelBuffer, m_sampler, m_textures y m_vertexBuffers.
|
inlineinherited |
| T | Tipo del componente a obtener. |
Definici贸n en la l铆nea 73 del archivo Entity.h.
Hace referencia a Entity::m_components.
Referenciado por SceneGraph::addEntity(), SceneGraph::attach(), SceneGraph::detach(), BaseApp::init(), SceneGraph::isAncestor(), SceneGraph::isRoot(), BaseApp::loadScene(), SceneGraph::removeEntity(), BaseApp::update() y SceneGraph::updateWorldRecursive().
|
inline |
|
inlineoverridevirtual |
|
overridevirtual |
Configura estados de render, buffers y shaders antes de dibujar las mallas asociadas al actor.
| deviceContext | Contexto del dispositivo para operaciones gr醘icas. |
Implementa Entity.
Definici贸n en la l铆nea 92 del archivo Actor.cpp.
Hace referencia a DeviceContext::DrawIndexed(), DeviceContext::IASetPrimitiveTopology(), DeviceContext::m_deviceContext, m_indexBuffers, m_meshes, m_modelBuffer, m_sampler, m_textures, m_vertexBuffers, Buffer::render() y SamplerState::render().
| void Actor::renderForSkybox | ( | DeviceContext & | deviceContext | ) |
Definici贸n en la l铆nea 119 del archivo Actor.cpp.
Hace referencia a DeviceContext::DrawIndexed(), DeviceContext::IASetPrimitiveTopology(), m_indexBuffers, m_meshes y m_vertexBuffers.
Referenciado por Skybox::render().
| void Actor::renderShadow | ( | DeviceContext & | deviceContext | ) |
Usa shaders y estados espec韋icos de shadow mapping para dibujar la proyecci髇 del actor en el mapa de sombras.
| deviceContext | Contexto del dispositivo para operaciones gr醘icas. |
|
inline |
| v | Valor booleano que habilita o deshabilita las sombras. |
Definici贸n en la l铆nea 132 del archivo Actor.h.
Hace referencia a castShadow.
| void Actor::setMesh | ( | Device & | device, |
| std::vector< MeshComponent > | meshes | ||
| ) |
Inicializa buffers de v閞tices e 韓dices asociados a las mallas.
| device | Dispositivo con el cual se inicializan las mallas. |
| meshes | Vector de componentes de malla que se asignar醤 al actor. |
Definici贸n en la l铆nea 152 del archivo Actor.cpp.
Hace referencia a ERROR, Buffer::init(), m_indexBuffers, m_meshes y m_vertexBuffers.
Referenciado por Skybox::init().
|
inline |
| name | Nuevo nombre para el actor. |
Definici贸n en la l铆nea 118 del archivo Actor.h.
Hace referencia a m_name.
Referenciado por BaseApp::init() y Skybox::init().
|
inline |
| textures | Vector de texturas a asignar al actor. |
Definici贸n en la l铆nea 125 del archivo Actor.h.
Hace referencia a m_textures.
|
overridevirtual |
| deltaTime | Tiempo transcurrido desde la 鷏tima actualizaci髇. |
| deviceContext | Contexto del dispositivo para operaciones gr醘icas. |
Implementa Entity.
Definici贸n en la l铆nea 76 del archivo Actor.cpp.
Hace referencia a Entity::m_components, m_model, m_modelBuffer, CBChangesEveryFrame::mWorld, Buffer::update() y CBChangesEveryFrame::vMeshColor.
|
private |
Definici贸n en la l铆nea 172 del archivo Actor.h.
Referenciado por canCastShadow() y setCastShadow().
|
private |
|
protectedinherited |
Definici贸n en la l铆nea 86 del archivo Entity.h.
Referenciado por Entity::addComponent(), Entity::getComponent() y update().
|
private |
|
private |
Definici贸n en la l铆nea 152 del archivo Actor.h.
Referenciado por render(), renderForSkybox() y setMesh().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definici贸n en la l铆nea 153 del archivo Actor.h.
Referenciado por destroy(), render() y setTextures().
|
private |