Page MenuHome

ColorManagement: PoC Windowmanager Areas
Changes PlannedPublic

Authored by Jeroen Bakker (jbakker) on Jan 22 2020, 4:48 PM.

Details

Reviewers
None
Maniphest Tasks
T71357: Design: DrawManager Colormanagement
Summary

This PoC will do color management on the areas that are cached inside the window manager. This
renders the display in the display space that the user selected for the
scene.

During GPU debug sessions I knew that parts of the screen were cached inside textures and blit to the screen. This patch uses these textures and draws them to the screen using OCIO. For now it is assumed that these textures are always sRGB.

We are planning to change the CM in the draw manager. When done this PoC would get more value as the GPUTextures bitdepth will be increased to R11G11B10.

This PoC isn't complete and only proofs where some of the limitations.

  • Tools, menu's and side-areas will still be displayed as if in sRGB in the 3D Viewport and UV/Image editor.
  • Unclear: Are there cases that would be limited by this implementation

Diff Detail

Repository
rB Blender
Branch
T71357 (branched from master)
Build Status
Buildable 6362
Build 6362: arc lint + arc unit

Event Timeline

Really promising! With my patch together it should get rid of the viewport sRGB problem.

source/blender/gpu/intern/gpu_framebuffer.c
971

Maybe rename to something that include color management?

988

You don't need that. OCIO reads GL_TEXTURE0. That it. The glCheckFramebufferStatus should be done beforehand during creation.

Jeroen Bakker (jbakker) retitled this revision from ColorManagement: Basic panels to ColorManagement: Basic Area.Thu, Jan 23, 8:43 AM
Jeroen Bakker (jbakker) edited the summary of this revision. (Show Details)
Jeroen Bakker (jbakker) planned changes to this revision.Thu, Jan 23, 8:46 AM

Naming, cleanupt, and removal of the OCIO changes.

Brecht Van Lommel (brecht) added inline comments.
source/blender/windowmanager/intern/wm_draw.c
454–466

Is this a proof of concept, or is the plan to actually commit this part? T71357: Design: DrawManager Colormanagement seems only about the draw manager for the 3D viewport.

In the current state, color managing the user interface may causes more problems than it solves, for example breaking the user interface with some OCIO configurations. Or do we know of any practical setup where this by itself will help already?

Jeroen Bakker (jbakker) retitled this revision from ColorManagement: Basic Area to ColorManagement: PoC Windowmanager Areas.Thu, Jan 23, 6:54 PM
Jeroen Bakker (jbakker) edited the summary of this revision. (Show Details)

Not sure what's the relation between interface colors and render viewing transform, from an user stand point it doesn't make much sense. (ie. using a "False Colors" viewing transform messes up the GUI)