#
# This example demonstrates how to use the DisconnectAndDeleteOrUnnestShaders
# command by creating two shaders in a simple render tree, and deleting the
# phong without deleting the attached fractal.
#
null = None
true = 1
false = 0
app = Application
app.NewScene( "", 0 )
# Build our shaders (a Phong and a Fractal)
oSph = app.CreatePrim( "Sphere", "MeshSurface" )
oPhong = app.SIApplyShader( "Phong", oSph )
oFractal = app.BlendInPresets( "Fractal", None, None, true, siReplaceNoBlend, false, false, true )
# Now display the render tree. A message box appears so that you can see the
# contents of the render tree before deleting one of the shaders. When you are
# ready to proceed, click OK...
app.OpenView( "Render Tree" )
lResponse = XSIUIToolkit.MsgBox( "When you are ready to proceed, click OK. "
+ "The message box will close and the DisconnectAndDeleteShaders command "
+ "will remove the shader node only.", siMsgOkCancel + siMsgInformation,
"DisconnectAndDeleteShaders Demo" )
if ( lResponse == siMsgOk ) :
app.DisconnectAndDeleteShaders( oPhong )
else :
app.LogMessage( "You opted not to complete the demonstration." )
|