Blender  V3.3
Macros | Typedefs | Functions | Variables
BLI_math_interp.h File Reference

Go to the source code of this file.

Macros

#define EWA_MAXIDX   255
 

Typedefs

typedef void(* ewa_filter_read_pixel_cb) (void *userdata, int x, int y, float result[4])
 

Functions

void BLI_bicubic_interpolation_fl (const float *buffer, float *output, int width, int height, int components, float u, float v)
 
void BLI_bicubic_interpolation_char (const unsigned char *buffer, unsigned char *output, int width, int height, int components, float u, float v)
 
void BLI_bilinear_interpolation_fl (const float *buffer, float *output, int width, int height, int components, float u, float v)
 
void BLI_bilinear_interpolation_char (const unsigned char *buffer, unsigned char *output, int width, int height, int components, float u, float v)
 
void BLI_bilinear_interpolation_wrap_fl (const float *buffer, float *output, int width, int height, int components, float u, float v, bool wrap_x, bool wrap_y)
 
void BLI_bilinear_interpolation_wrap_char (const unsigned char *buffer, unsigned char *output, int width, int height, int components, float u, float v, bool wrap_x, bool wrap_y)
 
void BLI_ewa_imp2radangle (float A, float B, float C, float F, float *a, float *b, float *th, float *ecc)
 
void BLI_ewa_filter (int width, int height, bool intpol, bool use_alpha, const float uv[2], const float du[2], const float dv[2], ewa_filter_read_pixel_cb read_pixel_cb, void *userdata, float result[4])
 

Variables

const float EWA_WTS [EWA_MAXIDX+1]
 

Macro Definition Documentation

◆ EWA_MAXIDX

#define EWA_MAXIDX   255

Definition at line 56 of file BLI_math_interp.h.

Typedef Documentation

◆ ewa_filter_read_pixel_cb

typedef void(* ewa_filter_read_pixel_cb) (void *userdata, int x, int y, float result[4])

Definition at line 59 of file BLI_math_interp.h.

Function Documentation

◆ BLI_bicubic_interpolation_char()

void BLI_bicubic_interpolation_char ( const unsigned char *  buffer,
unsigned char *  output,
int  width,
int  height,
int  components,
float  u,
float  v 
)

Definition at line 236 of file math_interp.c.

References bicubic_interpolation(), buffer, height, NULL, output, v, and width.

Referenced by bicubic_interpolation_color().

◆ BLI_bicubic_interpolation_fl()

void BLI_bicubic_interpolation_fl ( const float buffer,
float output,
int  width,
int  height,
int  components,
float  u,
float  v 
)

◆ BLI_bilinear_interpolation_char()

void BLI_bilinear_interpolation_char ( const unsigned char *  buffer,
unsigned char *  output,
int  width,
int  height,
int  components,
float  u,
float  v 
)

◆ BLI_bilinear_interpolation_fl()

void BLI_bilinear_interpolation_fl ( const float buffer,
float output,
int  width,
int  height,
int  components,
float  u,
float  v 
)

◆ BLI_bilinear_interpolation_wrap_char()

void BLI_bilinear_interpolation_wrap_char ( const unsigned char *  buffer,
unsigned char *  output,
int  width,
int  height,
int  components,
float  u,
float  v,
bool  wrap_x,
bool  wrap_y 
)

Definition at line 478 of file math_interp.c.

References bilinear_interpolation(), buffer, height, NULL, output, v, and width.

◆ BLI_bilinear_interpolation_wrap_fl()

void BLI_bilinear_interpolation_wrap_fl ( const float buffer,
float output,
int  width,
int  height,
int  components,
float  u,
float  v,
bool  wrap_x,
bool  wrap_y 
)

◆ BLI_ewa_filter()

void BLI_ewa_filter ( int  width,
int  height,
bool  intpol,
bool  use_alpha,
const float  uv[2],
const float  du[2],
const float  dv[2],
ewa_filter_read_pixel_cb  read_pixel_cb,
void userdata,
float  result[4] 
)

TODO(sergey): Consider making this function inlined, so the pixel read callback could also be inlined in order to avoid per-pixel function calls.

Definition at line 584 of file math_interp.c.

References A, Freestyle::a, B, usdtokens::b(), BLI_ewa_imp2radangle(), C, ceilf, EWA_MAXIDX, EWA_WTS, F, float(), floorf, height, madd_v3_v3fl(), mul_v3_fl(), radangle2imp(), result, sqrtf, U, u1, u2, V, v, v1, v2, width, and zero_v4().

Referenced by ewa_eval(), blender::compositor::MemoryBuffer::read_elem_filtered(), and blender::compositor::MemoryBuffer::readEWA().

◆ BLI_ewa_imp2radangle()

void BLI_ewa_imp2radangle ( float  A,
float  B,
float  C,
float  F,
float a,
float b,
float th,
float ecc 
)

Definition at line 554 of file math_interp.c.

References A, Freestyle::a, atan2f, B, usdtokens::b(), C, F, float(), M_PI, r, and sqrtf.

Referenced by BLI_ewa_filter(), and imagewraposa_aniso().

Variable Documentation

◆ EWA_WTS

const float EWA_WTS[EWA_MAXIDX+1]
extern

Definition at line 503 of file math_interp.c.

Referenced by BLI_ewa_filter(), and feline_eval().