Material Technique/Development

From Burnout Wiki

Versions

Structures

MaterialTechnique

2007-08-31, 2007-09-04

Offset Length Type Name Description Comments
0x0 0x1 int8_t mi8NumInternalSamplers Number of internal samplers
0x1 0x1 int8_t mi8NumExternalSamplers Number of external samplers
0x2 0x2 int16_t ? Total number of samplers 16-bit variant of mi8NumSamplers
0x4 0x4 Sampler* mpaSamplers Sampler
0x8 0x4 ShaderTechnique* mpShaderTechnique Imported resource
0xC 0x4 MaterialState* mpMaterialState Imported resource
0x10 0x2 uint16_t mu16StateFlags State flags Null in samples
At runtime, 2+4 set for animated materials
0x10 set if object/global vertex shader constants present in Shader Technique
0x12 0x2 uint16_t mu16VertexProgramHash12 Hash calculated at runtime
0x14 0x2 uint16_t mu16PixelProgramHash12 Hash calculated at runtime
0x16 0x2 uint16_t mu16MaterialHash16 Hash calculated at runtime
0x18 0x2 uint16_t mu16Flags2 Set at runtime (taken from Shader Technique)
0x1A 0x6 ? ? Likely padding Null in samples
0x20 0x4 uint32_t mNameHash Unknown algorithm and source
Does not match Bundle resource name
0x24 0x4 ShaderConstantsInternal* mpVertexShaderConstants Vertex shader constants
0x28 0x4 ShaderConstantsInternal* mpPixelShaderConstants Pixel shader constants
0x2C 0x4 ShaderConstantsCPU* mpCPUShaderConstants CPU shader constants Set at runtime
0x30 0x4 uint32_t ? Set at runtime

CgsGraphics::Sampler

2007-08-31, 2007-09-04

Offset Length Type Name Description Comments
0x0 0x4 ? ? Null in samples
0x4 0x4 char* purpose Purpose string
0x8 0x4 uint32_t id ID hash Unknown source string
0xC 0x2 int16_t channel
0xE 0x2 int16_t scope
0x10 0x4 TexturePurpose ePurpose Texture purpose
0x14 0x4 TextureState* state Texture state Imported resource