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

Trying out OCIO v2 #468

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open

Conversation

miabrahams
Copy link

Hello! I was curious to see whether DJV could be upgraded to OCIO v2. I was able to successfully get it to build on my machine and thought it would be a good time to share what I've got. OCIO 2 seems like it's more finicky about its dependencies and I was only able to get a shared library build working, and only with the most recent development version.

The code changes to get it to build were pretty minor but it did break the functionality. Still I think it it might not be too much work! I believe the most substantial changes are the removal of the GPU LUT functionality, which means the display has to use their new shader, and changes to the config system, to read OCIO v2 configurations correctly.

I'm an amateur dev but I think I could finish making the changes. If you have any tips for me that would help a lot!

Couldn't find definition of DJV:AV:IO:Info
StringFunc.h removed
Build changes:
- Update URL to most recent main branch (2.2-dev)
- Earlier versions caused build errors
- Force OCIO to build with dynamic linking; static lib will requires extra build steps
- Make OpenEXR required; use its half-float implementation in OCIO
- Be more explicit with OCIO library and include paths

API changes:
- Replace "Display" with "DisplayView"
- Change to GPU processor to LegacyGPUProcessor. Seems like the ability to bake
the transform to a GPU LUT has been removed.
@darbyjohnston
Copy link
Owner

Hi @miabrahams, and sorry for the delay! Unfortunately DJV is in a bit of a weird state right now; it has a number of major bugs that seemed difficult to solve with the current code, so I've actually started a new project to address them called tlRender:

https://github.com/darbyjohnston/tlRender

tlRender fixes all the major issues that DJV has while also providing a number of new features like support for OCIO v2. My plan was to eventually rewrite DJV using tlRender as the new playback engine. If you are interested check out tlRender and there might be some areas there you are interested in helping out with?

Thanks, Darby

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants