91 ID3D11Resource* pDstResource,
92 unsigned int DstSubresource,
93 const D3D11_BOX* pDstBox,
95 unsigned int SrcRowPitch,
96 unsigned int SrcDepthPitch);
117 unsigned int StartSlot,
118 unsigned int NumBuffers,
119 bool setPixelShader =
false,
120 DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN);
144 D3D11_BUFFER_DESC& desc,
145 D3D11_SUBRESOURCE_DATA* initData);
Declara la API de MeshComponent dentro del subsistema Core.
Declara la API de Prerequisites dentro del subsistema Core.
Encapsula un ID3D11Buffer para vértices, índices o constantes, incluyendo creación, actualización y enlace.
unsigned int m_offset
Desplazamiento inicial en bytes (para Vertex Buffer).
void update(DeviceContext &deviceContext, ID3D11Resource *pDstResource, unsigned int DstSubresource, const D3D11_BOX *pDstBox, const void *pSrcData, unsigned int SrcRowPitch, unsigned int SrcDepthPitch)
Actualiza el contenido del buffer (típicamente mediante UpdateSubresource).
HRESULT createBuffer(Device &device, D3D11_BUFFER_DESC &desc, D3D11_SUBRESOURCE_DATA *initData)
Crea un buffer genérico con una D3D11_BUFFER_DESC y datos iniciales opcionales.
HRESULT init(Device &device, const MeshComponent &mesh, unsigned int bindFlag)
Inicializa el buffer como Vertex o Index Buffer usando un MeshComponent.
unsigned int m_bindFlag
Bandera de enlace (D3D11_BIND_* ) que define el rol del buffer.
Buffer()=default
Constructor por defecto (no crea recursos).
void render(DeviceContext &deviceContext, unsigned int StartSlot, unsigned int NumBuffers, bool setPixelShader=false, DXGI_FORMAT format=DXGI_FORMAT_UNKNOWN)
Enlaza el buffer a la etapa correspondiente del pipeline para el frame de render.
unsigned int m_stride
Recurso COM de D3D11 administrado por la clase.
void destroy()
Libera el ID3D11Buffer y resetea los metadatos internos.
~Buffer()=default
Destructor por defecto.
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.