Blender V4.3
blender::imbuf::transform Namespace Reference

Classes

struct  TransformContext
 

Functions

static bool should_discard (const TransformContext &ctx, const float2 &uv)
 
template<typename T >
static Tinit_pixel_pointer (const ImBuf *image, int x, int y)
 
template<>
ucharinit_pixel_pointer (const ImBuf *image, int x, int y)
 
template<>
floatinit_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)
 

Function Documentation

◆ add_subsample() [1/2]

static void blender::imbuf::transform::add_subsample ( const float src[4],
float dst[4] )
static

Definition at line 194 of file imbuf/intern/transform.cc.

References add_v4_v4().

Referenced by process_scanlines().

◆ add_subsample() [2/2]

static void blender::imbuf::transform::add_subsample ( const uchar src[4],
float dst[4] )
static

Definition at line 199 of file imbuf/intern/transform.cc.

References add_v4_v4(), and straight_uchar_to_premul_float().

◆ calc_coverage()

static float blender::imbuf::transform::calc_coverage ( float2 pos,
int2 ipos,
float2 delta,
bool is_steep )
static

Definition at line 367 of file imbuf/intern/transform.cc.

References blender::math::clamp(), fabsf, and pos.

Referenced by edge_aa().

◆ edge_aa()

◆ init_pixel_pointer() [1/3]

template<typename T >
static T * blender::imbuf::transform::init_pixel_pointer ( const ImBuf * image,
int x,
int y )
static

Referenced by process_scanlines().

◆ init_pixel_pointer() [2/3]

template<>
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.

◆ init_pixel_pointer() [3/3]

template<>
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.

◆ process_scanlines()

◆ sample_image()

◆ should_discard()

static bool blender::imbuf::transform::should_discard ( const TransformContext & ctx,
const float2 & uv )
static

◆ store_premul_float_sample() [1/2]

static void blender::imbuf::transform::store_premul_float_sample ( const float sample[4],
float dst[4] )
static

Definition at line 206 of file imbuf/intern/transform.cc.

References copy_v4_v4(), and sample.

Referenced by process_scanlines().

◆ store_premul_float_sample() [2/2]

static void blender::imbuf::transform::store_premul_float_sample ( const float sample[4],
uchar dst[4] )
static

Definition at line 211 of file imbuf/intern/transform.cc.

References premul_float_to_straight_uchar(), and sample.

◆ store_sample() [1/2]

template<int SrcChannels>
static void blender::imbuf::transform::store_sample ( const float * sample,
float * dst )
static

Definition at line 222 of file imbuf/intern/transform.cc.

References BLI_assert_unreachable, copy_v4_fl4(), copy_v4_v4(), and sample.

◆ store_sample() [2/2]

template<int SrcChannels>
static void blender::imbuf::transform::store_sample ( const uchar * sample,
uchar * dst )
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().

◆ transform_scanlines()

template<eIMBInterpolationFilterMode Filter, typename T , int SrcChannels>
static void blender::imbuf::transform::transform_scanlines ( const TransformContext & ctx,
IndexRange y_range )
static

◆ transform_scanlines_filter()

◆ wrap_uv()

static float blender::imbuf::transform::wrap_uv ( float value,
int size )
static

Definition at line 111 of file imbuf/intern/transform.cc.

References floorf, int, size(), UNLIKELY, and x.

Referenced by sample_image().