Blender  V2.93
Macros | Functions | Variables
texture.c File Reference
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "BLI_kdopbvh.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_math_color.h"
#include "BLI_utildefines.h"
#include "BLT_translation.h"
#include "DNA_brush_types.h"
#include "DNA_color_types.h"
#include "DNA_defaults.h"
#include "DNA_key_types.h"
#include "DNA_linestyle_types.h"
#include "DNA_material_types.h"
#include "DNA_node_types.h"
#include "DNA_object_types.h"
#include "DNA_particle_types.h"
#include "IMB_imbuf.h"
#include "BKE_main.h"
#include "BKE_anim_data.h"
#include "BKE_colorband.h"
#include "BKE_colortools.h"
#include "BKE_icons.h"
#include "BKE_idtype.h"
#include "BKE_image.h"
#include "BKE_key.h"
#include "BKE_lib_id.h"
#include "BKE_lib_query.h"
#include "BKE_material.h"
#include "BKE_node.h"
#include "BKE_scene.h"
#include "BKE_texture.h"
#include "RE_texture.h"
#include "BLO_read_write.h"

Go to the source code of this file.

Macros

#define DNA_DEPRECATED_ALLOW
 

Functions

static void texture_init_data (ID *id)
 
static void texture_copy_data (Main *bmain, ID *id_dst, const ID *id_src, const int flag)
 
static void texture_free_data (ID *id)
 
static void texture_foreach_id (ID *id, LibraryForeachIDData *data)
 
static void texture_blend_write (BlendWriter *writer, ID *id, const void *id_address)
 
static void texture_blend_read_data (BlendDataReader *reader, ID *id)
 
static void texture_blend_read_lib (BlendLibReader *reader, ID *id)
 
static void texture_blend_read_expand (BlendExpander *expander, ID *id)
 
void BKE_texture_mtex_foreach_id (LibraryForeachIDData *data, MTex *mtex)
 
TexMappingBKE_texture_mapping_add (int type)
 
void BKE_texture_mapping_default (TexMapping *texmap, int type)
 
void BKE_texture_mapping_init (TexMapping *texmap)
 
ColorMappingBKE_texture_colormapping_add (void)
 
void BKE_texture_colormapping_default (ColorMapping *colormap)
 
void BKE_texture_default (Tex *tex)
 
void BKE_texture_type_set (Tex *tex, int type)
 
TexBKE_texture_add (Main *bmain, const char *name)
 
void BKE_texture_mtex_default (MTex *mtex)
 
MTexBKE_texture_mtex_add (void)
 
MTexBKE_texture_mtex_add_id (ID *id, int slot)
 
Texgive_current_linestyle_texture (FreestyleLineStyle *linestyle)
 
void set_current_linestyle_texture (FreestyleLineStyle *linestyle, Tex *newtex)
 
bool give_active_mtex (ID *id, MTex ***mtex_ar, short *act)
 
void set_active_mtex (ID *id, short act)
 
Texgive_current_brush_texture (Brush *br)
 
void set_current_brush_texture (Brush *br, Tex *newtex)
 
Texgive_current_particle_texture (ParticleSettings *part)
 
void set_current_particle_texture (ParticleSettings *part, Tex *newtex)
 
void BKE_texture_pointdensity_init_data (PointDensity *pd)
 
PointDensityBKE_texture_pointdensity_add (void)
 
PointDensityBKE_texture_pointdensity_copy (const PointDensity *pd, const int UNUSED(flag))
 
void BKE_texture_pointdensity_free_data (PointDensity *pd)
 
void BKE_texture_pointdensity_free (PointDensity *pd)
 
bool BKE_texture_is_image_user (const struct Tex *tex)
 
bool BKE_texture_dependsOnTime (const struct Tex *texture)
 
void BKE_texture_get_value_ex (const Scene *scene, Tex *texture, const float *tex_co, TexResult *texres, struct ImagePool *pool, bool use_color_management)
 
void BKE_texture_get_value (const Scene *scene, Tex *texture, const float *tex_co, TexResult *texres, bool use_color_management)
 
static void texture_nodes_fetch_images_for_pool (Tex *texture, bNodeTree *ntree, struct ImagePool *pool)
 
void BKE_texture_fetch_images_for_pool (Tex *texture, struct ImagePool *pool)
 

Variables

IDTypeInfo IDType_ID_TE
 

Macro Definition Documentation

◆ DNA_DEPRECATED_ALLOW

#define DNA_DEPRECATED_ALLOW

Definition at line 40 of file texture.c.

Function Documentation

◆ BKE_texture_add()

Tex* BKE_texture_add ( Main bmain,
const char *  name 
)

