Changeset View
Changeset View
Standalone View
Standalone View
source/blender/compositor/nodes/COM_TransformNode.cc
| Show First 20 Lines • Show All 67 Lines • ▼ Show 20 Lines | case eExecutionModel::Tiled: { | ||||
| converter.addLink(rotateOperation->getOutputSocket(), translateOperation->getInputSocket(0)); | converter.addLink(rotateOperation->getOutputSocket(), translateOperation->getInputSocket(0)); | ||||
| converter.mapInputSocket(xInput, translateOperation->getInputSocket(1)); | converter.mapInputSocket(xInput, translateOperation->getInputSocket(1)); | ||||
| converter.mapInputSocket(yInput, translateOperation->getInputSocket(2)); | converter.mapInputSocket(yInput, translateOperation->getInputSocket(2)); | ||||
| converter.mapOutputSocket(getOutputSocket(), translateOperation->getOutputSocket()); | converter.mapOutputSocket(getOutputSocket(), translateOperation->getOutputSocket()); | ||||
| break; | break; | ||||
| } | } | ||||
| case eExecutionModel::FullFrame: { | case eExecutionModel::FullFrame: { | ||||
| TransformOperation *op = new TransformOperation(); | ScaleRelativeOperation *scaleOperation = new ScaleRelativeOperation(); | ||||
| op->set_sampler((PixelSampler)this->getbNode()->custom1); | converter.addOperation(scaleOperation); | ||||
| converter.addOperation(op); | |||||
| RotateOperation *rotateOperation = new RotateOperation(); | |||||
| converter.mapInputSocket(imageInput, op->getInputSocket(0)); | rotateOperation->setDoDegree2RadConversion(false); | ||||
| converter.mapInputSocket(xInput, op->getInputSocket(1)); | converter.addOperation(rotateOperation); | ||||
| converter.mapInputSocket(yInput, op->getInputSocket(2)); | |||||
| converter.mapInputSocket(angleInput, op->getInputSocket(3)); | TranslateOperation *translateOperation = new TranslateCanvasOperation(); | ||||
| converter.mapInputSocket(scaleInput, op->getInputSocket(4)); | converter.addOperation(translateOperation); | ||||
| converter.mapOutputSocket(getOutputSocket(), op->getOutputSocket()); | |||||
| PixelSampler sampler = (PixelSampler)this->getbNode()->custom1; | |||||
| scaleOperation->setSampler(sampler); | |||||
| rotateOperation->set_sampler(sampler); | |||||
| scaleOperation->set_scale_canvas_max_size(context.get_render_size()); | |||||
| converter.mapInputSocket(imageInput, scaleOperation->getInputSocket(0)); | |||||
| converter.mapInputSocket(scaleInput, scaleOperation->getInputSocket(1)); | |||||
| converter.mapInputSocket(scaleInput, scaleOperation->getInputSocket(2)); // xscale = yscale | |||||
| converter.addLink(scaleOperation->getOutputSocket(), rotateOperation->getInputSocket(0)); | |||||
| converter.mapInputSocket(angleInput, rotateOperation->getInputSocket(1)); | |||||
| converter.addLink(rotateOperation->getOutputSocket(), translateOperation->getInputSocket(0)); | |||||
| converter.mapInputSocket(xInput, translateOperation->getInputSocket(1)); | |||||
| converter.mapInputSocket(yInput, translateOperation->getInputSocket(2)); | |||||
| converter.mapOutputSocket(getOutputSocket(), translateOperation->getOutputSocket()); | |||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| } // namespace blender::compositor | } // namespace blender::compositor | ||||