40 #define DNA_DEPRECATED_ALLOW
87 Tex *texture_dst = (
Tex *)id_dst;
88 const Tex *texture_src = (
const Tex *)id_src;
98 if (texture_dst->
coba) {
210 .struct_size =
sizeof(
Tex),
212 .name_plural =
"textures",
221 .foreach_cache =
NULL,
229 .blend_read_undo_preserve =
NULL,
231 .lib_override_apply_post =
NULL,
256 texmap->
size[0] = texmap->
size[1] = texmap->
size[2] = 1.0f;
257 texmap->
max[0] = texmap->
max[1] = texmap->
max[2] = 1.0f;
269 float smat[4][4], rmat[4][4], tmat[4][4], proj[4][4],
size[3];
283 proj[texmap->
projx - 1][0] = 1.0f;
286 proj[texmap->
projy - 1][1] = 1.0f;
289 proj[texmap->
projz - 1][2] = 1.0f;
424 if (mtex_ar ==
NULL) {
451 mtex_ar[slot] =
NULL;
456 return mtex_ar[slot];
589 if (!part->
mtex[act]) {
598 else if (part->
mtex[act]) {
720 bool use_color_management)
723 bool do_color_manage =
false;
725 if (
scene && use_color_management) {
737 texres->
tin = (1.0f / 3.0f) * (texres->
tr + texres->
tg + texres->
tb);
748 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)
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)
void id_us_min(struct ID *id)
@ LIB_ID_CREATE_NO_ALLOCATE
struct ID * BKE_id_copy_ex(struct Main *bmain, const struct ID *id, struct ID **r_newid, const int flag)
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, const short type, const char *name)
#define BKE_LIB_FOREACHID_PROCESS(_data, _id_super, _cb_flag)
bool BKE_library_foreach_ID_embedded(struct LibraryForeachIDData *data, struct ID **id_pp)
General operations, lookup, etc. for materials.
void ntreeTexEndExecTree(struct bNodeTreeExec *exec)
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)
bool BLO_write_is_undo(BlendWriter *writer)
#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)
Group RGB to Bright Vector Camera Vector Combine Material Light Line Style Layer Add Ambient Diffuse Glossy Refraction Transparent Toon Principled Hair Volume Principled Light Particle Volume TEX_IMAGE
Group RGB to Bright Vector Camera Vector Combine Material Light Line Style Layer Add Ambient Diffuse Glossy Refraction Transparent Toon Principled Hair Volume Principled Light Particle Volume Image Sky TEX_NOISE
Group RGB to Bright Vector Camera Vector Combine Material Light Line Style Layer Add Ambient Diffuse Glossy Refraction Transparent Toon Principled Hair Volume Principled Light Particle Volume SH_NODE_TEX_IMAGE
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
FreestyleLineStyle linestyle
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)