Definition at line 387 of file texture.c.

References BKE_id_new(), ID_TE, and tex.

Referenced by new_texture_exec().

◆ BKE_texture_colormapping_add()

ColorMapping* BKE_texture_colormapping_add ( void  )

Definition at line 345 of file texture.c.

References BKE_texture_colormapping_default(), and MEM_callocN.

◆ BKE_texture_colormapping_default()

void BKE_texture_colormapping_default ( ColorMapping colormap)

◆ BKE_texture_default()

void BKE_texture_default ( Tex tex)

Definition at line 375 of file texture.c.

References Tex::id, tex, and texture_init_data().

Referenced by init().

◆ BKE_texture_dependsOnTime()

bool BKE_texture_dependsOnTime ( const struct Tex texture)

Definition at line 697 of file texture.c.

References BKE_image_is_animated(), and TEX_NOISE.

Referenced by dependsOnTime().

◆ BKE_texture_fetch_images_for_pool()

void BKE_texture_fetch_images_for_pool ( Tex texture,
struct ImagePool pool 
)

◆ BKE_texture_get_value()

void BKE_texture_get_value ( const Scene scene,
Tex texture,
const float tex_co,
TexResult texres,
bool  use_color_management 
)

Definition at line 744 of file texture.c.

References BKE_texture_get_value_ex(), NULL, and scene.

◆ BKE_texture_get_value_ex()

void BKE_texture_get_value_ex ( const Scene scene,
Tex texture,
const float tex_co,
TexResult texres,
struct ImagePool pool,
bool  use_color_management 
)

◆ BKE_texture_is_image_user()

bool BKE_texture_is_image_user ( const struct Tex tex)
Returns
true if this texture can use its #Texture.ima (even if its NULL)

Definition at line 685 of file texture.c.

References tex, TEX_IMAGE, and Tex::type.

Referenced by texture_copy_data().

◆ BKE_texture_mapping_add()

TexMapping* BKE_texture_mapping_add ( int  type)

Definition at line 243 of file texture.c.

References BKE_texture_mapping_default(), MEM_callocN, and type.

Referenced by node_composit_init_map_value().

◆ BKE_texture_mapping_default()

void BKE_texture_mapping_default ( TexMapping texmap,
int  type 
)

◆ BKE_texture_mapping_init()

void BKE_texture_mapping_init ( TexMapping texmap)

◆ BKE_texture_mtex_add()

MTex* BKE_texture_mtex_add ( void  )

◆ BKE_texture_mtex_add_id()

MTex* BKE_texture_mtex_add_id ( ID id,
int  slot 
)

Definition at line 417 of file texture.c.

References BKE_texture_mtex_add(), give_active_mtex(), id_us_min(), MAX_MTEX, MEM_freeN, NULL, and tex.

◆ BKE_texture_mtex_default()

void BKE_texture_mtex_default ( MTex mtex)

Definition at line 398 of file texture.c.

References DNA_struct_default_get.

Referenced by BKE_texture_mtex_add(), blo_do_versions_250(), and blo_do_versions_260().

◆ BKE_texture_mtex_foreach_id()

void BKE_texture_mtex_foreach_id ( LibraryForeachIDData data,
MTex mtex 
)

◆ BKE_texture_pointdensity_add()

PointDensity* BKE_texture_pointdensity_add ( void  )

Definition at line 636 of file texture.c.

References BKE_texture_pointdensity_init_data(), and MEM_callocN.

◆ BKE_texture_pointdensity_copy()

PointDensity* BKE_texture_pointdensity_copy ( const PointDensity pd,
const int   UNUSEDflag 
)

◆ BKE_texture_pointdensity_free()

void BKE_texture_pointdensity_free ( PointDensity pd)

Definition at line 675 of file texture.c.

References BKE_texture_pointdensity_free_data(), and MEM_freeN.

◆ BKE_texture_pointdensity_free_data()

void BKE_texture_pointdensity_free_data ( PointDensity pd)

◆ BKE_texture_pointdensity_init_data()

void BKE_texture_pointdensity_init_data ( PointDensity pd)

◆ BKE_texture_type_set()

void BKE_texture_type_set ( Tex tex,
int  type 
)

Definition at line 380 of file texture.c.

References tex, type, and Tex::type.

◆ give_active_mtex()

bool give_active_mtex ( ID id,
MTex ***  mtex_ar,
short *  act 
)

Definition at line 499 of file texture.c.

References GS, id, ID_LS, ID_PA, ID::name, and NULL.

Referenced by BKE_texture_mtex_add_id(), and texture_slot_move_exec().

◆ give_current_brush_texture()

