Difference between revisions of "THQ Material (RW Section)"
								
								Jump to navigation
				Jump to search
				
				
		
					
								
							
		| Line 24: | Line 24: | ||
|    RwCullMode FaceCullMode |    RwCullMode FaceCullMode | ||
| − | + |    AlphaTestRef = ((renderProps << 1) & 0xFF000000) >> 24); | |
| − | + |    SrcBlend = ((renderProps << 1) & 0xF0) >> 4; | |
| − |    SrcBlend = ( | + |    DstBlend = ((renderProps << 1) & 0xF00) >> 8; | 
| − |    DstBlend = ( | + |   FaceCullIndex = (renderProps << 1) & 0xF; | 
|    switch( FaceCullIndex ) |    switch( FaceCullIndex ) | ||
Revision as of 01:46, 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
 
 RwCullMode FaceCullMode
 
 AlphaTestRef = ((renderProps << 1) & 0xFF000000) >> 24);
 SrcBlend = ((renderProps << 1) & 0xF0) >> 4;
 DstBlend = ((renderProps << 1) & 0xF00) >> 8;
 FaceCullIndex = (renderProps << 1) & 0xF;
 
 switch( FaceCullIndex )
   {
       case 0:
       {
           FaceCullMode = rwCULLMODECULLNONE;
           break;
       }
 
       case 1:
       {
           FaceCullMode = rwCULLMODECULLBACK;
           break;
       }
 
       case 2:
       {
           FaceCullMode = rwCULLMODECULLFRONT;
           break;
       }
   }
}

