Skip to content

Commit

Permalink
Merge pull request #5645 from danieldresser-ie/arnoldAOVFixes
Browse files Browse the repository at this point in the history
Arnold Minor Aov Fixes
  • Loading branch information
johnhaddon authored Jan 30, 2024
2 parents 8c731c5 + 72dbd78 commit 73a69c4
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 2 deletions.
5 changes: 4 additions & 1 deletion Changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ Features
Improvements
------------

- ArnoldShader : Added a colour space presets menu for the `image` shader.
- Arnold :
- ArnoldShader : Added a colour space presets menu for the `image` shader.
- Added specific warning for outputs with space in name.
- Added normal and depth AOVs.
- CyclesShader : Added a colour space presets menu for the `image_texture` and `environment_texture` shaders (#5618).

Fixes
Expand Down
4 changes: 4 additions & 0 deletions src/IECoreArnold/Renderer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -473,6 +473,10 @@ class ArnoldOutput : public IECore::RefCounted
ArnoldOutput( AtUniverse *universe, const IECore::InternedString &name, const IECoreScene::Output *output, NodeDeleter nodeDeleter )
: m_universe( universe ), m_name( name ), m_nodeDeleter( nodeDeleter )
{
if( m_name.string().find( " " ) != std::string::npos )
{
throw IECore::Exception( fmt::format( "Unable to create output driver with name \"{}\", Arnold does not allow spaces in output names.", m_name.string() ) );
}
update( output );
}

Expand Down
14 changes: 13 additions & 1 deletion startup/gui/outputs.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,10 +116,19 @@
"volume_indirect",
"volume_albedo",
"motionvector",
"normal",
"depth",
] :

label = aov.replace( "_", " " ).title().replace( " ", "_" )
data = "color " + aov if aov != "beauty" else "rgba"
if aov == "beauty":
data = "rgba"
elif aov == "depth":
data = "float Z"
elif aov == "normal":
data = "color N"
else:
data = "color " + aov

if aov == "motionvector" :
parameters = {
Expand All @@ -128,6 +137,9 @@
else :
parameters = {}

if aov == "depth":
parameters["layerName"] = "Z"

if aov not in { "motionvector", "emission", "background" } :
parameters["layerPerLightGroup"] = False

Expand Down

0 comments on commit 73a69c4

Please sign in to comment.