|
Blender
V3.3
|
#include <fcntl.h>#include <float.h>#include <math.h>#include <stdio.h>#include <string.h>#include <unistd.h>#include "IMB_imbuf.h"#include "IMB_imbuf_types.h"#include "DNA_image_types.h"#include "DNA_scene_types.h"#include "DNA_texture_types.h"#include "BLI_blenlib.h"#include "BLI_math.h"#include "BLI_threads.h"#include "BLI_utildefines.h"#include "BKE_image.h"#include "RE_texture.h"#include "render_types.h"#include "texture_common.h"Go to the source code of this file.
Classes | |
| struct | afdata_t |
| struct | ReadEWAData |
Typedefs | |
| typedef struct afdata_t | afdata_t |
| typedef struct ReadEWAData | 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], struct ImBuf *ibuf, int x, int y) |
| int | imagewrap (Tex *tex, Image *ima, const float texvec[3], TexResult *texres, struct 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 (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 (struct ImBuf *ibuf, rctf *rf, TexResult *texres) |
| static int | ibuf_get_color_clip (float col[4], ImBuf *ibuf, int x, int y, int extflag) |
| static int | ibuf_get_color_clip_bilerp (float col[4], ImBuf *ibuf, float u, float v, int intpol, int extflag) |
| static void | area_sample (TexResult *texr, ImBuf *ibuf, float fx, float fy, afdata_t *AFD) |
| 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, afdata_t *AFD) |
| static void | feline_eval (TexResult *texr, ImBuf *ibuf, float fx, float fy, afdata_t *AFD) |
| static void | alpha_clip_aniso (ImBuf *ibuf, float minx, float miny, float maxx, float maxy, int extflag, TexResult *texres) |
| static void | image_mipmap_test (Tex *tex, ImBuf *ibuf) |
| static int | imagewraposa_aniso (Tex *tex, Image *ima, ImBuf *ibuf, const float texvec[3], float dxt[2], float dyt[2], TexResult *texres, struct ImagePool *pool, const bool skip_load_image) |
| int | imagewraposa (Tex *tex, Image *ima, ImBuf *ibuf, const float texvec[3], const float DXT[2], const float DYT[2], TexResult *texres, struct ImagePool *pool, const bool skip_load_image) |
| void | image_sample (Image *ima, float fx, float fy, float dx, float dy, float result[4], struct ImagePool *pool) |
| void | ibuf_sample (ImBuf *ibuf, float fx, float fy, float dx, float dy, float result[4]) |
| typedef struct ReadEWAData ReadEWAData |
| anonymous enum |
| Enumerator | |
|---|---|
| TXC_XMIR | |
| TXC_YMIR | |
| TXC_REPT | |
| TXC_EXTD | |
Definition at line 673 of file texture_image.c.
|
static |
Definition at line 884 of file texture_image.c.
References clipx_rctf(), clipy_rctf(), ELEM, max_ff(), TexResult::trgba, TXC_EXTD, TXC_REPT, ImBuf::x, rctf::xmax, rctf::xmin, ImBuf::y, rctf::ymax, and rctf::ymin.
Referenced by imagewraposa_aniso().
|
static |
Definition at line 770 of file texture_image.c.
References CLAMPIS, afdata_t::dxt, afdata_t::dyt, afdata_t::extflag, ibuf_get_color_clip_bilerp(), afdata_t::intpol, usdtokens::out(), sqrtf, TexResult::talpha, TexResult::trgba, ImBuf::x, and ImBuf::y.
Referenced by imagewraposa_aniso().
|
static |
Definition at line 553 of file texture_image.c.
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(), imagewrap(), and imagewraposa().
Definition at line 464 of file texture_image.c.
References add_v4_v4(), col, blender::math::floor(), ibuf_get_color(), madd_v4_v4fl(), mul_v4_fl(), TexResult::trgba, x, ImBuf::x, rctf::xmax, rctf::xmin, y, ImBuf::y, rctf::ymax, rctf::ymin, and zero_v4().
Referenced by boxsample().
Definition at line 419 of file texture_image.c.
References BLI_rctf_size_x(), size(), x2, rctf::xmax, and rctf::xmin.
Referenced by alpha_clip_aniso(), and boxsample().
Definition at line 290 of file texture_image.c.
References Freestyle::a, count, x2, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by boxsample().
Definition at line 441 of file texture_image.c.
References BLI_rctf_size_y(), size(), y1, rctf::ymax, and rctf::ymin.
Referenced by alpha_clip_aniso(), and boxsample().
Definition at line 350 of file texture_image.c.
References Freestyle::a, count, rctf::xmax, rctf::xmin, y1, rctf::ymax, and rctf::ymin.
Referenced by boxsample().
Definition at line 819 of file texture_image.c.
References BLI_ewa_filter(), data, afdata_t::dxt, afdata_t::dyt, ewa_read_pixel_cb(), afdata_t::intpol, TexResult::talpha, TexResult::trgba, ImBuf::x, and ImBuf::y.
Referenced by ibuf_sample(), and imagewraposa_aniso().
Definition at line 813 of file texture_image.c.
References data, ibuf_get_color_clip(), result, x, and y.
Referenced by ewa_eval().
|
static |
Definition at line 837 of file texture_image.c.
References cosf, D(), afdata_t::dusc, afdata_t::dvsc, EWA_MAXIDX, EWA_WTS, expf, afdata_t::extflag, ibuf_get_color_clip_bilerp(), afdata_t::intpol, afdata_t::iProbes, afdata_t::majrad, afdata_t::minrad, sinf, TexResult::talpha, afdata_t::theta, TexResult::trgba, v, ImBuf::x, and ImBuf::y.
Referenced by imagewraposa_aniso().
Definition at line 50 of file texture_image.c.
References ImBuf::channels, col, copy_v3_v3(), copy_v4_v4(), float(), ImBuf::rect, ImBuf::rect_float, x, ImBuf::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 679 of file texture_image.c.
References ImBuf::channels, col, if(), ImBuf::rect, ImBuf::rect_float, TXC_EXTD, TXC_REPT, TXC_XMIR, TXC_YMIR, x, ImBuf::x, y, and ImBuf::y.
Referenced by ewa_read_pixel_cb(), and ibuf_get_color_clip_bilerp().
|
static |
Definition at line 747 of file texture_image.c.
References col, floorf, ibuf_get_color_clip(), v, x2, and y1.
Referenced by area_sample(), and feline_eval().
Definition at line 1753 of file texture_image.c.
References copy_v4_v4(), afdata_t::dxt, afdata_t::dyt, ewa_eval(), afdata_t::extflag, afdata_t::intpol, result, TexResult::trgba, and TXC_EXTD.
Definition at line 913 of file texture_image.c.
References BLI_thread_lock(), BLI_thread_unlock(), IB_MIPMAP_INVALID, Tex::imaflag, IMB_makemipmap(), IMB_remakemipmap(), LOCK_IMAGE, ImBuf::mipmap, NULL, tex, TEX_GAUSS_MIP, TEX_MIPMAP, and ImBuf::userflags.
Referenced by imagewraposa(), and imagewraposa_aniso().
| void image_sample | ( | Image * | ima, |
| float | fx, | ||
| float | fy, | ||
| float | dx, | ||
| float | dy, | ||
| float | result[4], | ||
| struct ImagePool * | pool | ||
| ) |
Definition at line 1733 of file texture_image.c.
References BKE_image_pool_acquire_ibuf(), BKE_image_pool_release_ibuf(), boxsample(), copy_v4_v4(), Image::flag, IMA_USED_FOR_RENDER, NULL, blender::compositor::pool, result, TexResult::talpha, TexResult::trgba, UNLIKELY, and zero_v4().
| int imagewrap | ( | Tex * | tex, |
| Image * | ima, | ||
| const float | texvec[3], | ||
| TexResult * | texres, | ||
| struct ImagePool * | pool, | ||
| const bool | skip_load_image | ||
| ) |
Definition at line 84 of file texture_image.c.
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, Tex::checkerdist, ELEM, Tex::extend, Tex::filtersize, Image::flag, Tex::flag, float(), blender::math::floor(), floorf, ibuf_get_color(), IMA_ALPHA_IGNORE, IMA_SRC_TILED, IMA_USED_FOR_RENDER, Tex::imaflag, Tex::iuser, max_fff(), NULL, blender::compositor::pool, ImBuf::rect, ImBuf::rect_float, Image::source, SWAP, TexResult::talpha, tex, 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, x, ImBuf::x, y, and ImBuf::y.
Referenced by multitex().
| int imagewraposa | ( | Tex * | tex, |
| Image * | ima, | ||
| ImBuf * | ibuf, | ||
| const float | texvec[3], | ||
| const float | DXT[2], | ||
| const float | DYT[2], | ||
| TexResult * | texres, | ||
| struct ImagePool * | pool, | ||
| const bool | skip_load_image | ||
| ) |
Definition at line 1342 of file texture_image.c.
References Image::alpha_mode, BKE_image_has_loaded_ibuf(), BKE_image_pool_acquire_ibuf(), BKE_image_pool_release_ibuf(), boxsample(), BRICONTRGB, Tex::checkerdist, copy_v2_v2(), ELEM, Tex::extend, Tex::filtersize, Image::flag, Tex::flag, float(), blender::math::floor(), IMA_ALPHA_IGNORE, IMA_USED_FOR_RENDER, Tex::imaflag, image_mipmap_test(), imagewraposa_aniso(), Tex::iuser, max_ff(), max_fff(), MIN2, min_fff(), ImBuf::mipmap, mul_v3_fl(), NULL, blender::compositor::pool, ImBuf::rect, ImBuf::rect_float, SWAP, TexResult::talpha, tex, TEX_CALCALPHA, TEX_CHECKER, TEX_CHECKER_EVEN, TEX_CHECKER_ODD, TEX_CLIP, TEX_CLIPCUBE, TEX_EXTEND, TEX_FILTER_MIN, TEX_IMAROT, TEX_INTERPOL, TEX_MIPMAP, TEX_NEGALPHA, TEX_REPEAT, TEX_REPEAT_XMIR, TEX_REPEAT_YMIR, TEX_RGB, TEX_USEALPHA, Tex::texfilter, TexResult::tin, TexResult::trgba, TXF_BOX, x, ImBuf::x, y, and ImBuf::y.
Referenced by multitex().
|
static |
Definition at line 938 of file texture_image.c.
References A, Freestyle::a, Tex::afmax, alpha_clip_aniso(), Image::alpha_mode, area_sample(), B, usdtokens::b(), BKE_image_has_loaded_ibuf(), BKE_image_pool_acquire_ibuf(), BKE_image_pool_release_ibuf(), BLI_ewa_imp2radangle(), BRICONTRGB, C, Tex::checkerdist, copy_v2_v2(), afdata_t::dusc, afdata_t::dvsc, afdata_t::dxt, afdata_t::dyt, ELEM, ewa_eval(), Tex::extend, afdata_t::extflag, F, feline_eval(), Tex::filtersize, Image::flag, Tex::flag, float(), floorf, IMA_ALPHA_IGNORE, IMA_USED_FOR_RENDER, Tex::imaflag, image_mipmap_test(), IMB_MIPMAP_LEVELS, afdata_t::intpol, afdata_t::iProbes, libmv::isnan(), Tex::iuser, len_v2(), logf, M_LOG2E, afdata_t::majrad, max_ff(), max_fff(), MIN2, min_fff(), afdata_t::minrad, ImBuf::mipmap, mul_v2_fl(), NULL, blender::compositor::pool, ImBuf::rect, ImBuf::rect_float, round_fl_to_int(), sqrtf, SWAP, t, TexResult::talpha, tex, TEX_CALCALPHA, TEX_CHECKER, TEX_CHECKER_EVEN, TEX_CHECKER_ODD, TEX_CLIP, TEX_CLIPCUBE, TEX_EXTEND, TEX_FILTER_MIN, TEX_IMAROT, TEX_INTERPOL, TEX_MIPMAP, TEX_NEGALPHA, TEX_REPEAT, TEX_REPEAT_XMIR, TEX_REPEAT_YMIR, TEX_RGB, TEX_USEALPHA, Tex::texfilter, afdata_t::theta, TexResult::tin, TexResult::trgba, TXC_EXTD, TXC_REPT, TXC_XMIR, TXC_YMIR, TXF_AREA, TXF_EWA, TXF_FELINE, void, ImBuf::x, and ImBuf::y.
Referenced by imagewraposa().
Definition at line 410 of file texture_image.c.
References BLI_rctf_size_x(), BLI_rctf_size_y(), x, and y.
Referenced by boxsample().