ExoQuant - A color reduction library that can be used for CI textures
#1
ExoQuant is a MIT licensed C library written by Dennis Ranke that can be used to reduce the number of colors in an image, which is useful for creating CI textures. I have also written ports to C#, Javascript, VB.NET, and Python that should give the same results as the original C version.

ExoQuant v0.7 (C/C++): https://github.com/exoticorn/exoquant
ExoQuantSharp (C#): https://github.com/DavidSM64/ExoQuantSharp
ExoQuantJS (Javascript): https://github.com/DavidSM64/ExoQuantJS
ExoQuantVB (Visual Basic .NET): https://github.com/DavidSM64/ExoQuantVB
ExoQuantPY (Python): https://github.com/DavidSM64/ExoQuantPY

Converting RGBA32 data to CI data + palette:

C
C++
C#

Comparing RGBA16 to CI4:

A benefit of using CI4 is that it uses up much less data in a ROM compared to RGBA16. Not all textures should be converted to CI4 though. If a texture relies on having lots of different hues, then it will not translate to CI4 well.

The level backgrounds in SM64 are pretty good CI4 candidates, since they generally theme around one or two colors.

[Image: JCanpLB.png]

However, the castle paintings are bad CI4 candidates since they use a lot of different colors.

[Image: TUYOxQT.png]
Reply




Users browsing this thread: 3 Guest(s)