I've done multiple output ports.

In essence the _update callback becomes a loop where each invocation is 
dedicated to a specific output port of the operator.  You merely have to put 
some logic at the top to branch into the different paths based on which output 
port is being processed in the current call.

For example;

Let's say your SCOP has 3 output ports: Position, Rotation, Scale

Each time the input ports are dirtied, the SCOP will be called to evaluate.  
Each time it's called, it's called in a package of three calls to _update().  
Your code needs to check the OperatorContext object to determine which output 
port Softimage is focusing on during the current callback, do the computations, 
then assign the result to the current output port.

If ( oOperatorContext.OutputPort.Name == "Position" ) {
                                //
                                oOutputPort.Value = <position value>
} else if (oOperatorContext.OutputPort.Name == "Rotation" ) {
                                //
oOutputPort.Value = <rotation value>
} else if ( oOperatorContext.OutputPort.Name == "Scale" ) {
                                //
oOutputPort.Value = <scale value>
}



Basically an operator is a command encapsulated inside a framework where the 
inputs and outputs are always known.

Matt







From: softimage-boun...@listproc.autodesk.com 
[mailto:softimage-boun...@listproc.autodesk.com] On Behalf Of Steven Caron
Sent: Thursday, September 06, 2012 10:20 AM
To: softimage@listproc.autodesk.com
Subject: Re: SDK : connecting an object to a matrix port on a shader

anyone?

how about multiple output ports on SCOPs, anyone do that before?

s
On Wed, Sep 5, 2012 at 1:38 PM, Steven Caron 
<car...@gmail.com<mailto:car...@gmail.com>> wrote:
does anyone have any examples on how to connect an object matrix to a port on a 
shader using a scop? its been soo long since i have used scops and i am not 
getting much traction.

s

Reply via email to