|
Blender V4.3
|
Classes | |
| struct | TransformContext |
Functions | |
| static bool | should_discard (const TransformContext &ctx, const float2 &uv) |
| template<typename T > | |
| static T * | init_pixel_pointer (const ImBuf *image, int x, int y) |
| template<> | |
| uchar * | init_pixel_pointer (const ImBuf *image, int x, int y) |
| template<> | |
| float * | init_pixel_pointer (const ImBuf *image, int x, int y) |
| static float | wrap_uv (float value, int size) |
| template<eIMBInterpolationFilterMode Filter, typename T , int NumChannels, bool WrapUV> | |
| static void | sample_image (const ImBuf *source, float u, float v, T *r_sample) |
| static void | add_subsample (const float src[4], float dst[4]) |
| static void | add_subsample (const uchar src[4], float dst[4]) |
| static void | store_premul_float_sample (const float sample[4], float dst[4]) |
| static void | store_premul_float_sample (const float sample[4], uchar dst[4]) |
| template<int SrcChannels> | |
| static void | store_sample (const uchar *sample, uchar *dst) |
| template<int SrcChannels> | |
| static void | store_sample (const float *sample, float *dst) |
| template<eIMBInterpolationFilterMode Filter, typename T , int SrcChannels, bool CropSource, bool WrapUV> | |
| static void | process_scanlines (const TransformContext &ctx, IndexRange y_range) |
| template<eIMBInterpolationFilterMode Filter, typename T , int SrcChannels> | |
| static void | transform_scanlines (const TransformContext &ctx, IndexRange y_range) |
| template<eIMBInterpolationFilterMode Filter> | |
| static void | transform_scanlines_filter (const TransformContext &ctx, IndexRange y_range) |
| static float | calc_coverage (float2 pos, int2 ipos, float2 delta, bool is_steep) |
| static void | edge_aa (const TransformContext &ctx) |
Definition at line 194 of file imbuf/intern/transform.cc.
References add_v4_v4().
Referenced by process_scanlines().
Definition at line 199 of file imbuf/intern/transform.cc.
References add_v4_v4(), and straight_uchar_to_premul_float().
|
static |
Definition at line 367 of file imbuf/intern/transform.cc.
References blender::math::clamp(), fabsf, and pos.
Referenced by edge_aa().
|
static |
Definition at line 394 of file imbuf/intern/transform.cc.
References blender::math::abs(), ImBuf::byte_buffer, calc_coverage(), ImBufByteBuffer::data, ImBufFloatBuffer::data, blender::imbuf::transform::TransformContext::dst, fabsf, ImBuf::float_buffer, length(), blender::math::max(), pos, blender::imbuf::transform::TransformContext::src_corners, ImBuf::x, and ImBuf::y.
|
static |
Referenced by process_scanlines().
| uchar * blender::imbuf::transform::init_pixel_pointer | ( | const ImBuf * | image, |
| int | x, | ||
| int | y ) |
Definition at line 102 of file imbuf/intern/transform.cc.
References x.
| float * blender::imbuf::transform::init_pixel_pointer | ( | const ImBuf * | image, |
| int | x, | ||
| int | y ) |
Definition at line 106 of file imbuf/intern/transform.cc.
References x.
|
static |
Definition at line 248 of file imbuf/intern/transform.cc.
References add_subsample(), blender::imbuf::transform::TransformContext::add_x, blender::imbuf::transform::TransformContext::add_y, blender::math::clamp(), blender::imbuf::transform::TransformContext::dst, blender::imbuf::transform::TransformContext::dst_region_x_range, blender::IndexRange::first(), IMB_FILTER_BOX, IMB_FILTER_NEAREST, init_pixel_pointer(), int, blender::math::length(), mul_v4_v4fl(), sample, sample_image(), should_discard(), blender::imbuf::transform::TransformContext::src, blender::imbuf::transform::TransformContext::start_uv, store_premul_float_sample(), store_sample(), and T.
Referenced by transform_scanlines().
|
static |
Definition at line 125 of file imbuf/intern/transform.cc.
References BLI_assert_unreachable, ImBufFloatBuffer::data, ImBuf::float_buffer, IMB_FILTER_BILINEAR, IMB_FILTER_CUBIC_BSPLINE, IMB_FILTER_CUBIC_MITCHELL, IMB_FILTER_NEAREST, blender::imbuf::interpolate_bilinear_byte(), blender::imbuf::interpolate_bilinear_fl(), blender::math::interpolate_bilinear_fl(), blender::math::interpolate_bilinear_wrap_fl(), blender::imbuf::interpolate_cubic_bspline_byte(), blender::math::interpolate_cubic_bspline_fl(), blender::imbuf::interpolate_cubic_mitchell_byte(), blender::math::interpolate_cubic_mitchell_fl(), blender::imbuf::interpolate_nearest_border_byte(), blender::math::interpolate_nearest_border_fl(), v, wrap_uv(), ImBuf::x, and ImBuf::y.
Referenced by process_scanlines().
|
static |
Definition at line 95 of file imbuf/intern/transform.cc.
References blender::imbuf::transform::TransformContext::src_crop, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by process_scanlines().
|
static |
Definition at line 206 of file imbuf/intern/transform.cc.
References copy_v4_v4(), and sample.
Referenced by process_scanlines().
|
static |
Definition at line 211 of file imbuf/intern/transform.cc.
References premul_float_to_straight_uchar(), and sample.
|
static |
Definition at line 222 of file imbuf/intern/transform.cc.
References BLI_assert_unreachable, copy_v4_fl4(), copy_v4_v4(), and sample.
|
static |
Definition at line 216 of file imbuf/intern/transform.cc.
References BLI_STATIC_ASSERT, copy_v4_v4_uchar(), and sample.
Referenced by process_scanlines().
|
static |
Definition at line 320 of file imbuf/intern/transform.cc.
References BLI_assert_unreachable, IMB_TRANSFORM_MODE_CROP_SRC, IMB_TRANSFORM_MODE_REGULAR, IMB_TRANSFORM_MODE_WRAP_REPEAT, blender::imbuf::transform::TransformContext::mode, and process_scanlines().
Referenced by transform_scanlines_filter().
|
static |
Definition at line 339 of file imbuf/intern/transform.cc.
References ImBuf::byte_buffer, ImBuf::channels, ImBufByteBuffer::data, ImBufFloatBuffer::data, blender::imbuf::transform::TransformContext::dst, ImBuf::float_buffer, blender::imbuf::transform::TransformContext::src, and transform_scanlines().
Referenced by IMB_transform().