24 #define DNA_DEPRECATED_ALLOW
88 #define U (*((const UserDef *)&U))
98 sock =
node->outputs.first;
157 R_OPENEXR_HALF = (1 << 0),
158 R_OPENEXR_ZBUF = (1 << 1),
159 R_PREVIEW_JPG = (1 << 2),
160 R_CINEON_LOG = (1 << 3),
161 R_TIFF_16BIT = (1 << 4),
163 R_JPEG2K_12BIT = (1 << 5),
165 R_JPEG2K_16BIT = (1 << 6),
166 R_JPEG2K_YCC = (1 << 7),
168 R_JPEG2K_CINE_PRESET = (1 << 8),
169 R_JPEG2K_CINE_48FPS = (1 << 9),
178 imf->
imtype = (char)rd->imtype;
179 imf->
planes = (
char)rd->planes;
181 imf->
quality = (
char)rd->quality;
192 if (rd->subimtype & R_PREVIEW_JPG) {
195 if (rd->subimtype & R_OPENEXR_ZBUF) {
200 if (rd->subimtype & R_TIFF_16BIT) {
205 if (rd->subimtype & R_JPEG2K_16BIT) {
208 else if (rd->subimtype & R_JPEG2K_12BIT) {
212 if (rd->subimtype & R_JPEG2K_YCC) {
215 if (rd->subimtype & R_JPEG2K_CINE_PRESET) {
218 if (rd->subimtype & R_JPEG2K_CINE_48FPS) {
224 if (rd->subimtype & R_CINEON_LOG) {
239 for (sock =
node->inputs.first; sock; sock = sock->
next) {
242 for (sock =
node->outputs.first; sock; sock = sock->
next) {
279 node->storage = nimf;
304 BLI_snprintf(sockpath,
sizeof(sockpath),
"%s_Image", filename);
308 if (old_image->
link) {
313 BLI_snprintf(sockpath,
sizeof(sockpath),
"%s_Z", filename);
326 if (old_image->
link) {
351 for (sock =
node->inputs.first; sock; sock = sock->
next) {
375 for (i = 0; i < me->
totloop; i++, mloopcol++) {
389 for (sock =
node->inputs.first; sock; sock = sock->
next) {
405 for (sock =
node->inputs.first; sock; sock = sock->
next) {
428 for (sock =
node->outputs.first; sock; sock = sock->
next) {
455 data->label_size = 20;
460 node->color[0] =
node->color[1] =
node->color[2] = 0.608f;
496 #define DefNode(Category, ID, DefFunc, EnumName, StructName, UIName, UIDesc) \
498 return #Category #StructName;
505 return "CompositorNodeGroup";
507 return "ShaderNodeGroup";
509 return "TextureNodeGroup";
522 switch (sock->
type) {
583 for (sock =
node->inputs.first; sock; sock = sock->
next) {
586 for (sock =
node->outputs.first; sock; sock = sock->
next) {
605 for (sock =
node->inputs.first; sock; sock = sock->
next) {
608 for (sock =
node->outputs.first; sock; sock = sock->
next) {
626 for (sock =
node->inputs.first; sock; sock = sock->
next) {
635 for (sock =
node->outputs.first; sock; sock = sock->
next) {
737 tex_mapping =
node->storage;
781 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
806 if (clip->
aspx < 1.0f) {
862 for (i = 0; i < 3; i++) {
863 if ((ob->dsize[i] == 0.0f) ||
864 (ob->
scale[i] == 0.0f))
959 while (tracking_object) {
960 if (!tracking_object->
scale) {
961 tracking_object->
scale = 1.0f;
964 tracking_object = tracking_object->
next;
974 if (
data->invmat[3][3] == 0.0f) {
991 ups->
size = ts->sculpt_paint_unified_size;
993 ups->
alpha = ts->sculpt_paint_unified_alpha;
994 ups->
flag = ts->sculpt_paint_settings;
1012 if (added && tl == text->
curl) {
1030 surface->color_dry_threshold = 1.0f;
1031 surface->influence_scale = 1.0f;
1139 if (fmd->
fss->viscosityMode == 3) {
1143 else if (fmd->
fss->viscosityMode == 4) {
1204 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
1210 for (region =
area->regionbase.first; region; region = region->
next) {
1236 if (cam->
flag & CAM_PANORAMA) {
1238 cam->
flag &= ~CAM_PANORAMA;
1366 if (
data->maxblur == 0.0f) {
1367 data->maxblur = 16.0f;
1385 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
1389 if (sclip->
around == 0) {
1417 track = track->
next;
1450 if (
data->despill_balance == 0.0f) {
1451 data->despill_balance = 0.5f;
1480 node->custom3 = 0.5f;
1500 if (strip && strip->color_balance) {
1517 strip->color_balance =
NULL;
1529 bool colormanagement_disabled =
false;
1542 colormanagement_disabled =
true;
1550 else if (colormanagement_disabled) {
1618 for (tracking_object = tracking->
objects.
first; tracking_object;
1619 tracking_object = tracking_object->
next) {
1676 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
1712 for (link =
node->internal_links.first; link; link = nextlink) {
1713 nextlink = link->
next;
1772 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
1813 enum { SEQ_MAKE_PREMUL = (1 << 6) };
1814 if (seq->
flag & SEQ_MAKE_PREMUL) {
1829 if (image->flag & IMA_DO_PREMUL) {
1841 if (image && (image->
flag & IMA_DO_PREMUL) == 0) {
1842 const int IMA_IGNORE_ALPHA = (1 << 12);
1843 image->
flag |= IMA_IGNORE_ALPHA;
1883 if (cu->
ext1 != 0.0f || cu->
ext2 != 0.0f) {
1957 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
1968 switch (snode->treetype) {
2020 #define BRUSH_TEXTURE_OVERLAY (1 << 21)
2028 #undef BRUSH_TEXTURE_OVERLAY
2070 if (
srl->freestyleConfig.mode == 0) {
2073 if (
ELEM(
srl->freestyleConfig.raycasting_algorithm,
2076 srl->freestyleConfig.raycasting_algorithm = 0;
2130 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
2142 if (active_viewer_key.
value != 0) {
2146 if (active_viewer_key.
value != 0) {
2168 if (fmd->
domain->
flags & FLUID_DOMAIN_USE_HIGH_SMOOTH) {
2189 #define BRUSH_FIXED (1 << 6)
2252 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
2255 if (snode->
zoom < 0.02f) {
2284 if (region ==
NULL) {
2307 if (
node->custom1 == SHD_SUBSURFACE_COMPATIBLE) {
2325 if (
node->custom1 == 0) {
2329 else if (
node->custom1 == 1) {
2354 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
2375 for (tracking_object = tracking->
objects.
first; tracking_object;
2376 tracking_object = tracking_object->
next) {
2379 for (track = tracksbase->
first; track; track = track->
next) {
2393 if ((tmd->
flag & MOD_TRIANGULATE_BEAUTY)) {
2434 la->spotsize =
DEG2RADF(la->spotsize);
2490 plane_track = plane_track->
next) {
2504 SCULPT_SYMM_X = (1 << 0),
2505 SCULPT_SYMM_Y = (1 << 1),
2506 SCULPT_SYMM_Z = (1 << 2),
2507 SCULPT_SYMMETRY_FEATHER = (1 << 6),
2509 int symmetry_flags = sd->
flags & 7;
2511 if (symmetry_flags & SCULPT_SYMM_X) {
2514 if (symmetry_flags & SCULPT_SYMM_Y) {
2517 if (symmetry_flags & SCULPT_SYMM_Z) {
2520 if (symmetry_flags & SCULPT_SYMMETRY_FEATHER) {
2561 for (space_link =
area->spacedata.first; space_link; space_link = space_link->
next) {
2566 if (space_link ==
area->spacedata.first) {
2567 lb = &
area->regionbase;
2573 for (region = lb->
first; region; region = region->
next) {
2607 int num_inputs = 0, num_outputs = 0;
2615 float input_locx = 1000000.0f, input_locy = 0.0f;
2616 float output_locx = -1000000.0f, output_locy = 0.0f;
2618 static const float offsetx = 42 + 3 * 20 + 20;
2621 if (create_io_nodes) {
2636 bool free_link =
false;
2637 next_link = link->
next;
2646 if (input_locx > link->
tonode->
locx - offsetx) {
2659 link->
tonode = output_node;
2664 if (output_locx < link->fromnode->locx + offsetx) {
2680 if (num_inputs > 0) {
2681 input_locy /= num_inputs;
2682 input_node->
locx = input_locx;
2683 input_node->
locy = input_locy;
2685 if (num_outputs > 0) {
2686 output_locy /= num_outputs;
2687 output_node->locx = output_locx;
2688 output_node->locy = output_locy;
2702 next_link = link->
next;
void animviz_settings_init(struct bAnimVizSettings *avs)
void CustomData_free_layers(struct CustomData *data, int type, int totelem)
void CustomData_update_typemap(struct CustomData *data)
void BKE_image_alpha_mode_from_extension(struct Image *image)
#define MAIN_VERSION_ATLEAST(main, ver, subver)
#define MAIN_VERSION_OLDER(main, ver, subver)
void BKE_mesh_do_versions_cd_flag_init(struct Mesh *mesh)
void nodeUniqueName(struct bNodeTree *ntree, struct bNode *node)
void ntreeCompositColorBalanceSyncFromCDL(bNodeTree *ntree, bNode *node)
#define CMP_NODE_TRANSLATE
#define SH_NODE_SUBSURFACE_SCATTERING
#define CMP_NODE_COLORBALANCE
void ntreeCompositColorBalanceSyncFromLGG(bNodeTree *ntree, bNode *node)
#define CMP_NODE_BOKEHIMAGE
#define SH_NODE_TEX_ENVIRONMENT
void ntreeCompositOutputFileUniqueLayer(struct ListBase *list, struct bNodeSocket *sock, const char defname[], char delim)
void nodeRemLink(struct bNodeTree *ntree, struct bNodeLink *link)
void ntreeCompositOutputFileUniquePath(struct ListBase *list, struct bNodeSocket *sock, const char defname[], char delim)
#define CMP_NODE_CHROMA_MATTE
struct bNodeSocket * ntreeCompositOutputFileAddSocket(struct bNodeTree *ntree, struct bNode *node, const char *name, struct ImageFormatData *im_format)
const char * nodeStaticSocketType(int type, int subtype)
#define CMP_NODE_OUTPUT_FILE
#define FOREACH_NODETREE_END
void nodeRemoveSocket(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock)
#define CMP_NODE_MASK_BOX
#define FOREACH_NODETREE_BEGIN(bmain, _nodetree, _id)
struct bNode * nodeAddStaticNode(const struct bContext *C, struct bNodeTree *ntree, int type)
#define CMP_NODE_R_LAYERS
#define CMP_NODE_OUTPUT_MULTI_FILE__DEPRECATED
void BKE_scene_disable_color_management(struct Scene *scene)
struct ARegion * BKE_area_find_region_type(const struct ScrArea *area, int type)
int txt_extended_ascii_as_utf8(char **str)
void BKE_texture_mtex_default(struct MTex *mtex)
struct MovieTrackingObject * BKE_tracking_object_add(struct MovieTracking *tracking, const char *name)
struct ListBase * BKE_tracking_object_get_tracks(struct MovieTracking *tracking, struct MovieTrackingObject *object)
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
void BLI_insertlinkafter(struct ListBase *listbase, void *vprevlink, void *vnewlink) ATTR_NONNULL(1)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE int max_iii(int a, int b, int c)
void unit_m4(float m[4][4])
void copy_vn_fl(float *array_tar, const int size, const float val)
MINLINE void copy_v2_v2(float r[2], const float a[2])
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_zero_v2(const float a[3]) ATTR_WARN_UNUSED_RESULT
void BLI_split_dirfile(const char *string, char *dir, char *file, const size_t dirlen, const size_t filelen)
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, const size_t maxncpy) ATTR_NONNULL()
size_t BLI_strlen_utf8(const char *strc) ATTR_NONNULL()
bool BLI_uniquename(struct ListBase *list, void *vlink, const char *defname, char delim, int name_offset, size_t len)
#define POINTER_AS_INT(i)
external readfile function prototypes.
#define DEFAULT_SENSOR_HEIGHT
#define DEFAULT_SENSOR_WIDTH
@ CONSTRAINT_TYPE_OBJECTSOLVER
@ CONSTRAINT_TYPE_SHRINKWRAP
@ FREESTYLE_CONTROL_EDITOR_MODE
@ FREESTYLE_ALGO_CULLED_ADAPTIVE_CUMULATIVE
@ FREESTYLE_ALGO_CULLED_ADAPTIVE_TRADITIONAL
blenloader genfile private function prototypes
bool DNA_struct_elem_find(const struct SDNA *sdna, const char *stype, const char *vartype, const char *name)
#define LS_CHAINING_PLAIN
#define LS_THICKNESS_CENTER
@ MOD_TRIANGULATE_QUAD_FIXED
@ MOD_TRIANGULATE_QUAD_BEAUTY
@ MOD_SHRINKWRAP_PROJECT_OVER_X_AXIS
@ MOD_SHRINKWRAP_PROJECT_OVER_Y_AXIS
@ eModifierType_EdgeSplit
@ eModifierType_DynamicPaint
@ eModifierType_Triangulate
@ MOD_TRIANGULATE_NGON_BEAUTY
@ MOD_TRIANGULATE_NGON_EARCLIP
@ MOD_BUILD_FLAG_RANDOMIZE
#define CMP_NODE_IMAGE_USE_STRAIGHT_OUTPUT
Object is a sort of wrapper for general info.
@ SCULPT_DYNTOPO_SUBDIVIDE
#define R_LINE_THICKNESS_ABSOLUTE
#define R_IMF_IMTYPE_CINEON
#define R_IMF_IMTYPE_TIFF
#define R_IMF_IMTYPE_IRIZ
#define R_IMF_IMTYPE_MULTILAYER
#define R_IMF_JP2_FLAG_CINE_PRESET
#define R_IMF_CINEON_FLAG_LOG
#define R_IMF_FLAG_PREVIEW_JPG
#define R_IMF_JP2_FLAG_YCC
#define R_IMF_JP2_FLAG_CINE_48
#define SCE_SNAP_MODE_GRID
#define R_IMF_IMTYPE_OPENEXR
#define SCE_SNAP_MODE_INCREMENT
@ seqModifierType_ColorBalance
#define MTEX_MAP_MODE_TILED
@ TRACK_MOTION_MODEL_TRANSLATION
#define V3D_SHOW_ANNOTATION
@ V3D_AROUND_CENTER_MEDIAN
#define V3D_SHOW_RECONSTRUCTION
_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
@ IMB_TC_INTERPOLATED_REC_DATE_FREE_RUN
@ IMB_TC_RECORD_RUN_NO_GAPS
Read Guarded memory(de)allocation.
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 Noise Wave Voronoi Brick SH_NODE_TEX_COORD
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 Noise Wave Voronoi Brick Texture Vector Combine Vertex Separate Vector White RGB Map Separate Set Z Dilate Combine Combine Color Channel Split ID Combine Luminance Directional Alpha Distance Hue Movie Ellipse Bokeh View CMP_NODE_KEYING
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 Noise Wave Voronoi Brick Texture Vector Combine Vertex Separate Vector White RGB Map Separate Set Z Dilate Combine Combine Color Channel Split ID CMP_NODE_DEFOCUS
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 Noise Wave Voronoi Brick Texture Vector Combine Vertex Separate Vector White RGB Map Separate Set Z Dilate Combine Combine Color Channel Split ID Combine Luminance Directional Alpha Distance Hue Movie Ellipse Bokeh View CMP_NODE_MASK
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 Noise Wave Voronoi Brick Texture Vector Combine Vertex Separate Vector White RGB Map Separate Set Z Dilate Combine Combine Color Channel Split ID Combine Luminance CMP_NODE_DBLUR
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 Noise Wave Voronoi Brick Texture Vector Combine Vertex Separate Vector White RGB Map Separate Set Z CMP_NODE_DILATEERODE
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 Noise Wave Voronoi Brick Texture Vector Combine Vertex Separate Vector White RGB Map Separate Set Z Dilate Combine Combine Color Channel Split ID Combine Luminance Directional Alpha Distance Hue Movie CMP_NODE_MASK_ELLIPSE
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
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 Noise Wave Voronoi Brick Texture Vector Combine Vertex Separate Vector White RGB Map Separate Set CMP_NODE_IMAGE
#define SEQ_ALL_BEGIN(ed, _seq)
ColorManagedColorspaceSettings colorspace_settings
FreestyleLineStyle linestyle
struct @203::@204 surface
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
static void area(int d1, int d2, int e1, int e2, float weights[2])
bNodeSocket * node_group_output_find_socket(bNode *node, const char *identifier)
bNodeSocket * node_group_input_find_socket(bNode *node, const char *identifier)
void * blo_do_versions_newlibadr(FileData *fd, const void *lib, const void *adr)
void blo_do_versions_key_uidgen(Key *key)
SequenceModifierData * SEQ_modifier_new(Sequence *seq, const char *name, int type)
int texture_overlay_alpha
float stencil_dimension[2]
float mask_stencil_pos[2]
float mask_stencil_dimension[2]
struct ClothSimSettings * sim_parms
StripColorBalance color_balance
struct DynamicPaintCanvasSettings * canvas
float flame_smoke_color[3]
struct FluidDomainSettings * domain
struct FluidFlowSettings * flow
struct FluidsimSettings * fss
struct bNodeTree * nodetree
struct CustomData pdata ldata
struct ModifierData * next
struct MovieClipProxy proxy
struct MovieTracking tracking
float pattern_corners[4][2]
struct MovieTrackingObject * next
struct MovieTrackingPlaneTrack * next
short default_motion_model
float default_minimum_correlation
short default_pattern_size
short default_search_size
float minimum_correlation
MovieTrackingMarker * markers
struct MovieTrackingTrack * next
MovieTrackingCamera camera
MovieTrackingSettings settings
struct ImageFormatData im_format
struct ImageFormatData im_format
struct FFMpegCodecData ffcodecdata
float unit_line_thickness
struct bNodeTree * nodetree
struct ToolSettings * toolsettings
ColorManagedDisplaySettings display_settings
struct MovieClipScopes scopes
struct bNodeTree * edittree
struct bNodeTree * nodetree
struct bNodeTree * nodetree
struct bNodeTree * nodetree
struct bConstraint * next
struct bNodeSocket * next
bNodeInstanceKey parent_key
struct bNodeTreeType * typeinfo
bNodeInstanceKey active_viewer_key
__forceinline const avxi srl(const avxi &a, const int32_t b)
void SEQ_alpha_mode_from_file_extension(Sequence *seq)
static const char * node_socket_get_static_idname(bNodeSocket *sock)
static void do_versions_nodetree_multi_file_output_path_2_63_1(bNodeTree *ntree)
static void do_versions_nodetree_file_output_layers_2_64_5(bNodeTree *ntree)
static void do_versions_nodetree_convert_angle(bNodeTree *ntree)
void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
static void do_versions_affine_tracker_track(MovieTrackingTrack *track)
static void do_versions_image_settings_2_60(Scene *sce)
static void do_versions_nodetree_socket_use_flags_2_62(bNodeTree *ntree)
static void do_versions_nodetree_image_layer_2_64_5(bNodeTree *ntree)
static void do_versions_nodetree_customnodes(bNodeTree *ntree, int UNUSED(is_group))
static void do_versions_nodetree_image_default_alpha_output(bNodeTree *ntree)
static void do_versions_mesh_mloopcol_swap_2_62_1(Mesh *me)
void do_versions_after_linking_260(Main *bmain)
static const char * node_get_static_idname(int type, int treetype)
static void do_versions_nodetree_frame_2_64_6(bNodeTree *ntree)
static void do_versions_nodetree_multi_file_output_format_2_62_1(Scene *sce, bNodeTree *ntree)
#define BRUSH_TEXTURE_OVERLAY