17 input_operation_ =
nullptr;
18 movie_clip_ =
nullptr;
27 int calibration_width, calibration_height;
34 full_frame.
xmin = full_frame.
ymin = 0;
43 margin_[0] = delta[0] + 5;
44 margin_[1] = delta[1] + 5;
51 margin_[0] = margin_[1] = 0;
69 input_operation_ =
nullptr;
70 movie_clip_ =
nullptr;
92 in[1] = (
y ) / aspy / pixel_aspect;
101 float u =
out[0] * aspx ,
102 v = (
out[1] * aspy ) * pixel_aspect;
115 new_input.
xmin =
input->xmin - margin_[0];
116 new_input.
ymin =
input->ymin - margin_[1];
117 new_input.
xmax =
input->xmax + margin_[0];
118 new_input.
ymax =
input->ymax + margin_[1];
123 const rcti &output_area,
128 r_input_area.
xmin = output_area.
xmin - margin_[0];
129 r_input_area.
ymin = output_area.
ymin - margin_[1];
130 r_input_area.
xmax = output_area.
xmax + margin_[0];
131 r_input_area.
ymax = output_area.
ymax + margin_[1];
151 float distorted_xy[2];
153 xy[0] = (it.x ) / aspx;
154 xy[1] = (it.y ) / aspy / pixel_aspect;
163 const float u = distorted_xy[0] * aspx ;
164 const float v = (distorted_xy[1] * aspy ) * pixel_aspect;
165 input_img->read_elem_bilinear(u,
v, it.out);
typedef float(TangentPoint)[2]
void BKE_movieclip_user_set_frame(struct MovieClipUser *user, int framenr)
void BKE_movieclip_get_size(struct MovieClip *clip, struct MovieClipUser *user, int *width, int *height)
struct MovieDistortion * BKE_tracking_distortion_new(struct MovieTracking *tracking, int calibration_width, int calibration_height)
void BKE_tracking_distortion_undistort_v2(struct MovieDistortion *distortion, const float co[2], float r_co[2])
void BKE_tracking_distortion_distort_v2(struct MovieDistortion *distortion, const float co[2], float r_co[2])
void BKE_tracking_distortion_free(struct MovieDistortion *distortion)
void BKE_tracking_max_distortion_delta_across_bound(struct MovieTracking *tracking, int image_width, int image_height, struct rcti *rect, bool undistort, float delta[2])
#define UNUSED_VARS_NDEBUG(...)
#define DNA_struct_default_get(struct_name)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
ATTR_WARN_UNUSED_RESULT const BMVert * v
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
a MemoryBuffer contains access to the data of a chunk
MovieDistortionOperation(bool distortion)
bool determine_depending_area_of_interest(rcti *input, ReadBufferOperation *read_operation, rcti *output) override
struct MovieDistortion * distortion_
void execute_pixel_sampled(float output[4], float x, float y, PixelSampler sampler) override
calculate a single pixel
void init_execution() override
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) 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.
void init_data() override
void deinit_execution() override
unsigned int get_height() const
void add_output_socket(DataType datatype)
SocketReader * get_input_socket_reader(unsigned int index)
unsigned int get_width() const
virtual bool determine_depending_area_of_interest(rcti *input, ReadBufferOperation *read_operation, rcti *output)
void read_sampled(float result[4], float x, float y, PixelSampler sampler)
void add_input_socket(DataType datatype, ResizeMode resize_mode=ResizeMode::Center)
void set_canvas_input_index(unsigned int index)
set the index of the input socket that will determine the canvas of this operation
ccl_global KernelShaderEvalInput ccl_global float * output
ccl_global KernelShaderEvalInput * input
static void area(int d1, int d2, int e1, int e2, float weights[2])
typename BuffersIteratorBuilder< T >::Iterator BuffersIterator
static const pxr::TfToken out("out", pxr::TfToken::Immortal)
static bNodeSocketTemplate inputs[]
struct MovieTracking tracking
MovieTrackingCamera camera