Difference between revisions of "THQ Material (RW Section)"
Jump to navigation
Jump to search
(→Structure) |
|||
Line 22: | Line 22: | ||
int32 FaceCullIndex | int32 FaceCullIndex | ||
+ | RwBool AlphaEnabled | ||
RwCullMode FaceCullMode | RwCullMode FaceCullMode | ||
Line 28: | Line 29: | ||
DstBlend = ((renderProps << 1) & 0xF00) >> 8; | DstBlend = ((renderProps << 1) & 0xF00) >> 8; | ||
FaceCullIndex = (renderProps << 1) & 0xF; | FaceCullIndex = (renderProps << 1) & 0xF; | ||
+ | |||
+ | if (DstBlend == rwBLENDZERO) | ||
+ | AlphaEnabled = FALSE | ||
+ | else | ||
+ | AlphaEnabled = TRUE | ||
switch( FaceCullIndex ) | switch( FaceCullIndex ) |
Revision as of 01:58, 7 December 2023
THQ Material (Custom) | |
---|---|
RenderWare Stream Section | |
Vendor | THQ |
Module | Plug-In |
Module ID | 0x00CAFE
|
Identifier | 0x45
|
Chunk ID | 0x00CAFE45
|
Versions | All |
Hierarchy | |
Parents: Material (Extension), Atomic (Extension, see below) | |
Children: None | |
Extensions: None | |
File Format |
The custom material extension was developed by THQ to attach geometric rendering properties to a material, using alpha referencing, z-test flags, blend functions, and culling, used for the known game Jimmy Neutron: Attack of the Twonkies.
Structure
{ uint32 header int32 sectionSize uint32 renderProps int32 AlphaTestRef uint32 ZWriteFlags int32 SrcBlend int32 DestBlend int32 FaceCullIndex RwBool AlphaEnabled RwCullMode FaceCullMode AlphaTestRef = ((renderProps << 1) & 0xFF000000) >> 24); SrcBlend = ((renderProps << 1) & 0xF0) >> 4; DstBlend = ((renderProps << 1) & 0xF00) >> 8; FaceCullIndex = (renderProps << 1) & 0xF;
if (DstBlend == rwBLENDZERO) AlphaEnabled = FALSE else AlphaEnabled = TRUE switch( FaceCullIndex ) { case 0: { FaceCullMode = rwCULLMODECULLNONE; break; } case 1: { FaceCullMode = rwCULLMODECULLBACK; break; } case 2: { FaceCullMode = rwCULLMODECULLFRONT; break; } } }