|
Wildvine Engine
Referencia Doxygen del codigo propio de Wildvine Engine.
|
Encapsula un ID3D11InputLayout que describe el formato de los vértices para el pipeline de entrada.
Más...
#include <InputLayout.h>
Métodos públicos | |
| void | destroy () |
Libera el recurso ID3D11InputLayout y deja la instancia en estado no inicializado. | |
| HRESULT | init (Device &device, const D3D11_INPUT_ELEMENT_DESC *layoutDesc, UINT layoutCount, ID3DBlob *vertexShaderData) |
| Inicializa el Input Layout a partir de una descripción y bytecode de Vertex Shader. | |
| InputLayout ()=default | |
| Constructor por defecto. | |
| void | render (DeviceContext &deviceContext) |
| Aplica el Input Layout al contexto de dispositivo. | |
| void | update () |
| Actualiza parámetros internos del Input Layout. | |
| ~InputLayout ()=default | |
| Destructor por defecto. | |
Atributos públicos | |
| ID3D11InputLayout * | m_inputLayout = nullptr |
| Recurso COM de Direct3D 11 que representa el Input Layout. | |
Un Input Layout en Direct3D 11 define cómo se interpretan los datos de un Vertex Buffer (posición, normales, UVs, colores, etc.) y cómo se asignan a las entradas de un Vertex Shader.
Esta clase administra la creación, uso y destrucción del recurso ID3D11InputLayout.
Definición en la lÃnea 21 del archivo InputLayout.h.
|
default |
|
default |
No libera automáticamente el recurso COM; llamar a destroy().
| void InputLayout::destroy | ( | ) |
Idempotente: puede llamarse múltiples veces de forma segura.
m_inputLayout == nullptr. Definición en la lÃnea 56 del archivo InputLayout.cpp.
Hace referencia a m_inputLayout y SAFE_RELEASE.
Referenciado por ShaderProgram::destroy().
| HRESULT InputLayout::init | ( | Device & | device, |
| const D3D11_INPUT_ELEMENT_DESC * | layoutDesc, | ||
| UINT | layoutCount, | ||
| ID3DBlob * | vertexShaderData | ||
| ) |
Crea un ID3D11InputLayout utilizando un arreglo de D3D11_INPUT_ELEMENT_DESC y el bytecode compilado de un Vertex Shader que define la firma de entrada.
| device | Dispositivo con el que se crea el recurso. |
| Layout | Vector con la descripción de los elementos de entrada (semánticas, formato, offset, etc.). |
| VertexShaderData | Bytecode compilado del Vertex Shader que contiene la firma de entrada. |
S_OK si la creación fue exitosa; código HRESULT en caso de error.S_OK, m_inputLayout != nullptr. Definición en la lÃnea 11 del archivo InputLayout.cpp.
Hace referencia a Device::CreateInputLayout(), ERROR y m_inputLayout.
Referenciado por ShaderProgram::CreateInputLayout().
| void InputLayout::render | ( | DeviceContext & | deviceContext | ) |
Asigna el ID3D11InputLayout al pipeline gráfico a través de ID3D11DeviceContext::IASetInputLayout.
| deviceContext | Contexto donde se establecerá el Input Layout. |
m_inputLayout debe haberse creado con init(). Definición en la lÃnea 46 del archivo InputLayout.cpp.
Hace referencia a ERROR, DeviceContext::m_deviceContext y m_inputLayout.
Referenciado por ShaderProgram::render().
| void InputLayout::update | ( | ) |
Método de marcador, útil si en el futuro se desea recrear o modificar dinámicamente el Input Layout.
Definición en la lÃnea 41 del archivo InputLayout.cpp.
| ID3D11InputLayout* InputLayout::m_inputLayout = nullptr |
Válido tras init(); nullptr después de destroy().
Definición en la lÃnea 93 del archivo InputLayout.h.
Referenciado por destroy(), init(), render() y ShaderProgram::render().