Before we package the ATF tools with the AIR SDK, I am happy to share here in advance the ATF tools so that you guys can start leveraging the ATF format now!
So what is it?
First, let's start by talking about what compressed textures are.
When doing GPU programming with any technology, you have two options for how you handle your textures. You can go compressed or uncompressed, very simple. So, what is the difference?
- When using uncompressed textures, a good old uncompressed file format like PNG is used and uploaded to the GPU.
- Because GPUs don't support such a file format natively, your texture is actually stored in CPU memory, when it could actually be stored on the GPU memory!
- Same thing applies for JPEG images, make no mistake, graphics chipsets don't know anything about JPEG which would also be decoded on CPU memory.
- Of course, each platform has different support for compressed textures depending on the hardware chipset being used.
Now get ready for the fun! Here is below a little table to illustrate it:
Platform | Format |
---|---|
ImgTech (iOS) | PVRTC |
Qualcom (Android) | ETC1 |
Mali (Android) | ETC1 |
NVidia (Android) | ETC1/DXT1/DXT5 |
Android (PowerVR) | PVRTC/ETC1 |
Windows | DXT1/DXT5 |
MacOS | DXT1/DXT5 |
Why ATF?
As you can imagine, if you would develop a game targeting iOS, Android and desktop, you would need to supply your textures compressed to each format for each platform. Which would look like this:
- leaf.png encoded to DXT for Windows and MacOS
- leaf.png encoded to ETC1 or DXT for Android (Nvidia)
- leaf.png encoded to PVRTC for iOS (ImgTech)
The ATF internals
Really, think about the ATF format as a container for lossy images. Here is below a little figure showing very sinply the structure of a default compressed ATF file:
Read more: Stage3D compressed textures – Introducing the ATF SDK
No comments:
Post a Comment