Blender V4.3
COM_PlaneDistortCommonOperation.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2013 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
7#include <string.h>
8
10
11#include "DNA_movieclip_types.h"
12#include "DNA_tracking_types.h"
13
14#include "BLI_listbase.h"
15#include "BLI_string.h"
16
17namespace blender::compositor {
18
19#define PLANE_DISTORT_MAX_SAMPLES 64
20
22 protected:
23 struct MotionSample {
24 float frame_space_corners[4][2]; /* Corners coordinates in pixel space. */
25 float perspective_matrix[3][3];
26 };
30
31 public:
33
34 void set_motion_blur_samples(int samples)
35 {
37 motion_blur_samples_ = samples;
38 }
39 void set_motion_blur_shutter(float shutter)
40 {
41 motion_blur_shutter_ = shutter;
42 }
43
44 virtual void calculate_corners(const float corners[4][2], bool normalized, int sample);
45
46 private:
47 friend class PlaneTrackCommon;
48};
49
51 public:
53
54 void calculate_corners(const float corners[4][2], bool normalized, int sample) override;
55
56 void get_area_of_interest(int input_idx, const rcti &output_area, rcti &r_input_area) override;
58 const rcti &area,
59 Span<MemoryBuffer *> inputs) override;
60};
61
63 public:
65
67 const rcti &area,
68 Span<MemoryBuffer *> inputs) override;
69};
70
71} // namespace blender::compositor
#define BLI_assert(a)
Definition BLI_assert.h:50
#define PLANE_DISTORT_MAX_SAMPLES
SIMD_FORCE_INLINE btVector3 normalized() const
Return a normalized version of this vector.
a MemoryBuffer contains access to the data
virtual void calculate_corners(const float corners[4][2], bool normalized, int sample)
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
void calculate_corners(const float corners[4][2], bool normalized, int sample) override
void get_area_of_interest(int input_idx, const rcti &output_area, rcti &r_input_area) override
Get input operation area being read by this operation on rendering given output area.