37 const uchar *buffer,
uchar *output,
int width,
int height,
float u,
float v)
45 output[0] = output[1] = output[2] = output[3] = 0;
57 const uchar *buffer,
int width,
int height,
float u,
float v)
65 const float *buffer,
float *output,
int width,
int height,
int components,
float u,
float v)
73 for (
int i = 0; i < components; i++) {
79 const float *data = buffer + (
int64_t(width) * y +
x) * components;
80 for (
int i = 0; i < components; i++) {
86 const float *buffer,
int width,
int height,
float u,
float v)
104 const uchar *buffer,
uchar *output,
int width,
int height,
float u,
float v)
118 const uchar *buffer,
int width,
int height,
float u,
float v)
126 const float *buffer,
float *output,
int width,
int height,
int components,
float u,
float v)
132 const float *data = buffer + (
int64_t(width) * y +
x) * components;
133 for (
int i = 0; i < components; i++) {
139 const float *buffer,
int width,
int height,
float u,
float v)
151 const uchar *buffer,
uchar *output,
int width,
int height,
float u,
float v)
158 BLI_assert(x >= 0 && y >= 0 && x < width && y < height);
168 const uchar *buffer,
int width,
int height,
float u,
float v)
176 const float *buffer,
float *output,
int width,
int height,
int components,
float u,
float v)
183 BLI_assert(x >= 0 && y >= 0 && x < width && y < height);
185 const float *data = buffer + (
int64_t(width) * y +
x) * components;
186 for (
int i = 0; i < components; i++) {
192 const float *buffer,
int width,
int height,
float u,
float v)
211 const uchar *buffer,
int width,
int height,
float u,
float v);
214 const float *buffer,
int width,
int height,
float u,
float v);
217 const float *buffer,
float *output,
int width,
int height,
int components,
float u,
float v);
231 const uchar *buffer,
int width,
int height,
float u,
float v);
234 const float *buffer,
int width,
int height,
float u,
float v);
237 const float *buffer,
float *output,
int width,
int height,
int components,
float u,
float v);
245 const uchar *buffer,
int width,
int height,
float u,
float v);
248 const float *buffer,
int width,
int height,
float u,
float v);
273 const uchar *buffer,
int width,
int height,
float u,
float v);
276 const float *buffer,
int width,
int height,
float u,
float v);
279 const float *buffer,
float *output,
int width,
int height,
int components,
float u,
float v);
294 const uchar *buffer,
int width,
int height,
float u,
float v);
297 const float *buffer,
int width,
int height,
float u,
float v);
300 const float *buffer,
float *output,
int width,
int height,
int components,
float u,
float v);
304#define EWA_MAXIDX 255
310 float A,
float B,
float C,
float F,
float *a,
float *
b,
float *th,
float *ecc);
MINLINE float floored_fmod(float f, float n)
void(*)(void *userdata, int x, int y, float result[4]) ewa_filter_read_pixel_cb
const float EWA_WTS[EWA_MAXIDX+1]
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])
void BLI_ewa_imp2radangle(float A, float B, float C, float F, float *a, float *b, float *th, float *ecc)
ATTR_WARN_UNUSED_RESULT const BMVert * v
local_group_size(16, 16) .push_constant(Type b
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
uchar4 interpolate_cubic_mitchell_byte(const uchar *buffer, int width, int height, float u, float v)
void interpolate_nearest_wrap_fl(const float *buffer, float *output, int width, int height, int components, float u, float v)
uchar4 interpolate_bilinear_wrap_byte(const uchar *buffer, int width, int height, float u, float v)
uchar4 interpolate_bilinear_byte(const uchar *buffer, int width, int height, float u, float v)
T clamp(const T &a, const T &min, const T &max)
void interpolate_nearest_fl(const float *buffer, float *output, int width, int height, int components, float u, float v)
void interpolate_nearest_border_fl(const float *buffer, float *output, int width, int height, int components, float u, float v)
float4 interpolate_bilinear_border_fl(const float *buffer, int width, int height, float u, float v)
float4 interpolate_bilinear_wrap_fl(const float *buffer, int width, int height, float u, float v)
float4 interpolate_cubic_bspline_fl(const float *buffer, int width, int height, float u, float v)
void interpolate_nearest_byte(const uchar *buffer, uchar *output, int width, int height, float u, float v)
float4 interpolate_bilinear_fl(const float *buffer, int width, int height, float u, float v)
float4 interpolate_cubic_mitchell_fl(const float *buffer, int width, int height, float u, float v)
void interpolate_nearest_wrap_byte(const uchar *buffer, uchar *output, int width, int height, float u, float v)
uchar4 interpolate_cubic_bspline_byte(const uchar *buffer, int width, int height, float u, float v)
uchar4 interpolate_bilinear_border_byte(const uchar *buffer, int width, int height, float u, float v)
void interpolate_nearest_border_byte(const uchar *buffer, uchar *output, int width, int height, float u, float v)