Declara la API de Buffer dentro del subsistema Core.
Declara la API de DepthStencilState dentro del subsistema Core.
Declara la API de Entity dentro del subsistema ECS.
Declara la API de Prerequisites dentro del subsistema Core.
Declara la API de RasterizerState dentro del subsistema Core.
Declara la API de SamplerState dentro del subsistema Core.
Declara la API de ShaderProgram dentro del subsistema Core.
Declara la API de Texture dentro del subsistema Core.
Representa una entidad gráfica con mallas, texturas y estados de renderizado.
CBChangesEveryFrame m_cbShadow
Constant buffer específico de sombras.
void setName(const std::string &name)
Establece el nombre del actor.
bool castShadow
Indica si el actor proyecta sombras.
bool canCastShadow() const
Indica si el actor puede proyectar sombras.
void setCastShadow(bool v)
Define si el actor proyecta sombras.
std::string getName()
Obtiene el nombre del actor.
std::string m_name
Nombre identificador del actor.
ShaderProgram m_shaderShadow
Shader program usado para renderizar sombras.
virtual ~Actor()=default
Destructor virtual por defecto.
std::vector< Buffer > m_indexBuffers
Buffers de índices asociados a las mallas.
std::vector< Buffer > m_vertexBuffers
Buffers de vértices asociados a las mallas.
DepthStencilState m_shadowDepthStencilState
Estado de profundidad/esténcil para sombras.
void renderShadow(DeviceContext &deviceContext)
Renderiza la sombra del actor.
std::vector< Texture > m_textures
Texturas aplicadas al actor.
void destroy()
Libera todos los recursos asociados al actor.
Buffer m_shaderBuffer
Buffer auxiliar para datos de sombras.
void setTextures(std::vector< Texture > textures)
Establece las texturas del actor.
CBChangesEveryFrame m_model
Constante de buffer para transformaciones por frame.
std::vector< MeshComponent > m_meshes
Conjunto de componentes de malla del actor.
Buffer m_modelBuffer
Constant buffer que contiene m_model.
void setMesh(Device &device, std::vector< MeshComponent > meshes)
Establece las mallas del actor.
void render(DeviceContext &deviceContext) override
Renderiza el actor en la escena.
void renderForSkybox(DeviceContext &deviceContext)
XMFLOAT4 m_LightPos
Posición de la luz usada para proyectar sombras.
void init() override
Inicializa el actor.
SamplerState m_sampler
Estado de muestreo de texturas.
void update(float deltaTime, DeviceContext &deviceContext) override
Actualiza el actor en cada frame.
Actor()=default
Constructor por defecto.
Encapsula un ID3D11Buffer para vértices, índices o constantes, incluyendo creación, actualización y enlace.
Encapsula un ID3D11DepthStencilState y su ciclo de vida para la etapa Output-Merger.
Encapsula un ID3D11Device y facilita la creación de recursos gráficos en Direct3D 11.
Componente ECS que almacena la información de geometría (malla) de un actor.
Encapsula un ID3D11SamplerState para la etapa de muestreo de texturas en Direct3D 11.
Encapsula la creación, compilación y uso de Vertex Shader y Pixel Shader en Direct3D 11.