Fixed despill on keying node not using input socket for screen color properly
This commit is contained in:
@@ -119,14 +119,14 @@ OutputSocket *KeyingNode::setupDilateErode(ExecutionSystem *graph, OutputSocket
|
||||
return dilateErodeOperation->getOutputSocket(0);
|
||||
}
|
||||
|
||||
OutputSocket *KeyingNode::setupDespill(ExecutionSystem *graph, OutputSocket *despillInput, InputSocket *inputScreen, float factor)
|
||||
OutputSocket *KeyingNode::setupDespill(ExecutionSystem *graph, OutputSocket *despillInput, OutputSocket *inputScreen, float factor)
|
||||
{
|
||||
KeyingDespillOperation *despillOperation = new KeyingDespillOperation();
|
||||
|
||||
despillOperation->setDespillFactor(factor);
|
||||
|
||||
addLink(graph, despillInput, despillOperation->getInputSocket(0));
|
||||
inputScreen->relinkConnections(despillOperation->getInputSocket(1), 1, graph);
|
||||
addLink(graph, inputScreen, despillOperation->getInputSocket(1));
|
||||
|
||||
graph->addOperation(despillOperation);
|
||||
|
||||
@@ -213,7 +213,9 @@ void KeyingNode::convertToOperations(ExecutionSystem *graph, CompositorContext *
|
||||
|
||||
/* despill output image */
|
||||
if (keying_data->despill_factor > 0.0f) {
|
||||
postprocessedImage = setupDespill(graph, postprocessedImage, inputScreen, keying_data->despill_factor);
|
||||
postprocessedImage = setupDespill(graph, postprocessedImage,
|
||||
keyingOperation->getInputSocket(0)->getConnection()->getFromSocket(),
|
||||
keying_data->despill_factor);
|
||||
}
|
||||
|
||||
/* connect result to output sockets */
|
||||
|
||||
@@ -32,7 +32,7 @@ protected:
|
||||
OutputSocket *setupPreBlur(ExecutionSystem *graph, InputSocket *inputImage, int size, OutputSocket **originalImage);
|
||||
OutputSocket *setupPostBlur(ExecutionSystem *graph, OutputSocket *postBLurInput, int size);
|
||||
OutputSocket *setupDilateErode(ExecutionSystem *graph, OutputSocket *dilateErodeInput, int distance);
|
||||
OutputSocket *setupDespill(ExecutionSystem *graph, OutputSocket *despillInput, InputSocket *inputSrceen, float factor);
|
||||
OutputSocket *setupDespill(ExecutionSystem *graph, OutputSocket *despillInput, OutputSocket *inputSrceen, float factor);
|
||||
OutputSocket *setupClip(ExecutionSystem *graph, OutputSocket *clipInput, int kernelRadius, float kernelTolerance,
|
||||
float clipBlack, float clipWhite, bool edgeMatte);
|
||||
public:
|
||||
|
||||
Reference in New Issue
Block a user