Texture (RW Section)

From GTAMods Wiki
Jump to navigation Jump to search
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.

  • String – Holds the texture's name
  • String – Holds the texture's alpha layer name.

See also