From 8deade7e2a4400bc1371e4ffa73aeadfdc32c4da Mon Sep 17 00:00:00 2001 From: John Haddon Date: Tue, 8 Jul 2025 11:57:40 +0100 Subject: [PATCH 1/2] GafferScene, IECoreArnold : Adapt to `IECoreScene::Renderer` removal --- .../GafferScene/Private/IECoreScenePreview/Geometry.h | 7 ++++++- .../GafferScene/Private/IECoreScenePreview/Placeholder.h | 6 +++++- .../GafferScene/Private/IECoreScenePreview/Procedural.h | 9 +++++---- src/GafferScene/IECoreScenePreview/Geometry.cpp | 5 ----- src/GafferScene/IECoreScenePreview/Placeholder.cpp | 5 ----- src/GafferScene/IECoreScenePreview/Procedural.cpp | 5 ----- src/GafferScene/RendererAlgo.cpp | 1 - src/IECoreArnold/VDBAlgo.cpp | 2 -- 8 files changed, 16 insertions(+), 24 deletions(-) diff --git a/include/GafferScene/Private/IECoreScenePreview/Geometry.h b/include/GafferScene/Private/IECoreScenePreview/Geometry.h index a482f619c5d..e617cb357bf 100644 --- a/include/GafferScene/Private/IECoreScenePreview/Geometry.h +++ b/include/GafferScene/Private/IECoreScenePreview/Geometry.h @@ -40,6 +40,8 @@ #include "IECoreScene/VisibleRenderable.h" +#include "IECore/Version.h" + namespace IECoreScenePreview { @@ -64,7 +66,10 @@ class GAFFERSCENE_API Geometry : public IECoreScene::VisibleRenderable const IECore::CompoundData *parameters() const; Imath::Box3f bound() const override; - void render( IECoreScene::Renderer *renderer ) const override; + +#if CORTEX_COMPATIBILITY_VERSION < MAKE_CORTEX_COMPATIBILITY_VERSION( 10, 6 ) + void render( IECoreScene::Renderer *renderer ) const override {}; +#endif private: diff --git a/include/GafferScene/Private/IECoreScenePreview/Placeholder.h b/include/GafferScene/Private/IECoreScenePreview/Placeholder.h index 3d8e066f84a..90ec6079b6e 100644 --- a/include/GafferScene/Private/IECoreScenePreview/Placeholder.h +++ b/include/GafferScene/Private/IECoreScenePreview/Placeholder.h @@ -42,6 +42,8 @@ #include "IECoreScene/VisibleRenderable.h" +#include "IECore/Version.h" + namespace IECoreScenePreview { @@ -70,7 +72,9 @@ class GAFFERSCENE_API Placeholder : public IECoreScene::VisibleRenderable const Imath::Box3f &getBound() const; Imath::Box3f bound() const override; - void render( IECoreScene::Renderer *renderer ) const override; +#if CORTEX_COMPATIBILITY_VERSION < MAKE_CORTEX_COMPATIBILITY_VERSION( 10, 6 ) + void render( IECoreScene::Renderer *renderer ) const override {}; +#endif private : diff --git a/include/GafferScene/Private/IECoreScenePreview/Procedural.h b/include/GafferScene/Private/IECoreScenePreview/Procedural.h index 9aded14e612..18f2866b64e 100644 --- a/include/GafferScene/Private/IECoreScenePreview/Procedural.h +++ b/include/GafferScene/Private/IECoreScenePreview/Procedural.h @@ -42,6 +42,8 @@ #include "IECoreScene/VisibleRenderable.h" +#include "IECore/Version.h" + namespace IECoreScenePreview { @@ -59,10 +61,9 @@ class GAFFERSCENE_API Procedural : public IECoreScene::VisibleRenderable IE_CORE_DECLAREEXTENSIONOBJECT( Procedural, IECoreScenePreview::PreviewProceduralTypeId, IECoreScene::VisibleRenderable ); - /// Legacy inherited from IECore::VisibleRenderable. - /// Should not be implemented by derived classes. - void render( IECoreScene::Renderer *renderer ) const final; - /// Render function for use with new renderer backends. +#if CORTEX_COMPATIBILITY_VERSION < MAKE_CORTEX_COMPATIBILITY_VERSION( 10, 6 ) + void render( IECoreScene::Renderer *renderer ) const final {}; +#endif /// Must be implemented by derived classes. virtual void render( Renderer *renderer ) const = 0; diff --git a/src/GafferScene/IECoreScenePreview/Geometry.cpp b/src/GafferScene/IECoreScenePreview/Geometry.cpp index beb40537f21..0494cf49254 100644 --- a/src/GafferScene/IECoreScenePreview/Geometry.cpp +++ b/src/GafferScene/IECoreScenePreview/Geometry.cpp @@ -86,11 +86,6 @@ Imath::Box3f Geometry::bound() const return m_bound; } -void Geometry::render( Renderer *renderer ) const -{ - msg( Msg::Warning, "Geometry::render", "Legacy renderers not supported" ); -} - bool Geometry::isEqualTo( const IECore::Object *other ) const { if( !VisibleRenderable::isEqualTo( other ) ) diff --git a/src/GafferScene/IECoreScenePreview/Placeholder.cpp b/src/GafferScene/IECoreScenePreview/Placeholder.cpp index 87c904e487c..6f2b3305917 100644 --- a/src/GafferScene/IECoreScenePreview/Placeholder.cpp +++ b/src/GafferScene/IECoreScenePreview/Placeholder.cpp @@ -76,11 +76,6 @@ Imath::Box3f Placeholder::bound() const return m_bound; } -void Placeholder::render( Renderer *renderer ) const -{ - msg( Msg::Warning, "Placeholder::render", "Legacy renderers not supported" ); -} - bool Placeholder::isEqualTo( const IECore::Object *other ) const { if( !VisibleRenderable::isEqualTo( other ) ) diff --git a/src/GafferScene/IECoreScenePreview/Procedural.cpp b/src/GafferScene/IECoreScenePreview/Procedural.cpp index d3ba5c6db17..826b63886c2 100644 --- a/src/GafferScene/IECoreScenePreview/Procedural.cpp +++ b/src/GafferScene/IECoreScenePreview/Procedural.cpp @@ -81,8 +81,3 @@ void Procedural::memoryUsage( IECore::Object::MemoryAccumulator &accumulator ) c { VisibleRenderable::memoryUsage( accumulator ); } - -void Procedural::render( IECoreScene::Renderer *renderer ) const -{ - IECore::msg( IECore::Msg::Warning, std::string( typeName() ) + "::render", "Legacy renderers are not supported." ); -} diff --git a/src/GafferScene/RendererAlgo.cpp b/src/GafferScene/RendererAlgo.cpp index 59641c93f50..ade80d639e1 100644 --- a/src/GafferScene/RendererAlgo.cpp +++ b/src/GafferScene/RendererAlgo.cpp @@ -52,7 +52,6 @@ #include "IECoreScene/ClippingPlane.h" #include "IECoreScene/CoordinateSystem.h" #include "IECoreScene/Output.h" -#include "IECoreScene/PreWorldRenderable.h" #include "IECoreScene/Primitive.h" #include "IECoreScene/Shader.h" #include "IECoreScene/VisibleRenderable.h" diff --git a/src/IECoreArnold/VDBAlgo.cpp b/src/IECoreArnold/VDBAlgo.cpp index ce749a62a36..1a41a1f8ec8 100644 --- a/src/IECoreArnold/VDBAlgo.cpp +++ b/src/IECoreArnold/VDBAlgo.cpp @@ -37,8 +37,6 @@ #include "IECoreArnold/NodeAlgo.h" #include "IECoreArnold/ParameterAlgo.h" -#include "IECoreScene/Renderer.h" - #include "IECore/CompoundData.h" #include "IECore/Exception.h" #include "IECore/MessageHandler.h" From 6a1d485bfdc9967e7c4afd23cff5834b674c432d Mon Sep 17 00:00:00 2001 From: John Haddon Date: Thu, 24 Jul 2025 15:42:18 +0100 Subject: [PATCH 2/2] CI : Update to GafferHQ/dependencies 10.0.0a5 --- .github/workflows/main/installDependencies.py | 2 +- Changes.md | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main/installDependencies.py b/.github/workflows/main/installDependencies.py index a0abb89b8e9..a41ae5361dd 100755 --- a/.github/workflows/main/installDependencies.py +++ b/.github/workflows/main/installDependencies.py @@ -49,7 +49,7 @@ # Determine default archive URL. -defaultURL = "https://github.com/GafferHQ/dependencies/releases/download/10.0.0a4/gafferDependencies-10.0.0a4-{platform}{buildEnvironment}.{extension}" +defaultURL = "https://github.com/GafferHQ/dependencies/releases/download/10.0.0a5/gafferDependencies-10.0.0a5-{platform}{buildEnvironment}.{extension}" # Parse command line arguments. diff --git a/Changes.md b/Changes.md index 33ade22b6c7..8a55e2934ad 100644 --- a/Changes.md +++ b/Changes.md @@ -64,6 +64,8 @@ Fixes - ScenePathPlugValueWidget : - Fixed context used to evaluate the scene. This is now focus-aware, so the scene browser only shows locations that are available with respect to the current focus. - Fixed bugs that prevented usage in `Editor.Settings` nodes. +- SceneReader : Fixed bug reading USD cameras without authored shutter attributes. Previously, the loaded camera would have an unwanted shutter parameter, but now the shutter parameter is correctly omitted. +- SceneWriter : Fixed bug writing cameras without a shutter parameter to USD. Previously shutter attributes were authored with default values, but now the shutter attributes are not authored at all. API --- @@ -103,12 +105,13 @@ Breaking Changes - OSLObject, OSLImage, Expression : Removed support for file-based pointclouds. - ContextAlgo : Removed deprecated API. Use ScriptNodeAlgo instead, which has been available from Gaffer 1.4.13.0 onwards. - ScriptNodeAlgo : Reimplemented using Metadata rather than Context variables for storage. Use the ScriptNodeAlgo API instead of attempting direct access to `ui:*` context variables. +- SceneReader, SceneWriter : Changed handling of missing shutter parameters. See Fixes section for more detail. Build ----- - Boost : Updated to version 1.82.0. -- Cortex : Updated to version 10.5.14.1. +- Cortex : Updated to version 10.6.0.0a1. - Cycles : Updated to version 4.4.0. - FreeType : Updated to version 2.13.3. - LibRaw : Updated to version 0.21.4.