23 dispersion_ =
static_cast<ConstantOperation *
>(dispersion_input)->get_constant_elem()[0];
40 const rcti &output_area,
49 r_input_area.
ymax = output_area.
ymax;
50 r_input_area.
ymin = output_area.
ymin;
51 r_input_area.
xmin = output_area.
xmin - kr2_ - 2;
52 r_input_area.
xmax = output_area.
xmax + kr2_ + 2;
64 const float v = (it.y + 0.5f) / height;
65 const float u = (it.x + 0.5f) / width;
68 input_image->
read_elem(it.x, it.y, color);
MINLINE float max_ff(float a, float b)
MINLINE float min_ff(float a, float b)
void BLI_rcti_translate(struct rcti *rect, int x, int y)
ATTR_WARN_UNUSED_RESULT const BMVert * v
a MemoryBuffer contains access to the data
void read_elem_bilinear(float x, float y, float *out) const
void read_elem(int x, int y, float *out) const
NodeOperation contains calculation logic.
unsigned int get_height() const
void add_output_socket(DataType datatype)
const NodeOperationFlags get_flags() const
unsigned int get_width() const
NodeOperationFlags flags_
NodeOperation * get_input_operation(int index)
void set_determined_canvas_modifier(std::function< void(rcti &canvas)> fn)
void add_input_socket(DataType datatype, ResizeMode resize_mode=ResizeMode::Center)
virtual void determine_canvas(const rcti &preferred_area, rcti &r_area)
ProjectorLensDistortionOperation()
void init_data() override
void determine_canvas(const rcti &preferred_area, rcti &r_area) 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.
constexpr rcti COM_CONSTANT_INPUT_AREA_OF_INTEREST
typename BuffersIteratorBuilder< T >::Iterator BuffersIterator
bool is_constant_operation