Compressonator V3.1.4064 Features
New Installers for SDK and Utils
When installing to Windows with V3.1 release, you will notice that there are several separate new installers,
SDK, GUI and CLI, which when all used generates the following folders:
bin\GUI and bin\CLI folders are created when the user installs GUI and CLI. When the SDK is installed, a examples folder is created which contains sample application source code demonstrating the use of the Compressonator SDK. These samples use the header files from the include folder and require linking with the prebuilt sample Compressonator library provided in the lib folder. Users can also build the Compressonator library using the source code from GPUOpen.
Each of these installs will not remove prior v3.0 or older installations. The user should uninstall manually using the control panel “add remove programs".
SDK
The Compressonator SDK supports BC1-BC7 (DXTC), ETC1, ETC2, ASTC, ATC, ATI1N, ATI2N, all available in a single library that you use from a single C header.
With the new SDK installation, several example applications with source code are provided that demonstrate how easy it is to add texture compression to your own applications using either "High Level" or "Block Level" APIs.
- High-Level API
A simple thread-safe interface can compress, decompress and transcode any image as required:
CMP_ConvertTexture(CMP_Texture* pSourceTexture, CMP_Texture* pDestTexture,...);
- Block-Level API
Processing of 4x4 pixel blocks is also provided for BC7 and BC6H using the following APIs:
CMP_EncodeBC7Block(BC7BlockEncoder* encoder , double in[16][4], CMP_BYTE* out);
CMP_EncodeBC6HBlock(BC6HBlockEncoder* encoder, CMP_FLOAT in[16][4], CMP_BYTE* out);
The block-level API is particularly interesting since it lets you wrap up block processing any way you like in your tooling. That hopefully therefore makes it a stronger candidate for integration into your asset generation pipeline, including into in any existing parallel processing system you might have.
-
BC6H: The quality of images varies slightly when processed with a CPU based encoder and decompressed by GPU compared to decompression by CPU, especially when generating MIP map levels with progressively lower resolution images. Our latest release compensates for these differences to reduce the errors that causes blocking artifacts and luminance changes.
-
ETC2_RGBA and ETC2_RGBA1: is added to Compressonator SDK, that controls the degree of transparency of images for ETC2 blocks.
CLI Options
-
Process Source and Destination Folders: The new CLI adds support for processing image files from a folder, without the need to specify a file name. Using a file filter, specific files types can also be selected for compression as needed.
-
CLI Analysis Log File: CLI will generate an output "process_results.txt" when -log is added to the compression command line options, users can change the default log file using the command -logfile, the log captures details of the source and destination files along with statistical data on performance and quality.
Image Viewer
-
Save View as: Users can capture viewed images to file using context menu “Save View as” to either DDS, BMP or EXR files.
-
Save Block as: Users can now save any block to file using "Save Source Block … as" where … is the current cursor location translated to a block position.
-
Copy to Windows Clipboard: Users can capture images to Windows Clipboard, using keyboard keys Ctrl C (captures displayed image), Alt C (captures original source image).
3D Model
-
Model Mesh Compression: Additional support for gltf 2.0 compression extensions (KHR_draco_mesh_compression) is added to CLI and GUI.
-
Selectable 3D Model Viewers: Support for the Vulkan Viewer code introduced in 3.0 can now be set in GUI application settings, this is an alpha version and not expected to work for all glTF models, feature for this viewer compared to DX12 has been limited.
-
3D Model Image Diff Viewer, Auto and Manual View: This feature allows the user to select a manual override of the automated difference view of two rendered models. The Auto View switches render frames at a predetermined rate after two render cycles of each model view, the Manual View allows the users to manually switch view using the keyboards space bar.
Known issues and limitations
-
After uninstalling the SDK or CLI, Windows short cuts for the tools folder references are not removed. When selecting them in the start menu Windows will prompt for removal.
-
Vulkan Model Viewer, the code is a preview alpha version, it may cause GUI instability with various models!