Difference between revisions of "RpMaterial"
Jump to navigation
Jump to search
(Cleaned up a bit and added version information to struct format.) |
|||
| Line 1: | Line 1: | ||
{{RW Section|Material|0x0007}} | {{RW Section|Material|0x0007}} | ||
| − | ''' | + | '''RpMaterial''' is a [[RenderWare]] structure that stores geometric data for 3D geometry. |
| − | == Structure == | + | == Stream Structure == |
| − | + | When streamed in/out it is usually the child of a [[Material List (RW Section)|Material List]] chunk and parent of a [[Struct (RW Section)|Struct]], optional [[Texture (RW Section)|Texture]] and [[Extension (RW Section)|Extension]] chunk. | |
| − | + | The format of the Material's Struct chunk is as follows: | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | int32 flags (unused) | |
| + | RwRGBA color (RwRGBA: uint8 r, g, b, a) | ||
| + | int32 unused | ||
| + | bool32 isTextured | ||
| + | #if version > 0x30400 | ||
| + | surface properties: | ||
| + | float32 ambient | ||
| + | float32 specular | ||
| + | float32 diffuse | ||
| + | #endif | ||
| − | If the material is defined as textured above | + | If the material is defined as textured above, a [[Texture (RW Section)|Texture]] chunk will follow the Struct. |
| − | |||
| − | |||
=== Extension === | === Extension === | ||
| − | + | The extension of an material can hold the following chunks in GTA: | |
| + | * [[Right To Render (RW Section)|Right To Render]] | ||
* [[Material Effects PLG (RW Section)|Material Effects PLG]] | * [[Material Effects PLG (RW Section)|Material Effects PLG]] | ||
| + | * [[UV Animation PLG (RW Section)|UV Animation PLG]] | ||
* [[Reflection Material (RW Section)|Reflection Material]] | * [[Reflection Material (RW Section)|Reflection Material]] | ||
* [[Specular Material (RW Section)|Specular Material]] | * [[Specular Material (RW Section)|Specular Material]] | ||
| − | |||
== See also == | == See also == | ||
Revision as of 13:03, 1 September 2016
| {{{NAME}}} | |
|---|---|
| RenderWare Stream Section | |
| Vendor | {{{VENDORNAME}}} |
| Module | {{{MODULENAME}}} |
| Module ID | 0x{{{MODULEID}}}
|
| Identifier | 0x{{{IDENTIFIER}}}
|
| Chunk ID | 0x{{{MODULEID}}}{{{IDENTIFIER}}}
|
| Versions | All |
| Hierarchy | |
| Parents: None | |
| Children: None | |
| Extensions: None | |
| File Format | |
RpMaterial is a RenderWare structure that stores geometric data for 3D geometry.
Stream Structure
When streamed in/out it is usually the child of a Material List chunk and parent of a Struct, optional Texture and Extension chunk.
The format of the Material's Struct chunk is as follows:
int32 flags (unused)
RwRGBA color (RwRGBA: uint8 r, g, b, a)
int32 unused
bool32 isTextured
#if version > 0x30400
surface properties:
float32 ambient
float32 specular
float32 diffuse
#endif
If the material is defined as textured above, a Texture chunk will follow the Struct.
Extension
The extension of an material can hold the following chunks in GTA: