|
Blender V5.0
|
#include <algorithm>#include <cfloat>#include <cmath>#include <cstring>#include <fcntl.h>#include <unistd.h>#include "IMB_imbuf.hh"#include "IMB_imbuf_types.hh"#include "DNA_image_types.h"#include "DNA_texture_types.h"#include "BLI_math_interp.hh"#include "BLI_math_vector.h"#include "BLI_rect.h"#include "BLI_threads.h"#include "BLI_utildefines.h"#include "BKE_image.hh"#include "RE_texture.h"#include "texture_common.h"Go to the source code of this file.
Classes | |
| struct | AFData |
| struct | ReadEWAData |
Enumerations | |
| enum | { TXC_XMIR = 1 , TXC_YMIR , TXC_REPT , TXC_EXTD } |
Functions | |
| static void | boxsample (ImBuf *ibuf, float minx, float miny, float maxx, float maxy, TexResult *texres, const short imaprepeat, const short imapextend) |
| static void | ibuf_get_color (float col[4], ImBuf *ibuf, int x, int y) |
| int | imagewrap (Tex *tex, Image *ima, const float texvec[3], TexResult *texres, ImagePool *pool, const bool skip_load_image) |
| static void | clipx_rctf_swap (rctf *stack, short *count, float x1, float x2) |
| static void | clipy_rctf_swap (rctf *stack, short *count, float y1, float y2) |
| static float | square_rctf (const rctf *rf) |
| static float | clipx_rctf (rctf *rf, float x1, float x2) |
| static float | clipy_rctf (rctf *rf, float y1, float y2) |
| static void | boxsampleclip (ImBuf *ibuf, const rctf *rf, TexResult *texres) |
| static int | ibuf_get_color_clip (float col[4], ImBuf *ibuf, int x, int y, int extflag) |
| static void | ewa_read_pixel_cb (void *userdata, int x, int y, float result[4]) |
| static void | ewa_eval (TexResult *texr, ImBuf *ibuf, float fx, float fy, const AFData *AFD) |
| void | image_sample (Image *ima, float fx, float fy, float dx, float dy, float result[4], ImagePool *pool) |
| void | ibuf_sample (ImBuf *ibuf, float fx, float fy, float dx, float dy, float result[4]) |
| anonymous enum |
| Enumerator | |
|---|---|
| TXC_XMIR | |
| TXC_YMIR | |
| TXC_REPT | |
| TXC_EXTD | |
Definition at line 650 of file texture_image.cc.
|
static |
Definition at line 534 of file texture_image.cc.
References boxsampleclip(), CLAMP, clipx_rctf(), clipx_rctf_swap(), clipy_rctf(), clipy_rctf_swap(), count, square_rctf(), TexResult::talpha, TexResult::trgba, ImBuf::x, rctf::xmax, rctf::xmin, ImBuf::y, rctf::ymax, and rctf::ymin.
Referenced by image_sample(), and imagewrap().
Definition at line 449 of file texture_image.cc.
References add_v4_v4(), col, floor, ibuf_get_color(), madd_v4_v4fl(), mul_v4_fl(), TexResult::trgba, ImBuf::x, x, rctf::xmax, rctf::xmin, ImBuf::y, y, rctf::ymax, rctf::ymin, and zero_v4().
Referenced by boxsample().
Definition at line 412 of file texture_image.cc.
References BLI_rctf_size_x(), size(), rctf::xmax, and rctf::xmin.
Referenced by boxsample().
Definition at line 291 of file texture_image.cc.
References count, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by boxsample().
Definition at line 430 of file texture_image.cc.
References BLI_rctf_size_y(), size(), rctf::ymax, and rctf::ymin.
Referenced by boxsample().
Definition at line 347 of file texture_image.cc.
References count, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by boxsample().
Definition at line 730 of file texture_image.cc.
References BLI_ewa_filter(), data, AFData::dxt, AFData::dyt, ewa_read_pixel_cb(), AFData::intpol, TexResult::talpha, TexResult::trgba, ImBuf::x, and ImBuf::y.
Referenced by ibuf_sample().
|
static |
Definition at line 724 of file texture_image.cc.
References data, ibuf_get_color_clip(), result, x, and y.
Referenced by ewa_eval().
Definition at line 50 of file texture_image.cc.
References ImBuf::byte_buffer, ImBuf::channels, col, copy_v3_v3(), copy_v4_v4(), ImBufByteBuffer::data, ImBufFloatBuffer::data, float, ImBuf::float_buffer, ImBuf::x, x, and y.
Referenced by boxsampleclip(), and imagewrap().
Similar to ibuf_get_color() but clips/wraps coords according to repeat/extend flags returns true if out of range in clip-mode.
Definition at line 656 of file texture_image.cc.
References ImBuf::byte_buffer, ImBuf::channels, col, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, TXC_EXTD, TXC_REPT, TXC_XMIR, TXC_YMIR, ImBuf::x, x, ImBuf::y, and y.
Referenced by ewa_read_pixel_cb().
Definition at line 770 of file texture_image.cc.
References copy_v4_v4(), AFData::dxt, AFData::dyt, ewa_eval(), AFData::extflag, AFData::intpol, result, TexResult::trgba, and TXC_EXTD.
| void image_sample | ( | Image * | ima, |
| float | fx, | ||
| float | fy, | ||
| float | dx, | ||
| float | dy, | ||
| float | result[4], | ||
| ImagePool * | pool ) |
Definition at line 750 of file texture_image.cc.
References BKE_image_pool_acquire_ibuf(), BKE_image_pool_release_ibuf(), boxsample(), copy_v4_v4(), Image::flag, IMA_USED_FOR_RENDER, result, TexResult::talpha, TexResult::trgba, UNLIKELY, and zero_v4().
| int imagewrap | ( | Tex * | tex, |
| Image * | ima, | ||
| const float | texvec[3], | ||
| TexResult * | texres, | ||
| ImagePool * | pool, | ||
| const bool | skip_load_image ) |
Definition at line 84 of file texture_image.cc.
References Image::alpha_mode, BKE_image_get_tile_from_pos(), BKE_image_has_loaded_ibuf(), BKE_image_pool_acquire_ibuf(), BKE_image_pool_release_ibuf(), boxsample(), BRICONTRGB, ImBuf::byte_buffer, Tex::checkerdist, ImBufByteBuffer::data, ImBufFloatBuffer::data, ELEM, Tex::extend, Tex::filtersize, Image::flag, Tex::flag, float, ImBuf::float_buffer, floor, floorf, ibuf_get_color(), IMA_ALPHA_IGNORE, IMA_SRC_TILED, IMA_USED_FOR_RENDER, Tex::imaflag, Tex::iuser, max_fff(), Image::source, TexResult::talpha, TEX_CALCALPHA, TEX_CHECKER, TEX_CHECKER_EVEN, TEX_CHECKER_ODD, TEX_CLIP, TEX_CLIPCUBE, TEX_EXTEND, TEX_IMAROT, TEX_INTERPOL, TEX_NEGALPHA, TEX_REPEAT, TEX_RGB, TEX_USEALPHA, ImageUser::tile, TexResult::tin, TexResult::trgba, ImBuf::x, x, ImBuf::y, and y.
Referenced by multitex().
Definition at line 403 of file texture_image.cc.
References BLI_rctf_size_x(), BLI_rctf_size_y(), x, and y.
Referenced by boxsample().