Difference between revisions of "RpMaterial"
Jump to navigation
Jump to search
m (→Structure) |
Wombat1742 (talk | contribs) |
||
| (8 intermediate revisions by 5 users not shown) | |||
| Line 1: | Line 1: | ||
| − | {{RW Section|Material| | + | {{RW Section |
| + | | NAME = Material | ||
| + | | VENDORNAME = Criterion Games | ||
| + | | MODULENAME = Core | ||
| + | | MODULEID = 000000 | ||
| + | | IDENTIFIER = 07 | ||
| + | | PARENTS = [[Material List (RW Section)|Material List]] | ||
| + | | CHILDREN = [[Struct (RW Section)|Struct]], [[Texture (RW Section)|Texture]] | ||
| + | | EXTENSIONS = [[Right To Render (RW Section)|Right To Render]], [[User Data PLG (RW Section)|User Data PLG]], [[Material Effects PLG (RW Section)|Material Effects PLG]], [[UV Animation PLG (RW Section)|UV Animation PLG]], [[Reflection Material (RW Section)|Reflection Material]], [[Specular Material (RW Section)|Specular Material]] | ||
| + | }} | ||
| − | ''' | + | '''RpMaterial''' is a [[RenderWare]] structure that stores geometric data for 3D geometry. |
== Structure == | == 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 | ||
| − | |||
| − | + | Color can be used as a marker of color which can be changed (as example primary and secondary color on cars) | |
| − | + | If the material is defined as textured above, a [[Texture (RW Section)|Texture]] chunk will follow the Struct. | |
| − | + | == See also == | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
* [[Geometry List (RW Section)|Geometry List]] | * [[Geometry List (RW Section)|Geometry List]] | ||
| − | |||
| − | {{N|SA|VC}} | + | {{N|SA|VC|3}} |
| − | |||
Latest revision as of 15:06, 13 October 2025
| Material | |
|---|---|
| RenderWare Stream Section | |
| Vendor | Criterion Games |
| Module | Core |
| Module ID | 0x000000
|
| Identifier | 0x07
|
| Chunk ID | 0x00000007
|
| Versions | All |
| Hierarchy | |
| Parents: Material List | |
| Children: Struct, Texture | |
| Extensions: Right To Render, User Data PLG, Material Effects PLG, UV Animation PLG, Reflection Material, Specular Material | |
| File Format | |
RpMaterial is a RenderWare structure that stores geometric data for 3D geometry.
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
Color can be used as a marker of color which can be changed (as example primary and secondary color on cars)
If the material is defined as textured above, a Texture chunk will follow the Struct.