Created ComputeInputLayout (markdown)
Родитель
cf4f72c779
Коммит
09eefdd62c
|
@ -0,0 +1,33 @@
|
|||
Returns the byte offsets for each element of an input layout and the implied vertex stride from a given Direct3D 11 input layout description.
|
||||
|
||||
void ComputeInputLayout(
|
||||
const D3D11_INPUT_ELEMENT_DESC* vbDecl, size_t nDecl,
|
||||
uint32_t* offsets, uint32_t* strides );
|
||||
|
||||
# Parameters
|
||||
|
||||
_vbDecl_: Input layout description, which is nDecl elements long.
|
||||
|
||||
_offsets_: Must have nDecl elements of space.
|
||||
|
||||
_strides_: Must have ``D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT`` of space. Can be nullptr.
|
||||
|
||||
# Example
|
||||
|
||||
const D3D11_INPUT_ELEMENT_DESC inputLayout[] =
|
||||
{
|
||||
{ "SV_Position", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "TANGENT", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "COLOR", 0, DXGI_FORMAT_R8G8B8A8_UNORM, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "BLENDINDICES",0, DXGI_FORMAT_R8G8B8A8_UINT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
{ "BLENDWEIGHT", 0, DXGI_FORMAT_R8G8B8A8_UNORM, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 },
|
||||
};
|
||||
|
||||
uint32_t offsets[ D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT ];
|
||||
uint32_t strides[ D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT ];
|
||||
ComputeInputLayout( &inputLayout, 7, offsets, strides );
|
||||
|
||||
// strides[0] contains 60
|
||||
// offsets contains = { 0, 12, 24, 40, 44, 52, 56 }
|
Загрузка…
Ссылка в новой задаче