Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement nanoColor prototype #1998

Open
doug-walker opened this issue Jul 20, 2024 · 0 comments
Open

Implement nanoColor prototype #1998

doug-walker opened this issue Jul 20, 2024 · 0 comments
Assignees
Labels
Feature Request New addition to OCIO functionality.

Comments

@doug-walker
Copy link
Collaborator

This is a collaboration between OpenUSD, MaterialX, and OpenColorIO.

OpenColorIO nanoColor is a light-weight version of OCIO that has no external dependencies. It is aimed at applications requiring basic color management in resource-constrained settings, such as running in a web browser or on a mobile phone.

NanoColor does not support custom config files or LUTs like full OCIO. Several config files are built into the library itself and these provide complete implementation of ACES color management. In addition, it's possible for clients to copy and edit the built-in configs to suit their needs. This includes the addition of custom color spaces.

NanoColor uses the same underlying transform chain optimization and CPU and GPU rendering paths as full OCIO. For developers, working with either nanoColor or full OCIO is very similar. The build process uses the same CMake set-up, though there are no external dependencies used in nanoColor mode.

The nanoColor API is virtually the same as the full OCIO API, though a few functions have been removed in alignment with the feature set. For example, there are no functions related to uploading texture LUTs to the GPU, since there is no texture usage in the nanoColor GPU path. All supported transforms have a closed-form invertible analytic representation that does not require LUTs.

A developer may choose to compile OCIO as nanoColor via a CMake flag.

@doug-walker doug-walker added the Feature Request New addition to OCIO functionality. label Jul 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Request New addition to OCIO functionality.
Projects
Status: Now
Development

No branches or pull requests

2 participants