64 if (linestyle_src->
mtex[
a]) {
66 *linestyle_dst->
mtex[
a] = *linestyle_src->
mtex[
a];
74 flag_private_id_data);
81 linestyle_modifier = linestyle_modifier->
next) {
88 linestyle_modifier = linestyle_modifier->
next) {
95 linestyle_modifier = linestyle_modifier->
next) {
102 linestyle_modifier = linestyle_modifier->
next) {
112 for (
int material_slot_index = 0; material_slot_index <
MAX_MTEX; material_slot_index++) {
141 for (
int i = 0; i <
MAX_MTEX; i++) {
186 for (m = modifiers->
first; m; m = m->
next) {
218 for (m = modifiers->
first; m; m = m->
next) {
255 for (m = modifiers->
first; m; m = m->
next) {
287 for (m = modifiers->
first; m; m = m->
next) {
323 for (m = modifiers->
first; m; m = m->
next) {
358 for (m = modifiers->
first; m; m = m->
next) {
392 for (m = modifiers->
first; m; m = m->
next) {
473 switch (modifier->
type) {
522 switch (modifier->
type) {
579 switch (modifier->
type) {
738 .name =
"FreestyleLineStyle",
739 .name_plural =
"linestyles",
742 .asset_type_info =
NULL,
749 .foreach_cache =
NULL,
750 .foreach_path =
NULL,
758 .blend_read_undo_preserve =
NULL,
760 .lib_override_apply_post =
NULL,
766 "Distance from Camera",
767 "Distance from Object",
771 "Sinus Displacement",
775 "Backbone Stretcher",
1951 link->
data = color_ramp;
2006 char name_esc[
sizeof(m->
name) * 2];
2008 return BLI_sprintfN(
"color_modifiers[\"%s\"].color_ramp", name_esc);
2011 printf(
"BKE_linestyle_path_to_color_ramp: No color ramps correspond to the given pointer.\n");
2017 if (use_shading_nodes) {
2038 bNode *uv_along_stroke, *input_texture, *output_linestyle;
2049 uv_along_stroke->
locx = 0.0f;
2050 uv_along_stroke->
locy = 300.0f;
2054 input_texture->
locx = 200.0f;
2055 input_texture->
locy = 300.0f;
2058 output_linestyle->
locx = 400.0f;
2059 output_linestyle->
locy = 300.0f;
2061 output_linestyle->
custom2 = 0;
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)
struct Main * CTX_data_main(const bContext *C)
struct FreestyleLineSet * BKE_freestyle_lineset_get_active(struct FreestyleConfig *config)
@ IDTYPE_FLAGS_APPEND_IS_REUSABLE
@ LIB_ID_CREATE_NO_ALLOCATE
@ LIB_ID_CREATE_NO_USER_REFCOUNT
struct ID * BKE_id_copy_ex(struct Main *bmain, const struct ID *id, struct ID **r_newid, int flag)
void * BKE_libblock_alloc(struct Main *bmain, short type, const char *name, int flag) ATTR_WARN_UNUSED_RESULT
void id_us_plus(struct ID *id)
void BKE_id_blend_write(struct BlendWriter *writer, struct ID *id)
#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)
Blender kernel freestyle line style functionality.
void ntreeBlendWrite(struct BlendWriter *writer, struct bNodeTree *ntree)
#define SH_NODE_UVALONGSTROKE
void ntreeFreeEmbeddedTree(struct bNodeTree *ntree)
struct bNodeLink * nodeAddLink(struct bNodeTree *ntree, struct bNode *fromnode, struct bNodeSocket *fromsock, struct bNode *tonode, struct bNodeSocket *tosock)
struct bNodeTree * ntreeAddTree(struct Main *bmain, const char *name, const char *idname)
struct bNode * nodeAddStaticNode(const struct bContext *C, struct bNodeTree *ntree, int type)
#define NODE_CLASS_TEXTURE
void nodeSetActive(struct bNodeTree *ntree, struct bNode *node)
#define SH_NODE_OUTPUT_LINESTYLE
void BKE_ntree_update_main_tree(struct Main *bmain, struct bNodeTree *ntree, struct NodeTreeUpdateExtraParams *params)
void BKE_texture_mtex_foreach_id(struct LibraryForeachIDData *data, struct MTex *mtex)
#define LISTBASE_FOREACH(type, var, list)
void BLI_freelinkN(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void void void bool BLI_listbase_link_move(ListBase *listbase, void *vlink, int step) ATTR_NONNULL()
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
size_t size_t char * BLI_sprintfN(const char *__restrict format,...) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1) ATTR_MALLOC ATTR_PRINTF_FORMAT(1
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
size_t size_t char size_t BLI_str_escape(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL()
bool BLI_uniquename(struct ListBase *list, void *vlink, const char *defname, char delim, int name_offset, size_t name_len)
#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)
void BLO_read_list(BlendDataReader *reader, struct ListBase *list)
#define BLO_read_id_address(reader, lib, id_ptr_p)
#define BLO_expand(expander, id)
void BLO_write_struct_by_id(BlendWriter *writer, int struct_id, const void *data_ptr)
#define BLT_I18NCONTEXT_ID_FREESTYLELINESTYLE
#define DNA_struct_default_get(struct_name)
struct LineStyleColorModifier_Curvature_3D LineStyleColorModifier_Curvature_3D
struct LineStyleGeometryModifier_SinusDisplacement LineStyleGeometryModifier_SinusDisplacement
struct FreestyleLineStyle FreestyleLineStyle
struct LineStyleThicknessModifier_Curvature_3D LineStyleThicknessModifier_Curvature_3D
#define LS_MODIFIER_PERLIN_NOISE_1D
#define LS_THICKNESS_ASYMMETRIC
struct LineStyleThicknessModifier_CreaseAngle LineStyleThicknessModifier_CreaseAngle
struct LineStyleGeometryModifier_Simplification LineStyleGeometryModifier_Simplification
struct LineStyleThicknessModifier_Noise LineStyleThicknessModifier_Noise
struct LineStyleColorModifier_DistanceFromCamera LineStyleColorModifier_DistanceFromCamera
#define LS_MODIFIER_ENABLED
struct LineStyleGeometryModifier_2DOffset LineStyleGeometryModifier_2DOffset
struct LineStyleAlphaModifier_CreaseAngle LineStyleAlphaModifier_CreaseAngle
struct LineStyleAlphaModifier_DistanceFromCamera LineStyleAlphaModifier_DistanceFromCamera
struct LineStyleColorModifier_AlongStroke LineStyleColorModifier_AlongStroke
#define LS_MODIFIER_SPATIAL_NOISE_SMOOTH
struct LineStyleColorModifier_Material LineStyleColorModifier_Material
#define LS_MODIFIER_2D_TRANSFORM_PIVOT_CENTER
struct LineStyleThicknessModifier_DistanceFromCamera LineStyleThicknessModifier_DistanceFromCamera
#define LS_MODIFIER_TIP_REMOVER
struct LineStyleGeometryModifier_2DTransform LineStyleGeometryModifier_2DTransform
struct LineStyleGeometryModifier_PerlinNoise2D LineStyleGeometryModifier_PerlinNoise2D
#define LS_MODIFIER_DISTANCE_FROM_CAMERA
struct LineStyleThicknessModifier_AlongStroke LineStyleThicknessModifier_AlongStroke
struct LineStyleGeometryModifier_GuidingLines LineStyleGeometryModifier_GuidingLines
struct LineStyleGeometryModifier_SpatialNoise LineStyleGeometryModifier_SpatialNoise
#define LS_MODIFIER_SPATIAL_NOISE_PURERANDOM
struct LineStyleThicknessModifier_DistanceFromObject LineStyleThicknessModifier_DistanceFromObject
struct LineStyleThicknessModifier_Material LineStyleThicknessModifier_Material
struct LineStyleColorModifier_Tangent LineStyleColorModifier_Tangent
#define LS_MODIFIER_TANGENT
#define LS_MODIFIER_CREASE_ANGLE
#define LS_MODIFIER_BACKBONE_STRETCHER
struct LineStyleColorModifier_CreaseAngle LineStyleColorModifier_CreaseAngle
#define LS_MODIFIER_MATERIAL_LINE_A
struct LineStyleAlphaModifier_AlongStroke LineStyleAlphaModifier_AlongStroke
struct LineStyleAlphaModifier_Tangent LineStyleAlphaModifier_Tangent
#define LS_MODIFIER_SAMPLING
#define LS_MODIFIER_2D_OFFSET
#define LS_MODIFIER_DISTANCE_FROM_OBJECT
struct LineStyleColorModifier_Noise LineStyleColorModifier_Noise
#define LS_MODIFIER_NOISE
#define LS_MODIFIER_ALONG_STROKE
struct LineStyleGeometryModifier_BackboneStretcher LineStyleGeometryModifier_BackboneStretcher
struct LineStyleGeometryModifier_PerlinNoise1D LineStyleGeometryModifier_PerlinNoise1D
struct LineStyleAlphaModifier_Curvature_3D LineStyleAlphaModifier_Curvature_3D
#define LS_MODIFIER_POLYGONIZATION
#define LS_MODIFIER_CURVATURE_3D
#define LS_MODIFIER_MATERIAL_LINE
#define LS_MODIFIER_CALLIGRAPHY
#define LS_MODIFIER_BLUEPRINT
struct LineStyleColorModifier_DistanceFromObject LineStyleColorModifier_DistanceFromObject
#define LS_MODIFIER_BLUEPRINT_CIRCLES
struct LineStyleThicknessModifier_Tangent LineStyleThicknessModifier_Tangent
struct LineStyleGeometryModifier_Blueprint LineStyleGeometryModifier_Blueprint
#define LS_MODIFIER_2D_TRANSFORM
#define LS_MODIFIER_SPATIAL_NOISE
#define LS_MODIFIER_BEZIER_CURVE
#define LS_MODIFIER_PERLIN_NOISE_2D
#define LS_MODIFIER_SIMPLIFICATION
struct LineStyleAlphaModifier_Noise LineStyleAlphaModifier_Noise
#define LS_MODIFIER_SINUS_DISPLACEMENT
#define LS_MODIFIER_EXPANDED
struct LineStyleAlphaModifier_Material LineStyleAlphaModifier_Material
struct LineStyleAlphaModifier_DistanceFromObject LineStyleAlphaModifier_DistanceFromObject
struct LineStyleGeometryModifier_Sampling LineStyleGeometryModifier_Sampling
struct LineStyleGeometryModifier_Polygonalization LineStyleGeometryModifier_Polygonalization
#define LS_MODIFIER_MATERIAL
struct LineStyleThicknessModifier_Calligraphy LineStyleThicknessModifier_Calligraphy
#define LS_MODIFIER_GUIDING_LINES
struct LineStyleGeometryModifier_TipRemover LineStyleGeometryModifier_TipRemover
struct LineStyleGeometryModifier_BezierCurve LineStyleGeometryModifier_BezierCurve
Object is a sort of wrapper for general info.
_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 SH_NODE_TEX_IMAGE
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
FreestyleLineStyle linestyle
static void direct_link_linestyle_alpha_modifier(BlendDataReader *reader, LineStyleModifier *modifier)
static void linestyle_free_data(ID *id)
void BKE_linestyle_default_shader(const bContext *C, FreestyleLineStyle *linestyle)
bool BKE_linestyle_use_textures(FreestyleLineStyle *linestyle, const bool use_shading_nodes)
static void linestyle_init_data(ID *id)
FreestyleLineStyle * BKE_linestyle_active_from_view_layer(ViewLayer *view_layer)
void BKE_linestyle_modifier_list_color_ramps(FreestyleLineStyle *linestyle, ListBase *listbase)
LineStyleModifier * BKE_linestyle_geometry_modifier_add(FreestyleLineStyle *linestyle, const char *name, int type)
static void linestyle_blend_read_lib(BlendLibReader *reader, ID *id)
bool BKE_linestyle_thickness_modifier_move(FreestyleLineStyle *linestyle, LineStyleModifier *modifier, int direction)
static void direct_link_linestyle_color_modifier(BlendDataReader *reader, LineStyleModifier *modifier)
void BKE_linestyle_init(FreestyleLineStyle *linestyle)
static void write_linestyle_geometry_modifiers(BlendWriter *writer, ListBase *modifiers)
int BKE_linestyle_thickness_modifier_remove(FreestyleLineStyle *linestyle, LineStyleModifier *m)
LineStyleModifier * BKE_linestyle_color_modifier_copy(FreestyleLineStyle *linestyle, const LineStyleModifier *m, const int flag)
bool BKE_linestyle_color_modifier_move(FreestyleLineStyle *linestyle, LineStyleModifier *modifier, int direction)
static void direct_link_linestyle_geometry_modifier(BlendDataReader *UNUSED(reader), LineStyleModifier *UNUSED(modifier))
LineStyleModifier * BKE_linestyle_thickness_modifier_add(FreestyleLineStyle *linestyle, const char *name, int type)
static void write_linestyle_alpha_modifiers(BlendWriter *writer, ListBase *modifiers)
static LineStyleModifier * alloc_geometry_modifier(const char *name, int type)
LineStyleModifier * BKE_linestyle_color_modifier_add(FreestyleLineStyle *linestyle, const char *name, int type)
static void direct_link_linestyle_thickness_modifier(BlendDataReader *reader, LineStyleModifier *modifier)
static LineStyleModifier * alloc_thickness_modifier(const char *name, int type)
static void write_linestyle_thickness_modifiers(BlendWriter *writer, ListBase *modifiers)
LineStyleModifier * BKE_linestyle_geometry_modifier_copy(FreestyleLineStyle *linestyle, const LineStyleModifier *m, const int UNUSED(flag))
static LineStyleModifier * alloc_alpha_modifier(const char *name, int type)
static void write_linestyle_color_modifiers(BlendWriter *writer, ListBase *modifiers)
int BKE_linestyle_color_modifier_remove(FreestyleLineStyle *linestyle, LineStyleModifier *m)
static void linestyle_blend_read_data(BlendDataReader *reader, ID *id)
static void linestyle_blend_write(BlendWriter *writer, ID *id, const void *id_address)
LineStyleModifier * BKE_linestyle_alpha_modifier_copy(FreestyleLineStyle *linestyle, const LineStyleModifier *m, const int UNUSED(flag))
bool BKE_linestyle_alpha_modifier_move(FreestyleLineStyle *linestyle, LineStyleModifier *modifier, int direction)
FreestyleLineStyle * BKE_linestyle_new(struct Main *bmain, const char *name)
bool BKE_linestyle_geometry_modifier_move(FreestyleLineStyle *linestyle, LineStyleModifier *modifier, int direction)
LineStyleModifier * BKE_linestyle_thickness_modifier_copy(FreestyleLineStyle *linestyle, const LineStyleModifier *m, const int flag)
static void linestyle_copy_data(Main *bmain, ID *id_dst, const ID *id_src, const int flag)
LineStyleModifier * BKE_linestyle_alpha_modifier_add(FreestyleLineStyle *linestyle, const char *name, int type)
int BKE_linestyle_alpha_modifier_remove(FreestyleLineStyle *linestyle, LineStyleModifier *m)
static LineStyleModifier * alloc_color_modifier(const char *name, int type)
static void linestyle_foreach_id(ID *id, LibraryForeachIDData *data)
static LineStyleModifier * new_modifier(const char *name, int type, size_t size)
static const char * modifier_name[LS_MODIFIER_NUM]
int BKE_linestyle_geometry_modifier_remove(FreestyleLineStyle *linestyle, LineStyleModifier *m)
static void add_to_modifier_list(ListBase *lb, LineStyleModifier *m)
char * BKE_linestyle_path_to_color_ramp(FreestyleLineStyle *linestyle, ColorBand *color_ramp)
static void linestyle_blend_read_expand(BlendExpander *expander, ID *id)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_dupallocN)(const void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
void *(* MEM_mallocN)(size_t len, const char *str)
struct FreestyleLineStyle * linestyle
ListBase geometry_modifiers
struct bNodeTree * nodetree
ListBase thickness_modifiers
struct CurveMapping * curve
struct CurveMapping * curve
struct CurveMapping * curve
struct CurveMapping * curve
struct CurveMapping * curve
struct CurveMapping * curve
struct CurveMapping * curve
struct CurveMapping * curve
struct ColorBand * color_ramp
struct ColorBand * color_ramp
struct ColorBand * color_ramp
struct ColorBand * color_ramp
struct ColorBand * color_ramp
struct ColorBand * color_ramp
struct ColorBand * color_ramp
struct ColorBand * color_ramp
unsigned int random_backbone
unsigned int random_center
unsigned int random_radius
struct LineStyleModifier * next
struct CurveMapping * curve
struct CurveMapping * curve
struct CurveMapping * curve
struct CurveMapping * curve
struct CurveMapping * curve
struct CurveMapping * curve
struct CurveMapping * curve
struct FreestyleConfig freestyle_config