Difference between revisions of "Texture (RW Section)"
Jump to navigation
Jump to search
(Added example C struct for the struct section (The text description is easy to misunderstand)) |
|||
Line 16: | Line 16: | ||
The structure stores filtering and uv-addressing information for the texture. | The structure stores filtering and uv-addressing information for the texture. | ||
− | + | 1byte Texture filtering (Texture filtering modes) | |
− | + | 4bit U-addressing | |
− | + | 4bit V-addressing | |
− | + | 1bit Does texture use mip levels | |
15bits padding | 15bits padding | ||
+ | |||
+ | Example C structure (UInt32 is a 4 byte unsigned integer type) | ||
+ | <syntaxhighlight lang="c"> | ||
+ | struct | ||
+ | { | ||
+ | // Filtering mode | ||
+ | UInt32 filtering : 8; | ||
+ | |||
+ | // Addressing modes for u, v | ||
+ | UInt32 u : 4; | ||
+ | UInt32 v : 4; | ||
+ | |||
+ | UInt32 mipmaps : 1; | ||
+ | }; | ||
+ | </syntaxhighlight> | ||
Texture filtering modes | Texture filtering modes |
Latest revision as of 16:06, 28 November 2020
Texture | |
---|---|
RenderWare Stream Section | |
Vendor | Criterion Games |
Module | Core |
Module ID | 0x000000
|
Identifier | 0x06
|
Chunk ID | 0x00000006
|
Versions | All |
Hierarchy | |
Parents: Material | |
Children: Struct, String | |
Extensions: Sky Mipmap Val, Anisotropy | |
File Format |
Texture is a container section used in DFF files as child of a material section or an Material Effects PLG section. The section itself does not store any data at all. All additional information get stored inside a struct section which directly follows this one as a child. A texture section is used to store the sampler state of a texture.
Structure
The structure stores filtering and uv-addressing information for the texture.
1byte Texture filtering (Texture filtering modes) 4bit U-addressing 4bit V-addressing 1bit Does texture use mip levels 15bits padding
Example C structure (UInt32 is a 4 byte unsigned integer type)
struct
{
// Filtering mode
UInt32 filtering : 8;
// Addressing modes for u, v
UInt32 u : 4;
UInt32 v : 4;
UInt32 mipmaps : 1;
};
Texture filtering modes
0 - FILTERNAFILTERMODE (filtering is disabled) 1 - FILTERNEAREST (Point sampled) 2 - FILTERLINEAR (Bilinear) 3 - FILTERMIPNEAREST (Point sampled per pixel mip map) 4 - FILTERMIPLINEAR (Bilinear per pixel mipmap) 5 - FILTERLINEARMIPNEAREST (MipMap interp point sampled) 6 - FILTERLINEARMIPLINEAR (Trilinear)
Texture addressing modes
0 - TEXTUREADDRESSNATEXTUREADDRESS (no tiling) 1 - TEXTUREADDRESSWRAP (tile in U or V direction) 2 - TEXTUREADDRESSMIRROR (mirror in U or V direction) 3 - TEXTUREADDRESSCLAMP 4 - TEXTUREADDRESSBORDER
Child sections
There are always child sections which appear in the order they are listed here.