|
| void | blender::math::interpolate_nearest_border_byte (const uchar *buffer, uchar *output, int width, int height, float u, float v) |
| |
| uchar4 | blender::math::interpolate_nearest_border_byte (const uchar *buffer, int width, int height, float u, float v) |
| |
| void | blender::math::interpolate_nearest_border_fl (const float *buffer, float *output, int width, int height, int components, float u, float v) |
| |
| float4 | blender::math::interpolate_nearest_border_fl (const float *buffer, int width, int height, float u, float v) |
| |
| void | blender::math::interpolate_nearest_byte (const uchar *buffer, uchar *output, int width, int height, float u, float v) |
| |
| uchar4 | blender::math::interpolate_nearest_byte (const uchar *buffer, int width, int height, float u, float v) |
| |
| void | blender::math::interpolate_nearest_fl (const float *buffer, float *output, int width, int height, int components, float u, float v) |
| |
| float4 | blender::math::interpolate_nearest_fl (const float *buffer, int width, int height, float u, float v) |
| |
| void | blender::math::interpolate_nearest_wrap_byte (const uchar *buffer, uchar *output, int width, int height, float u, float v) |
| |
| uchar4 | blender::math::interpolate_nearest_wrap_byte (const uchar *buffer, int width, int height, float u, float v) |
| |
| void | blender::math::interpolate_nearest_wrap_fl (const float *buffer, float *output, int width, int height, int components, float u, float v) |
| |
| float4 | blender::math::interpolate_nearest_wrap_fl (const float *buffer, int width, int height, float u, float v) |
| |
| uchar4 | blender::math::interpolate_bilinear_border_byte (const uchar *buffer, int width, int height, float u, float v) |
| |
| float4 | blender::math::interpolate_bilinear_border_fl (const float *buffer, int width, int height, float u, float v) |
| |
| void | blender::math::interpolate_bilinear_border_fl (const float *buffer, float *output, int width, int height, int components, float u, float v) |
| |
| uchar4 | blender::math::interpolate_bilinear_byte (const uchar *buffer, int width, int height, float u, float v) |
| |
| float4 | blender::math::interpolate_bilinear_fl (const float *buffer, int width, int height, float u, float v) |
| |
| void | blender::math::interpolate_bilinear_fl (const float *buffer, float *output, int width, int height, int components, float u, float v) |
| |
| uchar4 | blender::math::interpolate_bilinear_wrap_byte (const uchar *buffer, int width, int height, float u, float v) |
| |
| float4 | blender::math::interpolate_bilinear_wrap_fl (const float *buffer, int width, int height, float u, float v) |
| |
| void | blender::math::interpolate_bilinear_wrap_fl (const float *buffer, float *output, int width, int height, int components, float u, float v, bool wrap_x, bool wrap_y) |
| |
| uchar4 | blender::math::interpolate_cubic_bspline_byte (const uchar *buffer, int width, int height, float u, float v) |
| |
| float4 | blender::math::interpolate_cubic_bspline_fl (const float *buffer, int width, int height, float u, float v) |
| |
| void | blender::math::interpolate_cubic_bspline_fl (const float *buffer, float *output, int width, int height, int components, float u, float v) |
| |
| uchar4 | blender::math::interpolate_cubic_mitchell_byte (const uchar *buffer, int width, int height, float u, float v) |
| |
| float4 | blender::math::interpolate_cubic_mitchell_fl (const float *buffer, int width, int height, float u, float v) |
| |
| void | blender::math::interpolate_cubic_mitchell_fl (const float *buffer, float *output, int width, int height, int components, float u, float v) |
| |
| 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]) |
| |
2D image sampling with filtering functions.
All functions take (u, v) texture coordinate, non-normalized (i.e. ranging from (0,0) to (width,height) over the image).
Any filtering done on texel values just blends them without color space or gamma conversions.
Definition in file BLI_math_interp.hh.
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 710 of file math_interp.cc.
References A, B, b, BLI_ewa_imp2radangle(), C, ceilf, EWA_MAXIDX, EWA_WTS, float, floorf, int, madd_v3_v3fl(), mul_v3_fl(), radangle2imp(), sqrtf, U, UNUSED_VARS, V, v, v2, and zero_v4().
Referenced by ewa_eval(), and blender::compositor::MemoryBuffer::read_elem_filtered().