51 static float scale_coord(
const float coord,
const float center,
const float relative_scale)
58 const float relative_scale)
64 const rcti &scale_canvas,
65 float &r_scale_offset_x,
66 float &r_scale_offset_y);
67 static void scale_area(
rcti &area,
float relative_scale_x,
float relative_scale_y);
69 const rcti &scale_canvas,
70 float relative_scale_x,
71 float relative_scale_y,
72 const rcti &output_area,
90 bool is_scaling_variable();
91 float get_constant_scale(
int input_op_idx,
float factor);
92 float get_constant_scale_x(
float width);
93 float get_constant_scale_y(
float height);
121 return 1.0f / height;
151 new_height_ = height;
155 is_aspect_ = is_aspect;
PixelSampler get_effective_sampler(PixelSampler sampler)
void set_variable_size(bool variable_size)
void set_sampler(PixelSampler sampler)
a MemoryBuffer contains access to the data
float get_relative_scale_x_factor(float width) override
float get_relative_scale_y_factor(float height) override
void set_new_width(int width)
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
void set_offset(float x, float y)
void determine_canvas(const rcti &preferred_area, rcti &r_area) override
void set_is_crop(bool is_crop)
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 set_is_aspect(bool is_aspect)
void set_new_height(int height)
ScaleFixedSizeOperation()
static constexpr int Y_INPUT_INDEX
static constexpr int IMAGE_INPUT_INDEX
static void get_scale_offset(const rcti &input_canvas, const rcti &scale_canvas, float &r_scale_offset_x, float &r_scale_offset_y)
static void get_scale_area_of_interest(const rcti &input_canvas, const rcti &scale_canvas, float relative_scale_x, float relative_scale_y, const rcti &output_area, rcti &r_input_area)
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.
virtual float get_relative_scale_x_factor(float width)=0
static void scale_area(rcti &area, float relative_scale_x, float relative_scale_y)
static float scale_coord_inverted(const float coord, const float center, const float relative_scale)
void init_data() override
virtual float get_relative_scale_y_factor(float height)=0
static constexpr float MIN_RELATIVE_SCALE
void determine_canvas(const rcti &preferred_area, rcti &r_area) override
static constexpr int X_INPUT_INDEX
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
static void clamp_area_size_max(rcti &area, Size2f max_size)
static float scale_coord(const float coord, const float center, const float relative_scale)
float get_relative_scale_x_factor(float) override
float get_relative_scale_y_factor(float) override
local_group_size(16, 16) .push_constant(Type local_group_size(16, 16) .push_constant(Type input_tx sampler(1, ImageType::FLOAT_2D, "matte_tx") .image(0
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
DataType
possible data types for sockets