Blender V4.5
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<>
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)

Function Documentation

◆ add_subsample() [1/2]

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

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

References add_subsample(), and add_v4_v4().

Referenced by add_subsample(), add_subsample(), and process_scanlines().

◆ add_subsample() [2/2]

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

◆ calc_coverage()

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

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

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

Referenced by calc_coverage(), and edge_aa().

◆ edge_aa()

◆ init_pixel_pointer() [1/3]

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

◆ init_pixel_pointer() [2/3]

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

◆ init_pixel_pointer() [3/3]

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

References init_pixel_pointer(), x, and y.

Referenced by init_pixel_pointer(), and process_scanlines().

◆ process_scanlines()

◆ sample_image()

◆ should_discard()

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

◆ store_premul_float_sample() [1/2]

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

◆ store_premul_float_sample() [2/2]

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

◆ store_sample() [1/2]

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

◆ store_sample() [2/2]

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

◆ transform_scanlines()

◆ transform_scanlines_filter()

◆ wrap_uv()

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

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

References floorf, UNLIKELY, wrap_uv(), and x.

Referenced by sample_image(), and wrap_uv().