Tex* give_current_brush_texture ( Brush br)

Definition at line 546 of file texture.c.

References Brush::mtex, and MTex::tex.

Referenced by texture_get_from_context().

◆ give_current_linestyle_texture()

Tex* give_current_linestyle_texture ( FreestyleLineStyle linestyle)

◆ give_current_particle_texture()

Tex* give_current_particle_texture ( ParticleSettings part)

Definition at line 563 of file texture.c.

References ParticleSettings::mtex, NULL, tex, MTex::tex, and ParticleSettings::texact.

◆ set_active_mtex()

void set_active_mtex ( ID id,
short  act 
)

Definition at line 525 of file texture.c.

References GS, id, ID_LS, ID_PA, MAX_MTEX, and ID::name.

Referenced by texture_slot_move_exec().

◆ set_current_brush_texture()

void set_current_brush_texture ( Brush br,
Tex newtex 
)

Definition at line 551 of file texture.c.

References Tex::id, id_us_min(), id_us_plus(), Brush::mtex, and MTex::tex.

◆ set_current_linestyle_texture()

void set_current_linestyle_texture ( FreestyleLineStyle linestyle,
Tex newtex 
)

◆ set_current_particle_texture()

void set_current_particle_texture ( ParticleSettings part,
Tex newtex 
)

◆ texture_blend_read_data()

static void texture_blend_read_data ( BlendDataReader reader,
ID id 
)
static

◆ texture_blend_read_expand()

static void texture_blend_read_expand ( BlendExpander expander,
ID id 
)
static

Definition at line 199 of file texture.c.

References BLO_expand, Tex::ima, and tex.

◆ texture_blend_read_lib()

static void texture_blend_read_lib ( BlendLibReader reader,
ID id 
)
static

Definition at line 192 of file texture.c.

References BLO_read_id_address, Tex::id, Tex::ima, ID::lib, and tex.

◆ texture_blend_write()

static void texture_blend_write ( BlendWriter writer,
ID id,
const void *  id_address 
)
static

◆ texture_copy_data()

static void texture_copy_data ( Main bmain,
ID id_dst,
const ID id_src,
const int  flag 
)
static

◆ texture_foreach_id()

static void texture_foreach_id ( ID id,
LibraryForeachIDData data 
)
static

◆ texture_free_data()

static void texture_free_data ( ID id)
static

◆ texture_init_data()

static void texture_init_data ( ID id)
static

◆ texture_nodes_fetch_images_for_pool()

static void texture_nodes_fetch_images_for_pool ( Tex texture,
bNodeTree ntree,
struct ImagePool pool 
)
static

Variable Documentation

◆ IDType_ID_TE

IDTypeInfo IDType_ID_TE
Initial value:
= {
.id_code = ID_TE,
.id_filter = FILTER_ID_TE,
.main_listbase_index = INDEX_ID_TE,
.struct_size = sizeof(Tex),
.name = "Texture",
.name_plural = "textures",
.translation_context = BLT_I18NCONTEXT_ID_TEXTURE,
.flags = 0,
.copy_data = texture_copy_data,
.free_data = texture_free_data,
.make_local = NULL,
.foreach_id = texture_foreach_id,
.foreach_cache = NULL,
.owner_get = NULL,
.blend_write = texture_blend_write,
.blend_read_data = texture_blend_read_data,
.blend_read_lib = texture_blend_read_lib,
.blend_read_expand = texture_blend_read_expand,
.blend_read_undo_preserve = NULL,
.lib_override_apply_post = NULL,
}
#define BLT_I18NCONTEXT_ID_TEXTURE
#define FILTER_ID_TE
Definition: DNA_ID.h:728
@ INDEX_ID_TE
Definition: DNA_ID.h:812
@ ID_TE
Definition: DNA_ID_enums.h:64
struct Tex Tex
static void init_data(ModifierData *md)
static void texture_copy_data(Main *bmain, ID *id_dst, const ID *id_src, const int flag)
Definition: texture.c:85
static void texture_foreach_id(ID *id, LibraryForeachIDData *data)
Definition: texture.c:140
static void texture_init_data(ID *id)
Definition: texture.c:74
static void texture_blend_read_lib(BlendLibReader *reader, ID *id)
Definition: texture.c:192
static void texture_blend_read_expand(BlendExpander *expander, ID *id)
Definition: texture.c:199
static void texture_blend_write(BlendWriter *writer, ID *id, const void *id_address)
Definition: texture.c:150
static void texture_blend_read_data(BlendDataReader *reader, ID *id)
Definition: texture.c:177
static void texture_free_data(ID *id)
Definition: texture.c:123

Definition at line 206 of file texture.c.