Quantcast
Viewing all articles
Browse latest Browse all 17825

Question about hardware instancing and HLSL semantics

When you are doing instancing your input layout might look something like this (from Frank Luna's DX11 book): const D3D11_INPUT_ELEMENT_DESC InputLayoutDesc::InstancedBasic32[8] = { {"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0}, {"NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0}, {"TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 24, D3D11_INPUT_PER_VERTEX_DATA, 0}, { "WORLD", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 1, 0, D3D11_INPUT_PER_INSTANCE_DATA, 1 }, { "WORLD", 1, DXGI_FORMAT_R32G32B32A32_FLOAT, 1, 16, D3D11_INPUT_PER_INSTANCE_DATA, 1 }, { "WORLD", 2, DXGI_FORMAT_R32G32B32A32_FLOAT, 1, 32, D3D11_INPUT_PER_INSTANCE_DATA, 1 }, { "WORLD", 3, DXGI_FORMAT_R32G32B32A32_FLOAT, 1, 48, D3D11_INPUT_PER_INSTANCE_DATA, 1 }, { "COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 1, 64, D3D11_INPUT_PER_INSTANCE_DATA, 1 } }; My question is, what semantic names can I give to the instanced data? Here Frank Luna is using "WORLD" but I don't see that mentioned on any HLSL semantic reference pages. Also, what if I want to pass a view-projection matrix as part of the instanced data? Can I use "VIEWPROJ"? Does it matter? Does the runtime use the semantics at all? Cheers!

Viewing all articles
Browse latest Browse all 17825

Trending Articles