24 #define DNA_DEPRECATED_ALLOW
73 Tex *texture_dst = (
Tex *)id_dst;
74 const Tex *texture_src = (
const Tex *)id_src;
84 if (texture_dst->
coba) {
195 .struct_size =
sizeof(
Tex),
197 .name_plural =
"textures",
200 .asset_type_info =
NULL,
207 .foreach_cache =
NULL,
208 .foreach_path =
NULL,
216 .blend_read_undo_preserve =
NULL,
218 .lib_override_apply_post =
NULL,
242 texmap->
size[0] = texmap->
size[1] = texmap->
size[2] = 1.0f;
243 texmap->
max[0] = texmap->
max[1] = texmap->
max[2] = 1.0f;
255 float smat[4][4], rmat[4][4], tmat[4][4], proj[4][4],
size[3];
269 proj[texmap->
projx - 1][0] = 1.0f;
272 proj[texmap->
projy - 1][1] = 1.0f;
275 proj[texmap->
projz - 1][2] = 1.0f;
409 if (mtex_ar ==
NULL) {
436 mtex_ar[slot] =
NULL;
441 return mtex_ar[slot];
573 if (!part->
mtex[act]) {
693 bool use_color_management)
696 bool do_color_manage =
false;
698 if (
scene && use_color_management) {
710 texres->
tin = (1.0f / 3.0f) * (texres->
trgba[0] + texres->
trgba[1] + texres->
trgba[2]);
721 bool use_color_management)
void BKE_animdata_blend_read_data(struct BlendDataReader *reader, struct AnimData *adt)
void BKE_animdata_blend_write(struct BlendWriter *writer, struct AnimData *adt)
struct ColorBand * BKE_colorband_add(bool rangetype)
void BKE_colorband_init(struct ColorBand *coba, bool rangetype)
void BKE_icon_id_delete(struct ID *id)
void BKE_previewimg_free(struct PreviewImage **prv)
void BKE_previewimg_id_copy(struct ID *new_id, const struct ID *old_id)
void BKE_previewimg_blend_read(struct BlendDataReader *reader, struct PreviewImage *prv)
void BKE_previewimg_blend_write(struct BlendWriter *writer, const struct PreviewImage *prv)
@ IDTYPE_FLAGS_APPEND_IS_REUSABLE
struct ImBuf * BKE_image_pool_acquire_ibuf(struct Image *ima, struct ImageUser *iuser, struct ImagePool *pool)
bool BKE_image_is_animated(struct Image *image)
void BKE_imageuser_default(struct ImageUser *iuser)
@ LIB_ID_CREATE_NO_ALLOCATE
struct ID * BKE_id_copy_ex(struct Main *bmain, const struct ID *id, struct ID **r_newid, int flag)
void id_us_min(struct ID *id)
void id_us_plus(struct ID *id)
void BKE_id_blend_write(struct BlendWriter *writer, struct ID *id)
void * BKE_id_new(struct Main *bmain, short type, const char *name)
#define BKE_LIB_FOREACHID_PROCESS_IDSUPER(_data, _id_super, _cb_flag)
#define BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL(_data, _func_call)
void BKE_library_foreach_ID_embedded(struct LibraryForeachIDData *data, struct ID **id_pp)
General operations, lookup, etc. for materials.
void ntreeBlendWrite(struct BlendWriter *writer, struct bNodeTree *ntree)
void ntreeFreeEmbeddedTree(struct bNodeTree *ntree)
bool BKE_scene_check_color_management_enabled(const struct Scene *scene)
void BLI_bvhtree_free(BVHTree *tree)
#define LISTBASE_FOREACH(type, var, list)
MINLINE float signf(float f)
void zero_m4(float m[4][4])
void mul_m4_m4m4(float R[4][4], const float A[4][4], const float B[4][4])
bool invert_m4(float R[4][4])
void unit_m4(float m[4][4])
void size_to_mat4(float R[4][4], const float size[3])
#define mul_m4_series(...)
void transpose_m4(float R[4][4])
void eul_to_mat4(float mat[4][4], const float eul[3])
MINLINE void copy_v3_v3(float r[3], const float a[3])
MINLINE bool is_zero_v3(const float a[3]) ATTR_WARN_UNUSED_RESULT
MINLINE bool is_one_v3(const float a[3]) ATTR_WARN_UNUSED_RESULT
MINLINE void copy_v3_fl(float r[3], float f)
#define MEMCMP_STRUCT_AFTER_IS_ZERO(struct_var, member)
#define MEMCPY_STRUCT_AFTER(struct_dst, struct_src, member)
#define BLO_read_data_address(reader, ptr_p)
#define BLO_write_id_struct(writer, struct_name, id_address, id)
#define BLO_write_struct(writer, struct_name, data_ptr)
#define BLO_read_id_address(reader, lib, id_ptr_p)
#define BLO_expand(expander, id)
#define BLT_I18NCONTEXT_ID_TEXTURE
@ CUMA_EXTEND_EXTRAPOLATE
#define DNA_struct_default_get(struct_name)
Object is a sort of wrapper for general info.
#define TEX_PD_NOISE_STATIC
#define TEXMAP_TYPE_NORMAL
#define TEXMAP_TYPE_VECTOR
#define TEXMAP_TYPE_POINT
#define TEXMAP_UNIT_MATRIX
#define TEX_PD_FALLOFF_STD
#define TEX_PD_WORLDSPACE
#define TEXMAP_TYPE_TEXTURE
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
Read Guarded memory(de)allocation.
static void init_data(ModifierData *md)
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Sample an image file as a texture Sky Generate a procedural sky texture TEX_NOISE
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block TEX_IMAGE
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block SH_NODE_TEX_IMAGE
void ntreeTexEndExecTree(struct bNodeTreeExec *exec)
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
FreestyleLineStyle linestyle
depth_tx normal_tx diffuse_light_tx specular_light_tx volume_light_tx environment_tx ambient_occlusion_tx aov_value_tx in_weight_img image(1, GPU_R32F, Qualifier::WRITE, ImageType::FLOAT_2D_ARRAY, "out_weight_img") .image(3
void(* MEM_freeN)(void *vmemh)
void *(* MEM_dupallocN)(const void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
struct CurveMapping * falloff_curve
struct PreviewImage * preview
struct bNodeTree * nodetree
struct bNodeTreeExec * execdata
Tex * give_current_brush_texture(Brush *br)
void BKE_texture_pointdensity_free(PointDensity *pd)
PointDensity * BKE_texture_pointdensity_copy(const PointDensity *pd, const int UNUSED(flag))
void BKE_texture_get_value(const Scene *scene, Tex *texture, const float *tex_co, TexResult *texres, bool use_color_management)
void BKE_texture_get_value_ex(const Scene *scene, Tex *texture, const float *tex_co, TexResult *texres, struct ImagePool *pool, bool use_color_management)
bool BKE_texture_dependsOnTime(const struct Tex *texture)
static void texture_copy_data(Main *bmain, ID *id_dst, const ID *id_src, const int flag)
Tex * give_current_particle_texture(ParticleSettings *part)
void BKE_texture_type_set(Tex *tex, int type)
void BKE_texture_mapping_default(TexMapping *texmap, int type)
void set_current_particle_texture(ParticleSettings *part, Tex *newtex)
static void texture_foreach_id(ID *id, LibraryForeachIDData *data)
static void texture_init_data(ID *id)
void set_current_brush_texture(Brush *br, Tex *newtex)
void BKE_texture_colormapping_default(ColorMapping *colormap)
void BKE_texture_mtex_foreach_id(LibraryForeachIDData *data, MTex *mtex)
void BKE_texture_fetch_images_for_pool(Tex *texture, struct ImagePool *pool)
static void texture_blend_read_lib(BlendLibReader *reader, ID *id)
void BKE_texture_mapping_init(TexMapping *texmap)
void set_active_mtex(ID *id, short act)
void set_current_linestyle_texture(FreestyleLineStyle *linestyle, Tex *newtex)
bool give_active_mtex(ID *id, MTex ***mtex_ar, short *act)
TexMapping * BKE_texture_mapping_add(int type)
static void texture_blend_read_expand(BlendExpander *expander, ID *id)
static void texture_nodes_fetch_images_for_pool(Tex *texture, bNodeTree *ntree, struct ImagePool *pool)
MTex * BKE_texture_mtex_add(void)
void BKE_texture_pointdensity_init_data(PointDensity *pd)
static void texture_blend_write(BlendWriter *writer, ID *id, const void *id_address)
void BKE_texture_pointdensity_free_data(PointDensity *pd)
MTex * BKE_texture_mtex_add_id(ID *id, int slot)
void BKE_texture_mtex_default(MTex *mtex)
Tex * give_current_linestyle_texture(FreestyleLineStyle *linestyle)
bool BKE_texture_is_image_user(const struct Tex *tex)
static void texture_blend_read_data(BlendDataReader *reader, ID *id)
static void texture_free_data(ID *id)
PointDensity * BKE_texture_pointdensity_add(void)
void BKE_texture_default(Tex *tex)
ColorMapping * BKE_texture_colormapping_add(void)
Tex * BKE_texture_add(Main *bmain, const char *name)
int multitex_ext_safe(Tex *tex, const float texvec[3], TexResult *texres, struct ImagePool *pool, bool scene_color_manage, const bool skip_load_image)