CGFX: Difference between revisions

LUTS section
Line 337: Line 337:
Every texture format has its texture data divided into 8x8 tiles. See [[SMDH#Icon_graphics|SMDH]] for more information.
Every texture format has its texture data divided into 8x8 tiles. See [[SMDH#Icon_graphics|SMDH]] for more information.
ETC1 is a compressed texture format which compresses blocks of 4x4 pixels into u64s. These u64 are traditionally stored in big endian; however, nintendo's implementation stores them in little endian. ETC1 textures are stored in 8x8 tiles; decompressed 4x4 therefore have to be organized accordingly. See [https://gist.github.com/smealum/8897237] for implementation example.
ETC1 is a compressed texture format which compresses blocks of 4x4 pixels into u64s. These u64 are traditionally stored in big endian; however, nintendo's implementation stores them in little endian. ETC1 textures are stored in 8x8 tiles; decompressed 4x4 therefore have to be organized accordingly. See [https://gist.github.com/smealum/8897237] for implementation example.
== LUTS ==
Appears to contain color lookup tables possibly for use with shaders.
LUTS Header:
{| class="wikitable"
|-
! Offset
! Length
! Description
|-
| 0x0
| 0x4
| Magic "LUTS"
|-
| 0x4
| 0x2
| Seems to adhere to powers of 2 (width/height/flags?)
|-
| 0x6
| 0x2
| Seems to adhere to powers of 2 (width/height/flags?)
|-
| 0x8
| 0x4
| ?
|-
| 0xC
| 0x8
| all zeroes ?
|-
| 0x14
| 0x4
| ?
|-
| 0x18
| 0x4
| Offset to DICT (self-relative) ?
|}
All observed instances have an otherwise unreferenced DICT section immediately afterward (the last LUTS value being a 0x4, which may describe the relative position of that DICT), which appears to describe material specularity.


== Skeleton data ==
== Skeleton data ==