Blender  V3.3
Classes | Typedefs | Functions
RE_texture.h File Reference
#include "BLI_compiler_attrs.h"

Go to the source code of this file.

Classes

struct  TexResult
 

Typedefs

typedef struct TexResult TexResult
 

Functions

bool RE_texture_evaluate (const struct MTex *mtex, const float vec[3], int thread, struct ImagePool *pool, bool skip_load_image, bool texnode_preview, float *r_intensity, float r_rgba[4]) ATTR_NONNULL(1
 
bool float texture_value_blend (float tex, float out, float fact, float facg, int blendtype)
 
void RE_texture_rng_init (void)
 
void RE_texture_rng_exit (void)
 
void ibuf_sample (struct ImBuf *ibuf, float fx, float fy, float dx, float dy, float result[4])
 
void RE_point_density_cache (struct Depsgraph *depsgraph, struct PointDensity *pd)
 
void RE_point_density_minmax (struct Depsgraph *depsgraph, struct PointDensity *pd, float r_min[3], float r_max[3])
 
void RE_point_density_sample (struct Depsgraph *depsgraph, struct PointDensity *pd, int resolution, float *values)
 
void RE_point_density_free (struct PointDensity *pd)
 
void RE_point_density_fix_linking (void)
 
int multitex_ext (struct Tex *tex, float texvec[3], float dxt[3], float dyt[3], int osatex, struct TexResult *texres, short thread, struct ImagePool *pool, bool scene_color_manage, bool skip_load_image)
 
int multitex_ext_safe (struct Tex *tex, const float texvec[3], struct TexResult *texres, struct ImagePool *pool, bool scene_color_manage, bool skip_load_image)
 
int multitex_nodes (struct Tex *tex, const float texvec[3], float dxt[3], float dyt[3], int osatex, struct TexResult *texres, short thread, short which_output, struct MTex *mtex, struct ImagePool *pool)
 

Detailed Description

This include is for non-render pipeline exports (still old cruft here).

Definition in file RE_texture.h.

Typedef Documentation

◆ TexResult

typedef struct TexResult TexResult

Texture evaluation result.

Function Documentation

◆ ibuf_sample()

void ibuf_sample ( struct ImBuf ibuf,
float  fx,
float  fy,
float  dx,
float  dy,
float  result[4] 
)

◆ multitex_ext()

int multitex_ext ( struct Tex tex,
float  texvec[3],
float  dxt[3],
float  dyt[3],
int  osatex,
struct TexResult texres,
short  thread,
struct ImagePool pool,
bool  scene_color_manage,
bool  skip_load_image 
)
Warning
if the texres's values are not declared zero, check the return value to be sure the color values are set before using the r/g/b values, otherwise you may use uninitialized values - Campbell

Use it for stuff which is out of render pipeline.

Definition at line 1161 of file texture_procedural.c.

References multitex_nodes_intern(), NULL, blender::compositor::pool, and tex.

Referenced by do_texture_effector(), blender::compositor::TextureBaseOperation::execute_pixel_sampled(), and blender::compositor::TextureBaseOperation::update_memory_buffer_partial().

◆ multitex_ext_safe()

int multitex_ext_safe ( struct Tex tex,
const float  texvec[3],
struct TexResult texres,
struct ImagePool pool,
bool  scene_color_manage,
bool  skip_load_image 
)

Nodes disabled. extern-tex doesn't support nodes (#ntreeBeginExec() can't be called when rendering is going on).

Use it for stuff which is out of render pipeline.

Definition at line 1188 of file texture_procedural.c.

References multitex_nodes_intern(), NULL, blender::compositor::pool, and tex.

Referenced by BKE_texture_get_value_ex(), and dynamic_paint_set_init_color_tex_to_imseq_cb().

◆ multitex_nodes()

int multitex_nodes ( struct Tex tex,
const float  texvec[3],
float  dxt[3],
float  dyt[3],
int  osatex,
struct TexResult texres,
short  thread,
short  which_output,
struct MTex mtex,
struct ImagePool pool 
)

Only for internal node usage.

this is called from the shader and texture nodes Use it from render pipeline only!

Definition at line 1134 of file texture_procedural.c.

References multitex_nodes_intern(), blender::compositor::pool, and tex.

Referenced by do_proc().

◆ RE_point_density_cache()

void RE_point_density_cache ( struct Depsgraph depsgraph,
struct PointDensity pd 
)

◆ RE_point_density_fix_linking()

void RE_point_density_fix_linking ( void  )

Definition at line 947 of file texture_pointdensity.c.

Referenced by RE_InitState().

◆ RE_point_density_free()

void RE_point_density_free ( struct PointDensity pd)

◆ RE_point_density_minmax()

void RE_point_density_minmax ( struct Depsgraph depsgraph,
struct PointDensity pd,
float  r_min[3],
float  r_max[3] 
)

◆ RE_point_density_sample()

void RE_point_density_sample ( struct Depsgraph depsgraph,
struct PointDensity pd,
int  resolution,
float values 
)

◆ RE_texture_evaluate()

bool RE_texture_evaluate ( const struct MTex mtex,
const float  vec[3],
int  thread,
struct ImagePool pool,
bool  skip_load_image,
bool  texnode_preview,
float r_intensity,
float  r_rgba[4] 
)
Parameters
poolThread pool, may be NULL.
Returns
True if the texture has color, otherwise false.

◆ RE_texture_rng_exit()

void RE_texture_rng_exit ( void  )

Definition at line 53 of file texture_procedural.c.

References BLI_rng_threaded_free(), NULL, and random_tex_array.

Referenced by BKE_blender_free().

◆ RE_texture_rng_init()

void RE_texture_rng_init ( void  )

Definition at line 48 of file texture_procedural.c.

References BLI_rng_threaded_new(), and random_tex_array.

Referenced by main().

◆ texture_value_blend()

bool float texture_value_blend ( float  tex,
float  out,
float  fact,
float  facg,
int  blendtype 
)
Parameters
inDestination
texTexture.
outPrevious color.
factTexture strength.
facgButton strength value.

Definition at line 1213 of file texture_procedural.c.

References ATTR_FALLTHROUGH, col, fabsf, min_ff(), MTEX_ADD, MTEX_BLEND, MTEX_DARK, MTEX_DIFF, MTEX_DIV, MTEX_LIGHT, MTEX_LIN_LIGHT, MTEX_MUL, MTEX_OVERLAY, MTEX_SCREEN, MTEX_SOFT_LIGHT, MTEX_SUB, usdtokens::out(), SWAP, and tex.

Referenced by get_cpa_texture(), and psys_get_texture().