Created ComputeInputLayout (markdown)

Chuck Walbourn 2015-06-20 00:00:04 -07:00
Родитель cf4f72c779
Коммит 09eefdd62c
1 изменённых файлов: 33 добавлений и 0 удалений

33
ComputeInputLayout.md Normal file

@ -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 }