Shader Parameter: Difference between revisions

Update with info from B5FinalFIGS symbols.
(Created page.)
 
(Update with info from B5FinalFIGS symbols.)
 
Line 11:
 
= Structures =
=== HeaderShaderParams ===
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x40xC || [[#Entry infoParameterBlock|Entry infoParameterBlock]]* || ? || EntryBase infoclass ||
|}
 
=== ParameterBlock ===
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || [[#ParameterSemanticBlock|ParameterSemanticBlock]]* || mpSemanticBlock || Entry info ||
|-
| 0x4 || 0x4 || floatuint32_t* || ?mpParameterBlock || DataParameter data || Floats in reality, not ints
|-
| 0x8 || 0x4 || uint32_t || ?mDataSize || Data count ||
|}
 
=== Entry infoParameterSemanticBlock ===
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || uint32_tuint || ?mCount || Number of entriessemantics ||
|-
| 0x4 || 0x4 || uint32_tuint || ?mDataSize || Data count || Same as header data count
|-
| 0x8 || 0x4 || [[#EntryParameterSemantic|EntryParameterSemantic]] || ?mpSemantics || EntriesSemantics ||
|}
 
=== EntryParameterSemantic ===
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || ?void* || ?m_hParameter || Parameter || AlwaysSet nullat runtime
|-
| 0x4 || 0x4 || char* || ?m_Namespace || NameNamespace name ||
|-
| 0x8 || 0x4 || uint32_t || ?m_NamespaceId || NameNamespace name CRC32 hash ||
|-
| 0xC || 0x4 || char* || ?m_Semantic || TypeSemantic name || Includes:<br />INSTANCE<br />MATERIAL<br />LIGHTD
|-
| 0x10 || 0x4 || uint32_t || ?m_SemanticId || TypeSemantic name CRC32 hash ||
|-
| 0x14 || 0x4 || ?void* || ?m_pData || Data || AlwaysSet nullat runtime
|-
| 0x18 || 0x2 || uint16_t || ?m_uNum || || Always 1
|-
| 0x1A || 0x1 || uint8_t || ?m_uStride || Data countStride || Subset of data pointed to in header<br />Sequential—if first entry uses 10, second starts at 11th, and so on
|-
| 0x1B || 0x1 || ?uint8_t || ?m_uType || PaddingType || Always null0
|}