From d8db466810d4afac93701e66c71cad6b067357c0 Mon Sep 17 00:00:00 2001 From: Murray Stevenson <50844517+murraystevenson@users.noreply.github.com> Date: Wed, 11 Dec 2024 15:26:39 -0800 Subject: [PATCH 1/2] RenderPassEditor : Include option name in column tooltip This idea and formatting is borrowed from the AttributeEditor's display of attribute names in its column tooltips, and makes the underlying options a little more discoverable. --- Changes.md | 4 +++- python/GafferSceneUI/RenderPassEditor.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Changes.md b/Changes.md index ea8ce1dbceb..c57362427b4 100644 --- a/Changes.md +++ b/Changes.md @@ -17,7 +17,9 @@ Improvements ------------ - MergeScenes : Removed unnecessary temporary contexts. -- RenderPassEditor : Added support for entering custom values in the `Type` column. Custom types can be later configured with a downstream NameSwitch selecting based on the value of the `renderPass:type` option. +- RenderPassEditor : + - Added support for entering custom values in the `Type` column. Custom types can be later configured with a downstream NameSwitch selecting based on the value of the `renderPass:type` option. + - Columns that edit options now include the option name in their header tooltip. Fixes ----- diff --git a/python/GafferSceneUI/RenderPassEditor.py b/python/GafferSceneUI/RenderPassEditor.py index e09423df49a..6d2d55c7b74 100644 --- a/python/GafferSceneUI/RenderPassEditor.py +++ b/python/GafferSceneUI/RenderPassEditor.py @@ -148,7 +148,7 @@ def registerOption( cls, groupKey, optionName, section = "Main", columnName = No if not columnName : columnName = optionLabel or optionName.split( ":" )[-1] - toolTip = "

{}

".format( optionLabel or columnName ) + toolTip = "

{}

Option : {}".format( optionLabel or columnName, optionName ) optionDescription = Gaffer.Metadata.value( "option:" + optionName, "description" ) if optionDescription : ## \todo PathListingWidget's PathModel should be handling this instead. From e186938a67498126a5dcd98666def691d2697c09 Mon Sep 17 00:00:00 2001 From: Murray Stevenson <50844517+murraystevenson@users.noreply.github.com> Date: Wed, 11 Dec 2024 15:27:04 -0800 Subject: [PATCH 2/2] standardOptions : Improve description of camera and matte exclusions Some users were over-specifying `cameraExclusions` as `all - cameraInclusions`, which is redundant as anything outside of `cameraInclusions` would already be invisible to camera rays. --- Changes.md | 1 + startup/GafferScene/standardOptions.py | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/Changes.md b/Changes.md index c57362427b4..5a773f173f0 100644 --- a/Changes.md +++ b/Changes.md @@ -20,6 +20,7 @@ Improvements - RenderPassEditor : - Added support for entering custom values in the `Type` column. Custom types can be later configured with a downstream NameSwitch selecting based on the value of the `renderPass:type` option. - Columns that edit options now include the option name in their header tooltip. + - Improved description of `render:cameraExclusions` and `render:matteExclusions` options. Fixes ----- diff --git a/startup/GafferScene/standardOptions.py b/startup/GafferScene/standardOptions.py index 294a288df6a..526ec32daff 100644 --- a/startup/GafferScene/standardOptions.py +++ b/startup/GafferScene/standardOptions.py @@ -182,6 +182,10 @@ ray visibility. Camera visibility attributes authored in the scene take precedence over this option. + Typically, this is used to exclude descendants of locations in `cameraInclusions`, + as locations not specified in `cameraInclusions` already default to being excluded + from camera ray visibility. + For shadow, reflection and reflectionAlpha pass types, this specifies objects that cast shadows or reflections. Shadow or reflection visibility attributes authored in the scene take precedence over this option. @@ -209,5 +213,9 @@ A set expression that excludes the matched objects and their descendants from being treated as matte (holdout) objects. Matte attributes authored in the scene take precedence over this option. + + Typically, this is used to exclude descendants of locations in `matteInclusions`, + as locations not specified in `matteInclusions` already default to not being + treated as matte objects. """ )