Difference between revisions of "GPU Textures"

From 3dbrew
Jump to navigation Jump to search
m (Replaced content with "This page is obsolete, see here for GPU register information, including that of textures.")
 
(15 intermediate revisions by 6 users not shown)
Line 1: Line 1:
This page describes the [[GPU_Commands|GPU commands]] used for textures.
+
This page is obsolete, see [[GPU/Internal_Registers|here]] for GPU register information, including that of textures.
 
 
== Command set 0x809F0081 ==
 
{| class="wikitable" border="1"
 
!  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 also enables textures. This command set is used for index0, commands 0x805F0091 and 0x805F0099 are used for index1-index2.
 
 
 
=== Texture info parameter structure for CmdID 0x809F0081 ===
 
{| class="wikitable" border="1"
 
!  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 image data physical address >> 3.
 
|-
 
| 5-9
 
| Value zero
 
|}
 
 
 
== Texture info parameter structure for CmdID 0x805F0091 and 0x805F0099 ==
 
{| class="wikitable" border="1"
 
!  Index Word
 
!  Description
 
|-
 
| 4-0
 
| Same as CmdID 0x809F0081.
 
|-
 
| 5
 
| Color type
 
|}
 
 
 
== Texture parameters ==
 
{| class="wikitable" border="1"
 
!  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?
 
| ?
 
|-
 
| 5-4
 
| 2 = texture color type 0xC, 0 otherwise.(Enable/disable texture data compression?) 0 = unknown, 1 = unknown, 3 = same effect as value 2.
 
|
 
|-
 
| 7-6
 
| Unused
 
|-
 
| 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 types ==
 
{| class="wikitable" border="1"
 
!  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
 
| BGR565
 
| 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
 
| ?
 
| ?
 
|
 
|}
 

Latest revision as of 05:34, 5 December 2015

This page is obsolete, see here for GPU register information, including that of textures.