Skip to content

Commit 983d067

Browse files
Merge branch '1.6_maintenance'
2 parents 9cd9df0 + 4e9771b commit 983d067

3 files changed

Lines changed: 50 additions & 1 deletion

File tree

Changes.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,12 @@ Fixes
1313
- MenuButton : Fixed immediate mode when the menu contained a single submenu.
1414
- RandomChoice : Fixed "Value/Weight" table headers when first setting up the node.
1515
- VectorDataPlugValueWidget : Fixed handling of custom header metadata when adding and removing columns.
16-
- RenderMan : Fixed handling of `treatAsPoint` and `treatAsLine` UsdLuxLight parameters. These are now ignored, matching the behaviour of `hdPrman`.
16+
- RenderMan :
17+
- Fixed handling of `treatAsPoint` and `treatAsLine` UsdLuxLight parameters. These are now ignored, matching the behaviour of `hdPrman`.
18+
- Fixed handling of connections between floats and color/vector components [^2].
1719

1820
[^1]: Improvement to a feature introduced in `1.7.0.0a1`, so should be omitted from final `1.7.0.0` release notes.
21+
[^2]: Included in `1.6.x.x`, so should be omitted from final `1.7.0.0` release notes.
1922

2023
1.7.0.0a9 (relative to 1.7.0.0a8)
2124
=========
@@ -438,7 +441,10 @@ Build
438441
1.6.x.x (relative to 1.6.21.2)
439442
=======
440443

444+
Fixes
445+
-----
441446

447+
- RenderMan : Fixed handling of connections between floats and color/vector components.
442448

443449
1.6.21.2 (relative to 1.6.21.1)
444450
========

python/IECoreRenderManTest/RendererTest.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1079,6 +1079,48 @@ def testConnectionToMissingShader( self ) :
10791079

10801080
del renderer
10811081

1082+
def testComponentConnections( self ) :
1083+
1084+
renderer = GafferScene.Private.IECoreScenePreview.Renderer.create(
1085+
self.renderer,
1086+
GafferScene.Private.IECoreScenePreview.Renderer.RenderType.Batch
1087+
)
1088+
1089+
fileName = str( self.temporaryDirectory() / "test.exr" )
1090+
renderer.output(
1091+
"test",
1092+
IECoreScene.Output(
1093+
fileName,
1094+
"exr",
1095+
"rgba",
1096+
{
1097+
},
1098+
)
1099+
)
1100+
1101+
renderer.object(
1102+
"sphere",
1103+
IECoreScene.SpherePrimitive(),
1104+
renderer.attributes( IECore.CompoundObject( {
1105+
"ri:surface" : IECoreScene.ShaderNetwork(
1106+
shaders = {
1107+
"attribute" : IECoreScene.Shader( "PxrAttribute", "osl:shader", { "defaultFloat" : 0.5 } ),
1108+
"output" : IECoreScene.Shader( "PxrConstant", "ri:surface", { "emitColor" : imath.Color3f( 0.25, 1, 0.75 ) } ),
1109+
},
1110+
connections = [
1111+
( ( "attribute", "resultRGB.r" ), ( "output", "emitColor.g" ) ),
1112+
],
1113+
output = "output",
1114+
),
1115+
} ) )
1116+
).transform( imath.M44f().translate( imath.V3f( 0, 0, -3 ) ) )
1117+
1118+
renderer.render()
1119+
del renderer
1120+
1121+
image = OpenImageIO.ImageBuf( fileName )
1122+
self.assertEqual( image.getpixel( 320, 240, 0 ), ( 0.25, 0.5, 0.75, 1.0 ) )
1123+
10821124
def testConnectionToOSLShader( self ) :
10831125

10841126
renderer = GafferScene.Private.IECoreScenePreview.Renderer.create(

src/IECoreRenderMan/ShaderNetworkAlgo.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -887,6 +887,7 @@ ShaderNetworkPtr preprocessedNetwork( const IECoreScene::ShaderNetwork *shaderNe
887887
IECoreScene::ShaderNetworkAlgo::expandRamps( result.get() );
888888
IECoreRenderMan::ShaderNetworkAlgo::convertUSDShaders( result.get() );
889889
IECoreRenderMan::ShaderNetworkAlgo::resolveVStructs( result.get() );
890+
IECoreScene::ShaderNetworkAlgo::addComponentConnectionAdapters( result.get() );
890891

891892
return result;
892893
}

0 commit comments

Comments
 (0)