GPU Textures
Jump to navigation
Jump to search
This page describes the GPU commands used for textures.
Command set 0x809F0081
Command Index | CommandID | Parameter | Description |
---|---|---|---|
0 | 0x809F0081 | This is used to set the current texture info used for rendering. | |
1 | 0x000F008E | u32 color type | This sets the current texture color type. |
Textures are initially disabled when beginning rendering for each mesh, this command set enables textures.
Texture info parameter structure for CmdID 0x809F0081
Index Word | Description |
---|---|
0 | ? |
1 | The low u16 is the texture image width, and the high u16 is the texture image height. |
2 | Texture parameters, initialized by glTexParameter(). |
3 | ? |
4 | Texture data physical address >> 3. This is normally located in VRAM. |
5-9 | ? |
Texture parameters
Bit | Description | GL parameter name |
---|---|---|
0 | Normally this is value 0. | |
1 | 0 = GL_NEAREST, 1 = GL_LINEAR. | GL_TEXTURE_MAG_FILTER |
2 | 1 = GL_LINEAR, GL_LINEAR_MIPMAP_NEAREST, or GL_LINEAR_MIPMAP_LINEAR. Value zero otherwise. | GL_TEXTURE_MIN_FILTER |
3 | Unused? | ? |
7-4 | 2 = texture color type 0xC, 0 otherwise.(Enable/disable texture data compression?) | |
11-8 | 0 = GL_CLAMP_TO_EDGE, 1=unknown, 2=GL_REPEAT, 3=unknown. | GL_TEXTURE_WRAP_S |
15-12 | Same values as GL_TEXTURE_WRAP_S. | GL_TEXTURE_WRAP_T |
24 | 1 = GL_NEAREST_MIPMAP_LINEAR, or GL_LINEAR_MIPMAP_LINEAR. Value zero otherwise. | GL_TEXTURE_MIN_FILTER |
27-25 | Unused? | |
30-28 | When some flag=1: value1=GL_TEXTURE_2D, value0 when the input parameter is not GL_TEXTURE_2D. When some flag=0: 0=GL_TEXTURE_2D, 1-4=unknown. | ? |
31 | Unused? | ? |
Texture color type parameter values for CmdID 0x000F008E
Value | Description | GL Format | GL Data Type |
---|---|---|---|
0x0 | RGBA8888 | GL_RGBA | GL_UNSIGNED_BYTE |
0x1 | BGR888 | GL_RGB | GL_UNSIGNED_BYTE |
0x2 | RGBA5551 | GL_RGBA | GL_UNSIGNED_SHORT_5_5_5_1 |
0x3 | RGB565 | GL_RGB | GL_UNSIGNED_SHORT_5_6_5 |
0x4 | RGBA4444 | GL_RGBA | GL_UNSIGNED_SHORT_4_4_4_4 |
0x5 | GL_LUMINANCE_ALPHA | GL_UNSIGNED_BYTE | |
0x6 | ? | ? | GL_UNSIGNED_BYTE |
0x7 | GL_LUMINANCE | GL_UNSIGNED_BYTE | |
0x8 | GL_ALPHA | GL_UNSIGNED_BYTE | |
0x9 | ? | GL_LUMINANCE_ALPHA | ? |
0xA | ? | GL_LUMINANCE | |
0xB | ? | GL_ALPHA | |
0xC | Compression related? | ? | |
0xD | ? | ? |