MacOS: Enable support for EDR rendering #105662

Merged
Brecht Van Lommel merged 26 commits from Jason-Fielder/blender:macos_EDR_support into main 2023-08-09 14:25:23 +02:00
6 changed files with 78 additions and 52 deletions
Showing only changes of commit b38fa0bb63 - Show all commits

View File

@ -18,7 +18,7 @@ luma: [0.2126, 0.7152, 0.0722]
description: RRT version ut33 description: RRT version ut33
roles: roles:
reference: Linear reference: Linear CIE-XYZ E
# Internal scene linear space # Internal scene linear space
scene_linear: Linear scene_linear: Linear
@ -41,6 +41,7 @@ roles:
# For interop between configs, and to determine XYZ for rendering # For interop between configs, and to determine XYZ for rendering
aces_interchange: Linear ACES aces_interchange: Linear ACES
cie_xyz_d65_interchange: Linear CIE-XYZ D65
# Specified by OCIO, not used in Blender # Specified by OCIO, not used in Blender
color_timing: Filmic Log color_timing: Filmic Log
@ -61,6 +62,27 @@ active_displays: [sRGB]
active_views: [Standard, Filmic, Filmic Log, False Color, Raw] active_views: [Standard, Filmic, Filmic Log, False Color, Raw]
colorspaces: colorspaces:
- !<ColorSpace>
name: Linear CIE-XYZ E
aliases: ["FilmLight: Linear - XYZ", Linear CIE-XYZ I-E]
family: Chromaticity
equalitygroup:
bitdepth: 32f
description: |
1931 CIE XYZ standard with assumed illuminant E white point
isdata: false
- !<ColorSpace>
name: Linear CIE-XYZ D65
aliases: [cie_xyz_d65, CIE-XYZ-D65, XYZ, Linear CIE-XYZ D65]
family: Chromaticity
equalitygroup:
bitdepth: 32f
description: |
1931 CIE XYZ with adapted illuminant D65 white point
isdata: false
from_scene_reference: !<FileTransform> {src: xyz_E_to_D65.spimtx, interpolation: linear}
- !<ColorSpace> - !<ColorSpace>
name: Linear name: Linear
family: linear family: linear
@ -69,6 +91,10 @@ colorspaces:
description: | description: |
Rec. 709 (Full Range), Blender native linear space Rec. 709 (Full Range), Blender native linear space
isdata: false isdata: false
from_scene_reference: !<GroupTransform>
children:
- !<ColorSpaceTransform> {src: Linear CIE-XYZ E, dst: Linear CIE-XYZ D65}
- !<MatrixTransform> {matrix: [ 3.2410032329763587, -1.5373989694887855, -0.4986158819963629, 0, -0.9692242522025164, 1.8759299836951759, 0.0415542263400847, 0, 0.0556394198519755, -0.2040112061239099, 1.0571489771875333, 0, 0, 0, 0, 1]}
- !<ColorSpace> - !<ColorSpace>
name: Linear ACES name: Linear ACES
@ -80,7 +106,7 @@ colorspaces:
isdata: false isdata: false
from_reference: !<GroupTransform> from_reference: !<GroupTransform>
children: children:
- !<FileTransform> {src: srgb_to_xyz.spimtx, interpolation: linear} - !<ColorSpaceTransform> {src: Linear CIE-XYZ E, dst: Linear CIE-XYZ D65}
- !<BuiltinTransform> {style: "UTILITY - ACES-AP0_to_CIE-XYZ-D65_BFD", direction: inverse} - !<BuiltinTransform> {style: "UTILITY - ACES-AP0_to_CIE-XYZ-D65_BFD", direction: inverse}
- !<ColorSpace> - !<ColorSpace>
@ -93,19 +119,9 @@ colorspaces:
isdata: false isdata: false
from_reference: !<GroupTransform> from_reference: !<GroupTransform>
children: children:
- !<FileTransform> {src: srgb_to_xyz.spimtx, interpolation: linear} - !<ColorSpaceTransform> {src: Linear CIE-XYZ E, dst: Linear CIE-XYZ D65}
- !<BuiltinTransform> {style: "UTILITY - ACES-AP1_to_CIE-XYZ-D65_BFD", direction: inverse} - !<BuiltinTransform> {style: "UTILITY - ACES-AP1_to_CIE-XYZ-D65_BFD", direction: inverse}
- !<ColorSpace>
name: XYZ
family: linear
equalitygroup:
bitdepth: 32f
isdata: false
from_reference: !<GroupTransform>
children:
- !<FileTransform> {src: srgb_to_xyz.spimtx, interpolation: linear}
- !<ColorSpace> - !<ColorSpace>
name: sRGB name: sRGB
family: family:
@ -114,7 +130,10 @@ colorspaces:
description: | description: |
sRGB display space sRGB display space
isdata: false isdata: false
from_reference: !<ExponentWithLinearTransform> {gamma: 2.4, offset: 0.055, direction: inverse} from_scene_reference: !<GroupTransform>
children:
- !<ColorSpaceTransform> {src: Linear CIE-XYZ E, dst: Linear}
- !<ExponentWithLinearTransform> {gamma: 2.4, offset: 0.055, direction: inverse}
- !<ColorSpace> - !<ColorSpace>
name: Non-Color name: Non-Color
@ -135,11 +154,15 @@ colorspaces:
Log based filmic shaper with 16.5 stops of latitude, and 25 stops of dynamic range Log based filmic shaper with 16.5 stops of latitude, and 25 stops of dynamic range
isdata: false isdata: false
from_reference: !<GroupTransform> from_reference: !<GroupTransform>
children: children:
- !<AllocationTransform> {allocation: lg2, vars: [-12.473931188, 12.526068812]} - !<ColorSpaceTransform> {src: Linear CIE-XYZ E, dst: Linear}
- !<FileTransform> {src: filmic_desat65cube.spi3d, interpolation: best} - !<AllocationTransform> {allocation: lg2, vars: [-12.473931188, 12.526068812]}
- !<AllocationTransform> {allocation: uniform, vars: [0, 0.66]} - !<FileTransform> {src: filmic_desat65cube.spi3d, interpolation: best}
to_reference: !<AllocationTransform> {allocation: lg2, vars: [-12.473931188, 4.026068812], direction: inverse} - !<AllocationTransform> {allocation: uniform, vars: [0, 0.66]}
to_scene_reference: !<GroupTransform>
children:
- !<AllocationTransform> {allocation: lg2, vars: [-12.473931188, 4.026068812], direction: inverse}
- !<ColorSpaceTransform> {src: Linear CIE-XYZ E, dst: Linear, direction: inverse}
- !<ColorSpace> - !<ColorSpace>
name: Filmic sRGB name: Filmic sRGB
@ -150,9 +173,9 @@ colorspaces:
sRGB display space with Filmic view transform sRGB display space with Filmic view transform
isdata: false isdata: false
from_reference: !<GroupTransform> from_reference: !<GroupTransform>
children: children:
- !<ColorSpaceTransform> {src: Linear, dst: Filmic Log} - !<ColorSpaceTransform> {src: Linear CIE-XYZ E, dst: Filmic Log}
- !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear} - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear}
- !<ColorSpace> - !<ColorSpace>
name: False Color name: False Color
@ -163,61 +186,61 @@ colorspaces:
Filmic false color view transform Filmic false color view transform
isdata: false isdata: false
from_reference: !<GroupTransform> from_reference: !<GroupTransform>
children: children:
- !<ColorSpaceTransform> {src: Linear, dst: Filmic Log} - !<ColorSpaceTransform> {src: Linear CIE-XYZ E, dst: Filmic Log}
- !<MatrixTransform> {matrix: [0.2126729, 0.7151521, 0.0721750, 0, 0.2126729, 0.7151521, 0.0721750, 0, 0.2126729, 0.7151521, 0.0721750, 0, 0, 0, 0, 1]} - !<MatrixTransform> {matrix: [0.2126729, 0.7151521, 0.0721750, 0, 0.2126729, 0.7151521, 0.0721750, 0, 0.2126729, 0.7151521, 0.0721750, 0, 0, 0, 0, 1]}
- !<FileTransform> {src: filmic_false_color.spi3d, interpolation: best} - !<FileTransform> {src: filmic_false_color.spi3d, interpolation: best}
looks: looks:
- !<Look> - !<Look>
name: Very High Contrast name: Very High Contrast
process_space: Filmic Log process_space: Filmic Log
transform: !<GroupTransform> transform: !<GroupTransform>
children: children:
- !<FileTransform> {src: filmic_to_1.20_1-00.spi1d, interpolation: linear} - !<FileTransform> {src: filmic_to_1.20_1-00.spi1d, interpolation: linear}
- !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse} - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse}
- !<Look> - !<Look>
name: High Contrast name: High Contrast
process_space: Filmic Log process_space: Filmic Log
transform: !<GroupTransform> transform: !<GroupTransform>
children: children:
- !<FileTransform> {src: filmic_to_0.99_1-0075.spi1d, interpolation: linear} - !<FileTransform> {src: filmic_to_0.99_1-0075.spi1d, interpolation: linear}
- !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse} - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse}
- !<Look> - !<Look>
name: Medium High Contrast name: Medium High Contrast
process_space: Filmic Log process_space: Filmic Log
transform: !<GroupTransform> transform: !<GroupTransform>
children: children:
- !<FileTransform> {src: filmic_to_0-85_1-011.spi1d, interpolation: best} - !<FileTransform> {src: filmic_to_0-85_1-011.spi1d, interpolation: best}
- !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse} - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse}
- !<Look> - !<Look>
name: Medium Contrast name: Medium Contrast
process_space: Filmic Log process_space: Filmic Log
transform: !<GroupTransform> transform: !<GroupTransform>
children: children:
- !<Look> - !<Look>
name: Medium Low Contrast name: Medium Low Contrast
process_space: Filmic Log process_space: Filmic Log
transform: !<GroupTransform> transform: !<GroupTransform>
children: children:
- !<FileTransform> {src: filmic_to_0-60_1-04.spi1d, interpolation: linear} - !<FileTransform> {src: filmic_to_0-60_1-04.spi1d, interpolation: linear}
- !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse} - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse}
- !<Look> - !<Look>
name: Low Contrast name: Low Contrast
process_space: Filmic Log process_space: Filmic Log
transform: !<GroupTransform> transform: !<GroupTransform>
children: children:
- !<FileTransform> {src: filmic_to_0-48_1-09.spi1d, interpolation: linear} - !<FileTransform> {src: filmic_to_0-48_1-09.spi1d, interpolation: linear}
- !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse} - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse}
- !<Look> - !<Look>
name: Very Low Contrast name: Very Low Contrast
process_space: Filmic Log process_space: Filmic Log
transform: !<GroupTransform> transform: !<GroupTransform>
children: children:
- !<FileTransform> {src: filmic_to_0-35_1-30.spi1d, interpolation: linear} - !<FileTransform> {src: filmic_to_0-35_1-30.spi1d, interpolation: linear}
- !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse} - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse}

