Members user3678 Posted Saturday at 10:56 PM Members Posted Saturday at 10:56 PM (edited) Today I am gonna show you how to reverse engineer any texture using Raw Texture Cooker, this process is by far the easiest and requires almost zero effort and just poor clicks and a little bit of inspection. (Uncompressed and Un-encrypted textures obviously). +==== TUTORIAL SECTION ====+ =| INTRODUCTION |= But how do those textures store their data? Well, aside from properly skipping the header and parsing the width and the height values from here there is one extra step in here. Because unlike the traditional images, textures are often scale in sizes ranging from 128x128 to 4096x4096 on average so all of them as you can see aredividale by 2 and even 4. Because of this difference textures relly and get a very special compression methods: DXT1, DXT3, DXT5, BC6, BC7. =| TEXTURE COMPRESSION |= Like any other Block Compression method (BC), The size of each compressed block is fixed, it's eighter 8 or 16 byts, representing a 4:1 or 8:1 compression ratio if the source image is in 8 bit RGBA format DXT1: Splits the image into tiny 4x4 pixel blocks Compression stores exactly two colours, 16 bits each Two in beetween colours can be interpolated from these The 4x4 block is recreated using only these 4 colours, requiring 2 bits per pixel In total, block uses 64 bits: 16 pixels * 2 colours * 16 bits per colour Type Of Data Data Rate Palette Size Line Segments Use For BC1 RGB + optional 1-bit alpha 0.5 byte/px 4 1 Color maps, Cutout color maps (1-bit alpha), Normal maps, if memory is tight BC2 RGB + 4-bit alpha 1 byte/px 4 1 n/a BC3 RGBA 1 byte/px 4 color + 8 alpha 1 color + 1 alpha Color maps with full alpha, Packing color and mono maps together BC4 Grayscale 0.5 byte/px 8 1 Height maps, Gloss maps, Font atlases, Any grayscale image BC5 2 × grayscale 1 byte/px 8 per channel 1 per channel Tangent-space normal maps BC6 RGB, floating-point 1 byte/px 8–16 1–2 HDR images BC7 RGB or RGBA 1 byte/px 4–16 1–3 High-quality color maps, Color maps with full alpha Edited yesterday at 12:14 AM by user3678
Moderators ikskoks Posted 13 hours ago Moderators Posted 13 hours ago Please don't publish tutorials until you finish them. Also, Raw Texture Cooker is outdated. It's better to use ImageHeat https://github.com/bartlomiejduda/ImageHeat It supports more pixel formats etc. 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now