ShaderTechnique
aka {{{othernames}}}
No Example
Resource names
Unknown
Type ID
0x32
Category
Generic
Memory distribution
Main Memory only
Imports
Shader Program Buffer
Imported by
Material Technique
Editor available?
No
Development Information on versions of the Shader Technique resource type used during development.
The Shader Technique resource type is the primary shader type in Burnout Paradise. It is used in conjunction with the Shader Program Buffer type, which holds precompiled shaders.
This type is only used on PlayStation 3 and Xbox 360. In the original PC game and Remastered, it is replaced by the Shader resource type.
Structures
CgsGraphics::ShaderTechnique
ShaderConstantsInternal
Offset
Length
Type
Name
Description
Comments
0x0
0x4
uint32_t
muNumConstantsInstances
Number of instances
Applies to size, data and hashes
0x4
0x4
uint32_t*
mpauConstantsInstanceSize
Per-instance data size
0x8
0x4
uint32_t**
mppaConstantsInstanceData
Instance data
Instance data is actually float[4]
0xC
0x4
uint32_t*
mpauNamesHash
Array of hashes of the names of constants
CRC32?
0x10
0x4
ProgramVariableHandle *
mpaProgramStateHandles
renderengine::ProgramVariableHandle
Offset
Length
Type
Name
Description
Comments
0x0
0x4
ProgramBuffer*
m_programBuffer
Set at runtime
0x4
0x2
uint16_t
m_index
0x6
0x1
uint8_t
m_numConstants
If 4, all floats in instance data used?
0x7
0x1
uint8_t
m_dataFlags
See flags . Lower 3 bits form the data type.
ShaderConstantsExternal
Offset
Length
Type
Name
Description
Comments
0x0
0x4
uint32_t
muNumConstantsInstances
Number of instances
Applies to data and names
0x4
0x4
uint32_t*
mppaConstantsInstanceData
Instance data
0x8
0x4
char**
mppacNames
Names of constants
16 bytes reserved for chars
0xC
0x4
ProgramVariableHandle *
mpaProgramStateHandles
Can be padding
ShaderConstantsCPU
Offset
Length
Type
Name
Description
Comments
0x0
0x4
ICPUShader*
mpCPUShader
Set at runtime
0x4
0x4
uint32_t
muNumConstantsInstances
0x8
0x4
uint32_t**
mppaConstantsInstanceData
0xC
0x4
char**
mppacNames
CgsGraphics::ShaderConstantHashTable
Offset
Length
Type
Name
Description
Comments
0x0
0x4
uint32_t*
mpuHashKeys
Constant names hashed
JAMCRC
0x4
0x4
char**
mppcNames
0x8
0x4
uint32_t
muSize
Number of entries
CgsGraphics::ShaderSampler
Offset
Length
Type
Name
Description
Comments
0x0
0x4
char*
mpacName
Sampler name
0x4
0x2
int16_t
miChannel
0x6
0x2
Padding
Enumerations
Handle flags
Name
Value
Comments
FLAGS_FLOAT
0x1
Data type flag
FLAGS_SAMPLER
0x2
Data type flag
FLAGS_BOOL
0x4
Data type flag
FLAGS_VERTEXPROGRAM
0x80