View File

@ -1,3 +0,0 @@
0.4124564 0.3575761 0.1804375 0
0.2126729 0.7151522 0.0721750 0
0.0193339 0.1191920 0.9503041 0

View File

@ -1,3 +0,0 @@
1.0521111 0.0000000 0.0000000 0
0.0000000 1.0000000 0.0000000 0
0.0000000 0.0000000 0.9184170 0

View File

@ -0,0 +1,3 @@
0.95318743 -0.02659057 0.02387315 0
-0.03824666 1.02884062 0.00940604 0
0.00260677 -0.00303325 1.08925647 0

View File

@ -393,7 +393,6 @@ void BKE_collection_compat_blend_read_expand(BlendExpander *expander, SceneColle
void BKE_collection_blend_read_expand(BlendExpander *expander, Collection *collection) void BKE_collection_blend_read_expand(BlendExpander *expander, Collection *collection)
{ {
BLI_assert(collection->runtime.gobject_hash == nullptr);
LISTBASE_FOREACH (CollectionObject *, cob, &collection->gobject) { LISTBASE_FOREACH (CollectionObject *, cob, &collection->gobject) {
BLO_expand(expander, cob->ob); BLO_expand(expander, cob->ob);
} }

View File

@ -870,6 +870,13 @@ static void scene_foreach_id(ID *id, LibraryForeachIDData *data)
LISTBASE_FOREACH (ViewLayer *, view_layer, &scene->view_layers) { LISTBASE_FOREACH (ViewLayer *, view_layer, &scene->view_layers) {
BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, view_layer->mat_override, IDWALK_CB_USER); BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, view_layer->mat_override, IDWALK_CB_USER);
BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL(
data,
IDP_foreach_property(view_layer->id_properties,
IDP_TYPE_FILTER_ID,
BKE_lib_query_idpropertiesForeachIDLink_callback,
data));
BKE_view_layer_synced_ensure(scene, view_layer); BKE_view_layer_synced_ensure(scene, view_layer);
LISTBASE_FOREACH (Base *, base, BKE_view_layer_object_bases_get(view_layer)) { LISTBASE_FOREACH (Base *, base, BKE_view_layer_object_bases_get(view_layer)) {
BKE_LIB_FOREACHID_PROCESS_IDSUPER( BKE_LIB_FOREACHID_PROCESS_IDSUPER(