MrLixm / AgXc

Fork of Troy.S AgX, a display rendering transform available via OCIO and more
92 stars 8 forks source link
cgi color-science image-processing

"Fork" of Troy Sobotka's AgX https://github.com/sobotka/AgX with implementation in various languages/software.

AgXc comparison with ACES and filmic using a cg render

AgX is a display rendering transform (DRT) with the goal of improving image formation.

It tries to provide a ""neutral look"" via a robust but simple image formation process.

The result can be comparable to the analog film process with noticeable soft highlight rollof, smooth color transitions and pleasing exposure handling.

If you find that there was too much scary-looking words until now, just consider AgX as a "LUT".

AgXc exposure stripe test

Exposure stripes increment (in stops units) tests:

AgXc ACES Filmic TCAM Native

Background

The AgX formula used is based on the original Troy's implementation which is not the same as what is currently being implemented in Blender-4+ (which could be considered better).

It is possible the various implementations in this repository are not at the same level of progress. For example the LUT implementation is already using a BT.2020 workspace approach (like the Blender version).

Content

The simplicity of AgX allowed to port it to various languages and software:

ReShade: Stray screenshot with AgX OBS interface screenshot with webcam feed
Screenshot from game Stray with AgXc applied via ReShade Screenshot of the OBS interface while streaming 8Bit VLog from a Panasonic camera.

Browsing

Consider each directory in this repository to be its own independent software (referred as "implementation"). Usually each have its own versioning, changelog and documentation.

When any of the implementation has a new version I bump the global version of this repo in the pyproject.toml and make a new GitHub release.

All the files you see in the implementation are the "final product" that may have been generated by a build process that is defined in the .dev/ directory. This directory is only useful if you wish to contribute to this repository or understand how the implementations were created.