Default viewer display transform to config display/view instead of input colorspace
When no explicit color transform was set, ManagedDisplayWidget fell back to the project's default input colorspace. For scene-referred reference spaces like ACEScg / Linear this produced a raw, greenish image on the viewer instead of a monitor-ready picture. Default to the OCIO config's default display and view so the viewer looks correct out of the box, while still honoring any Color Space / Display / View choice the user makes from the context menu.
This commit is contained in:
@@ -188,8 +188,20 @@ void ManagedDisplayWidget::ColorConfigChanged()
|
||||
return;
|
||||
}
|
||||
|
||||
SetColorTransform(
|
||||
color_manager_->GetCompliantColorSpace(color_transform_, false));
|
||||
// When no explicit transform has been chosen, default to the config's
|
||||
// display/view transform so the viewer shows a sensible image. Otherwise
|
||||
// an empty transform falls back to the project's default input colorspace,
|
||||
// which is usually a scene-referred space (e.g. ACEScg / Linear) and makes
|
||||
// the picture look raw/wrong on a monitor.
|
||||
if (color_transform_.output().isEmpty()) {
|
||||
QString display = color_manager_->GetDefaultDisplay();
|
||||
QString view = color_manager_->GetDefaultView(display);
|
||||
SetColorTransform(color_manager_->GetCompliantColorSpace(
|
||||
ColorTransform(display, view, QString()), true));
|
||||
} else {
|
||||
SetColorTransform(
|
||||
color_manager_->GetCompliantColorSpace(color_transform_, false));
|
||||
}
|
||||
}
|
||||
|
||||
ColorProcessorPtr ManagedDisplayWidget::color_service()
|
||||
|
||||
Reference in New Issue
Block a user