/*
This example demonstrates how to use the DisconnectAndDeleteShaders command by
creating two shaders in a simple render tree, and deleting the phong without
deleting the attached fractal.
*/
NewScene( null, false );
// Build our shaders (a Phong and a Fractal)
var oSph = CreatePrim( "Sphere", "MeshSurface" );
var oPhong = SIApplyShader( "Phong", oSph );
var oFractal = BlendInPresets( "Fractal", null, null, 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...
OpenView( "Render Tree" );
var 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 ) {
DisconnectAndDeleteShaders( oPhong );
} else {
Application.LogMessage( "You opted not to complete the demonstration." );
} |