Blender V4.3
COM_PlaneTrackDeformNode.cc
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2013 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
6
8#include "COM_SMAAOperation.h"
10
11namespace blender::compositor {
12
14{
15 /* pass */
16}
17
19 const CompositorContext &context) const
20{
21 const bNode *editor_node = this->get_bnode();
22 MovieClip *clip = (MovieClip *)editor_node->id;
24
25 int frame_number = context.get_framenumber();
26
27 PlaneTrackMaskOperation *plane_mask_operation = new PlaneTrackMaskOperation();
28 plane_mask_operation->set_movie_clip(clip);
29 plane_mask_operation->set_tracking_object(data->tracking_object);
30 plane_mask_operation->set_plane_track_name(data->plane_track_name);
31 plane_mask_operation->set_framenumber(frame_number);
33 plane_mask_operation->set_motion_blur_samples(data->motion_blur_samples);
34 plane_mask_operation->set_motion_blur_shutter(data->motion_blur_shutter);
35 }
36 converter.add_operation(plane_mask_operation);
37
38 SMAAOperation *smaa_operation = new SMAAOperation();
39 converter.add_operation(smaa_operation);
40
41 converter.add_link(plane_mask_operation->get_output_socket(),
42 smaa_operation->get_input_socket(0));
43
44 converter.map_output_socket(this->get_output_socket(1), smaa_operation->get_output_socket());
45
47 warp_image_operation->set_movie_clip(clip);
48 warp_image_operation->set_tracking_object(data->tracking_object);
49 warp_image_operation->set_plane_track_name(data->plane_track_name);
50 warp_image_operation->set_framenumber(frame_number);
52 warp_image_operation->set_motion_blur_samples(data->motion_blur_samples);
53 warp_image_operation->set_motion_blur_shutter(data->motion_blur_shutter);
54 }
55 converter.add_operation(warp_image_operation);
56
57 converter.map_input_socket(this->get_input_socket(0), warp_image_operation->get_input_socket(0));
58
59 SetAlphaMultiplyOperation *set_alpha_operation = new SetAlphaMultiplyOperation();
60 converter.add_operation(set_alpha_operation);
61 converter.add_link(warp_image_operation->get_output_socket(),
62 set_alpha_operation->get_input_socket(0));
63 converter.add_link(smaa_operation->get_output_socket(),
64 set_alpha_operation->get_input_socket(1));
65 converter.map_output_socket(this->get_output_socket(0),
66 set_alpha_operation->get_output_socket());
67}
68
69} // namespace blender::compositor
@ CMP_NODE_PLANE_TRACK_DEFORM_FLAG_MOTION_BLUR
Overall context of the compositor.
void add_link(NodeOperationOutput *from, NodeOperationInput *to)
void map_output_socket(NodeOutput *node_socket, NodeOperationOutput *operation_socket)
void add_operation(NodeOperation *operation)
void map_input_socket(NodeInput *node_socket, NodeOperationInput *operation_socket)
NodeOperationOutput * get_output_socket(unsigned int index=0)
NodeOperationInput * get_input_socket(unsigned int index)
NodeOutput * get_output_socket(unsigned int index=0) const
Definition COM_Node.cc:85
NodeInput * get_input_socket(unsigned int index) const
Definition COM_Node.cc:90
const bNode * get_bnode() const
get the reference to the SDNA bNode struct
Definition COM_Node.h:65
void convert_to_operations(NodeConverter &converter, const CompositorContext &context) const override
convert node to operation
struct ID * id
void * storage