Hmmm... | To do: Write an overview/description of the resource type. |
CgsGraphics::MaterialAssembly[edit | edit source]
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
MaterialTechnique** |
mappMaterials |
Materials |
Imported resources
|
0x4 |
0x4 |
uint32_t |
muNameHash |
Resource name hash |
|
0x8 |
0x1 |
uint8_t |
mu8NumMaterials |
Number of materials |
|
0x9 |
0x1 |
int8_t |
mi8NumSamplers |
Number of samplers |
|
0xA |
0x1 |
int8_t |
mi8NumInternalSamplers |
Number of internal samplers |
|
0xB |
0x1 |
int8_t |
mi8NumExternalSamplers |
Number of external samplers |
|
0xC |
0x4 |
Sampler* |
mpaSamplers |
Samplers |
|
0x10 |
0x4 |
ShaderConstantsInternal* |
mpVertexShaderConstants |
Vertex shader constants |
|
0x14 |
0x4 |
ShaderConstantsInternal* |
mpPixelShaderConstants |
Pixel shader constants |
|
0x18 |
0x4 |
ShaderConstantsCPU* |
mpCPUShaderConstants |
CPU shader constants |
Set at runtime
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
Unknown* |
mappMaterials |
Materials |
|
0x4 |
0x4 |
uint32_t |
muNameHash |
Resource name hash |
|
0x8 |
0x1 |
uint8_t |
mu8NumMaterials |
Number of materials |
|
0x9 |
0x1 |
int8_t |
mi8NumSamplers |
Number of samplers |
|
0xA |
0x1 |
int8_t |
mi8NumInternalSamplers |
Number of internal samplers |
|
0xB |
0x1 |
int8_t |
mi8NumExternalSamplers |
Number of external samplers |
|
0xC |
0x4 |
Sampler* |
mpaSamplers |
Samplers |
|
0x10 |
0x4 |
Shader* |
? |
Shader |
Imported resource
|
0x14 |
0x4 |
ShaderConstantsInternal* |
mpVertexShaderConstants |
Vertex shader constants |
|
0x18 |
0x4 |
ShaderConstantsInternal* |
mpPixelShaderConstants |
Pixel shader constants |
|
0x1C |
0x4 |
ShaderConstantsCPU* |
mpCPUShaderConstants |
CPU shader constants |
Set at runtime Possibly at 0x20 instead
|
0x20 |
0x4 |
?* |
? |
|
Set at runtime
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x8 |
Unknown* |
mappMaterials |
Materials |
|
0x8 |
0x4 |
uint32_t |
muNameHash |
Resource name hash |
|
0xC |
0x1 |
uint8_t |
mu8NumMaterials |
Number of materials |
|
0xD |
0x1 |
int8_t |
mi8NumSamplers |
Number of samplers |
|
0xE |
0x1 |
int8_t |
mi8NumInternalSamplers |
Number of internal samplers |
|
0xF |
0x1 |
int8_t |
mi8NumExternalSamplers |
Number of external samplers |
|
0x10 |
0x8 |
Sampler* |
mpaSamplers |
Samplers |
|
0x18 |
0x8 |
Shader* |
? |
Shader |
Imported resource
|
0x20 |
0x8 |
ShaderConstantsInternal* |
mpVertexShaderConstants |
Vertex shader constants |
|
0x28 |
0x8 |
ShaderConstantsInternal* |
mpPixelShaderConstants |
Pixel shader constants |
|
0x30 |
0x8 |
ShaderConstantsCPU* |
mpCPUShaderConstants |
CPU shader constants |
Set at runtime Possibly at 0x38 instead
|
0x38 |
0x8 |
?* |
? |
|
Set at runtime
|
This structure does not exist on PS3/X360. It appears to replace their use of the MaterialTechnique resource type.
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
MaterialState* |
? |
Material state |
Imported resource
|
0x4 |
0x4 |
uint32_t |
? |
Flags? |
Possibly multiple fields
|
0x8 |
0x4 |
?* |
? |
String start? |
Data pointed to is uninitialized (0xCD)
|
0xC |
0x4 |
uint32_t |
? |
|
|
0x10 |
0x4 |
uint32_t |
? |
|
|
0x14 |
0x4 |
?* |
? |
String end? |
Data pointed to is uninitialized (0xCD)
|
0x18 |
0x4 |
?* |
? |
|
Set at runtime
|
0x1C |
0x4 |
?* |
? |
|
Set at runtime
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x8 |
MaterialState* |
? |
Material state |
Imported resource
|
0x8 |
0x4 |
uint32_t |
? |
Flags? |
Possibly multiple fields
|
0xC |
0x4 |
|
|
Padding |
|
0x10 |
0x8 |
?* |
? |
String start? |
Data pointed to is uninitialized (0xCD)
|
0x18 |
0x4 |
uint32_t |
? |
|
|
0x1C |
0x4 |
uint32_t |
? |
|
|
0x20 |
0x8 |
?* |
? |
String end? |
Data pointed to is uninitialized (0xCD)
|
0x28 |
0x8 |
?* |
? |
|
Set at runtime
|
0x30 |
0x8 |
?* |
? |
|
Set at runtime
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
char* |
purpose |
Purpose string |
|
0x4 |
0x4 |
uint32_t |
id |
ID hash |
Unknown source string
|
0x8 |
0x2 |
int16_t |
channel |
|
|
0xA |
0x2 |
int16_t |
scope |
|
|
0xC |
0x4 |
TexturePurpose |
ePurpose |
Texture purpose |
|
0x10 |
0x4 |
TextureState* |
state |
Texture state |
Imported resource
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x8 |
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 |
0x8 |
TexturePurpose |
ePurpose |
Texture purpose |
|
0x18 |
0x8 |
TextureState* |
state |
Texture state |
Imported resource
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
uint32_t |
muNumConstantsInstances |
Number of instances |
|
0x4 |
0x4 |
uint32_t* |
mpauConstantsInstanceSize |
Instance sizes |
1 = 0x10 bytes
|
0x8 |
0x4 |
uint32_t** |
mppaConstantsInstanceData |
Instance data |
float[4]
|
0xC |
0x4 |
uint32_t* |
mpauNamesHash |
Instance names |
Unknown source strings
|
0x10 |
0x4 |
ProgramVariableHandle* |
mpaProgramStateHandles |
Instance handles |
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
uint32_t |
muNumConstantsInstances |
Number of instances |
|
0x4 |
0x4 |
uint32_t* |
mpauConstantsInstanceSize |
Instance sizes |
1 = 0x10 bytes
|
0x8 |
0x4 |
uint32_t** |
mppaConstantsInstanceData |
Instance data |
float[4]
|
0xC |
0x4 |
uint32_t* |
mpauNamesHash |
Instance names |
Unknown source strings
|
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
uint32_t |
muNumConstantsInstances |
Number of instances |
|
0x4 |
0x4 |
|
|
Padding |
|
0x8 |
0x8 |
uint32_t* |
mpauConstantsInstanceSize |
Instance sizes |
1 = 0x10 bytes
|
0x10 |
0x8 |
uint32_t** |
mppaConstantsInstanceData |
Instance data |
float[4]
|
0x18 |
0x8 |
uint32_t* |
mpauNamesHash |
Instance names |
Unknown source strings
|
renderengine::ProgramVariableHandle[edit | edit source]
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
ProgramBuffer* |
m_programBuffer |
|
Set at runtime
|
0x4 |
0x2 |
uint16_t |
m_index |
Index |
|
0x6 |
0x1 |
uint8_t |
m_numConstants |
Number of constants |
|
0x7 |
0x1 |
uint8_t |
m_dataFlags |
Flags |
See flags
|
CgsGraphics::TexturePurpose[edit | edit source]
Name |
Value |
Comments
|
E_TEXTURE_PURPOSE_INVALID |
-1 |
|
E_TEXTURE_PURPOSE_NONE |
0 |
|
E_TEXTURE_PURPOSE_AMBIENT_OCCLUSION_MAP |
1 |
|
E_TEXTURE_PURPOSE_SHADOW_MAP_0 |
2 |
|
E_TEXTURE_PURPOSE_GLASS_FRACTURE_PERSISTENT |
3 |
|
E_TEXTURE_PURPOSE_ENVIRONMENT_MAP |
4 |
|
E_TEXTURE_PURPOSE_GLASS_FRACTURE |
5 |
|
E_TEXTURE_PURPOSE_SHADOW_MAP_ANISO |
6 |
|
E_MAX_TEXTURE_PURPOSES |
7 |
|
ProgramVariableHandle flags[edit | edit source]
Name |
Value |
Comments
|
? |
0x1 |
Always set?
|