Add Khronos PBR Neutral tone mapper

A tone mapper designed specifically for PBR color accuracy, to get sRGB
colors in the output render that match as faithfully as possible the input
sRGB baseColor under gray-scale lighting. This is aimed toward product
photography use cases, where the scene is well-exposed and HDR color values
are mostly restricted to small specular highlights.

Fixes #118824: Proposal: add a view transform for Khronos PBR Neutral Tone Mapper

Co-authored-by: Emmett Lalish <elalish@google.com>
Pull Request: https://projects.blender.org/blender/blender/pulls/118936
This commit is contained in:
Emmett-Lalish
2024-03-18 12:16:53 +01:00
committed by Sergey Sharybin
parent a3243172bf
commit d1cbb10d17
3 changed files with 185218 additions and 3 deletions

View File

@@ -57,6 +57,7 @@ roles:
displays:
sRGB:
- !<View> {name: Standard, colorspace: sRGB}
- !<View> {name: Khronos PBR Neutral, colorspace: Khronos PBR Neutral sRGB}
- !<View> {name: AgX, colorspace: AgX Base sRGB}
- !<View> {name: Filmic, colorspace: Filmic sRGB}
- !<View> {name: Filmic Log, colorspace: Filmic Log}
@@ -78,7 +79,7 @@ displays:
- !<View> {name: False Color, colorspace: AgX False Color Rec.2020}
- !<View> {name: Raw, colorspace: Non-Color}
active_displays: [sRGB, Display P3, Rec.1886, Rec.2020]
active_views: [Standard, AgX, Filmic, Filmic Log, False Color, Raw]
active_views: [Standard, Khronos PBR Neutral, AgX, Filmic, Filmic Log, False Color, Raw]
inactive_colorspaces: [Luminance Compensation Rec.2020, Luminance Compensation sRGB, Luminance Compensation P3, AgX False Color Rec.709, AgX False Color P3, AgX False Color Rec.1886, AgX False Color Rec.2020]
colorspaces:
@@ -485,6 +486,21 @@ colorspaces:
- !<ColorSpaceTransform> {src: Linear CIE-XYZ E, dst: AgX False Color Rec.709}
- !<ColorSpaceTransform> {src: Rec.1886, dst: Rec.2020}
- !<ColorSpace>
name: Khronos PBR Neutral sRGB
family: Khronos PBR Neutral
equalitygroup:
bitdepth: 32f
description: |
Khronos PBR Neutral Image Encoding for sRGB Display
isdata: false
from_scene_reference: !<GroupTransform>
children:
- !<ColorSpaceTransform> {src: Linear CIE-XYZ E, dst: Linear Rec.709}
- !<AllocationTransform> {allocation: lg2, vars: [-9, 10]}
- !<FileTransform> {src: pbrNeutral.cube, interpolation: tetrahedral}
- !<ColorSpaceTransform> {src: Linear Rec.709, dst: sRGB}
looks:
- !<Look>
name: Very High Contrast
@@ -744,4 +760,4 @@ looks:
style: log
contrast: {rgb: [0.7, 0.7, 0.7], master: 1}
saturation: 1.15
pivot: {contrast: -0.2}
pivot: {contrast: -0.2}

File diff suppressed because it is too large Load Diff

View File

@@ -113,7 +113,8 @@ class RENDER_PT_color_management_display_settings(RenderButtonsPanel, Panel):
col = layout.column(align=True)
sub = col.row()
sub.active = (not view.view_transform.startswith("Filmic") and not view.view_transform.startswith("AgX") and not
view.view_transform.startswith("False Color"))
view.view_transform.startswith("False Color") and not
view.view_transform.startswith("Khronos PBR Neutral"))
sub.prop(view, "use_hdr_view")