13#define DNA_DEPRECATED_ALLOW
16#define DNA_GENFILE_VERSIONING_MACROS
41#undef DNA_GENFILE_VERSIONING_MACROS
84#define CLANG_FORMAT_NOP_WORKAROUND ((void)0)
87#define U (*((const UserDef *)&U))
92 if (
ELEM(node->type, CMP_NODE_IMAGE, CMP_NODE_R_LAYERS)) {
103 if (node->type == CMP_NODE_ROTATE) {
109 else if (node->type == CMP_NODE_DBLUR) {
115 else if (node->type == CMP_NODE_DEFOCUS) {
122 else if (node->type == CMP_NODE_CHROMA_MATTE) {
128 else if (node->type == CMP_NODE_GLARE) {
152 R_OPENEXR_HALF = (1 << 0),
153 R_OPENEXR_ZBUF = (1 << 1),
154 R_PREVIEW_JPG = (1 << 2),
155 R_CINEON_LOG = (1 << 3),
156 R_TIFF_16BIT = (1 << 4),
158 R_JPEG2K_12BIT = (1 << 5),
160 R_JPEG2K_16BIT = (1 << 6),
161 R_JPEG2K_YCC = (1 << 7),
163 R_JPEG2K_CINE_PRESET = (1 << 8),
164 R_JPEG2K_CINE_48FPS = (1 << 9),
173 imf->
imtype = char(rd->imtype);
174 imf->
planes = char(rd->planes);
176 imf->
quality = char(rd->quality);
187 if (rd->subimtype & R_PREVIEW_JPG) {
192 if (rd->subimtype & R_TIFF_16BIT) {
197 if (rd->subimtype & R_JPEG2K_16BIT) {
200 else if (rd->subimtype & R_JPEG2K_12BIT) {
204 if (rd->subimtype & R_JPEG2K_YCC) {
207 if (rd->subimtype & R_JPEG2K_CINE_PRESET) {
210 if (rd->subimtype & R_JPEG2K_CINE_48FPS) {
216 if (rd->subimtype & R_CINEON_LOG) {
228 sock->flag &= ~SOCK_IS_LINKED;
231 sock->flag &= ~SOCK_IS_LINKED;
235 sock->flag &= ~SOCK_IS_LINKED;
238 sock->flag &= ~SOCK_IS_LINKED;
250 if (node->type == CMP_NODE_OUTPUT_FILE) {
265 node->storage = nimf;
273 old_data->
name, basepath,
sizeof(basepath), filename,
sizeof(filename));
290 SNPRINTF(sockpath,
"%s_Image", filename);
294 if (old_image->
link) {
299 SNPRINTF(sockpath,
"%s_Z", filename);
312 if (old_image->
link) {
350 for (
int a = 0; a < mesh->corner_data.totlayer; a++) {
355 for (
int i = 0; i < mesh->corners_num; i++, mloopcol++) {
356 std::swap(mloopcol->
r, mloopcol->
b);
365 if (node->type == CMP_NODE_OUTPUT_FILE) {
369 STRNCPY(input->path, sock->name);
378 if (node->type == CMP_NODE_OUTPUT_FILE) {
384 STRNCPY(input->layer, input->path);
397 if (node->type == CMP_NODE_IMAGE) {
399 NodeImageLayer *output = MEM_cnew<NodeImageLayer>(
"node image layer");
416 if (node->storage ==
nullptr) {
417 NodeFrame *data = MEM_cnew<NodeFrame>(
"frame node storage");
418 node->storage =
data;
421 data->flag = node->custom1;
423 data->label_size = 20;
428 node->color[0] = node->color[1] = node->color[2] = 0.608f;
434 for (
int i = 0; i < track->
markersnr; i++) {
467 return "CompositorNodeGroup";
469 return "ShaderNodeGroup";
471 return "TextureNodeGroup";
481 return "NodeGroupInput";
483 return "NodeGroupOutput";
485 return "NodeReroute";
487 return "ShaderNodeOutput";
489 return "ShaderNodeMaterial";
491 return "ShaderNodeRGB";
493 return "ShaderNodeValue";
495 return "ShaderNodeMixRGB";
497 return "ShaderNodeValToRGB";
499 return "ShaderNodeRGBToBW";
501 return "ShaderNodeTexture";
503 return "ShaderNodeNormal";
505 return "ShaderNodeGamma";
507 return "ShaderNodeBrightContrast";
509 return "ShaderNodeGeometry";
511 return "ShaderNodeMapping";
513 return "ShaderNodeVectorCurve";
515 return "ShaderNodeRGBCurve";
517 return "ShaderNodeCameraData";
519 return "ShaderNodeMath";
521 return "ShaderNodeVectorMath";
523 return "ShaderNodeSqueeze";
525 return "ShaderNodeExtendedMaterial";
527 return "ShaderNodeInvert";
529 return "ShaderNodeSeparateRGB";
531 return "ShaderNodeCombineRGB";
533 return "ShaderNodeHueSaturation";
535 return "ShaderNodeOutputMaterial";
537 return "ShaderNodeOutputLamp";
539 return "ShaderNodeOutputWorld";
541 return "ShaderNodeFresnel";
543 return "ShaderNodeLayerWeight";
545 return "ShaderNodeMixShader";
547 return "ShaderNodeAddShader";
549 return "ShaderNodeAttribute";
551 return "ShaderNodeAmbientOcclusion";
553 return "ShaderNodeBackground";
555 return "ShaderNodeHoldout";
557 return "ShaderNodeBsdfAnisotropic";
559 return "ShaderNodeBsdfDiffuse";
561 return "ShaderNodeBsdfGlossy";
563 return "ShaderNodeBsdfGlass";
565 return "ShaderNodeBsdfRefraction";
567 return "ShaderNodeBsdfTranslucent";
569 return "ShaderNodeBsdfTransparent";
571 return "ShaderNodeBsdfRayPortal";
573 return "ShaderNodeBsdfVelvet";
575 return "ShaderNodeVolumeTransparent";
577 return "ShaderNodeVolumeIsotropic";
579 return "ShaderNodeEmission";
581 return "ShaderNodeNewGeometry";
583 return "ShaderNodeLightPath";
585 return "ShaderNodeLightFalloff";
587 return "ShaderNodeObjectInfo";
589 return "ShaderNodeParticleInfo";
591 return "ShaderNodeHairInfo";
593 return "ShaderNodeBump";
595 return "ShaderNodeNormalMap";
597 return "ShaderNodeTangent";
599 return "ShaderNodeScript";
601 return "ShaderNodeTexImage";
603 return "ShaderNodeTexEnvironment";
605 return "ShaderNodeTexSky";
607 return "ShaderNodeTexGradient";
609 return "ShaderNodeTexNoise";
611 return "ShaderNodeTexMagic";
613 return "ShaderNodeTexWave";
615 return "ShaderNodeTexMusgrave";
617 return "ShaderNodeTexVoronoi";
619 return "ShaderNodeTexChecker";
621 return "ShaderNodeTexBrick";
623 return "ShaderNodeTexCoord";
625 return "CompositorNodeViewer";
627 return "CompositorNodeRGB";
629 return "CompositorNodeValue";
631 return "CompositorNodeMixRGB";
633 return "CompositorNodeValToRGB";
635 return "CompositorNodeRGBToBW";
637 return "CompositorNodeNormal";
639 return "CompositorNodeCurveVec";
641 return "CompositorNodeCurveRGB";
643 return "CompositorNodeAlphaOver";
645 return "CompositorNodeBlur";
647 return "CompositorNodeFilter";
649 return "CompositorNodeMapValue";
651 return "CompositorNodeMapRange";
653 return "CompositorNodeTime";
655 return "CompositorNodeVecBlur";
657 return "CompositorNodeSepRGBA";
659 return "CompositorNodeSepHSVA";
661 return "CompositorNodeSetAlpha";
663 return "CompositorNodeHueSat";
665 return "CompositorNodeImage";
667 return "CompositorNodeRLayers";
669 return "CompositorNodeComposite";
671 return "CompositorNodeOutputFile";
673 return "CompositorNodeTexture";
675 return "CompositorNodeTranslate";
677 return "CompositorNodeZcombine";
679 return "CompositorNodeCombRGBA";
681 return "CompositorNodeDilateErode";
683 return "CompositorNodeInpaint";
685 return "CompositorNodeDespeckle";
687 return "CompositorNodeRotate";
689 return "CompositorNodeScale";
691 return "CompositorNodeSepYCCA";
693 return "CompositorNodeCombYCCA";
695 return "CompositorNodeSepYUVA";
697 return "CompositorNodeCombYUVA";
699 return "CompositorNodeDiffMatte";
701 return "CompositorNodeColorSpill";
703 return "CompositorNodeChromaMatte";
705 return "CompositorNodeChannelMatte";
707 return "CompositorNodeFlip";
709 return "CompositorNodeSplitViewer";
711 return "CompositorNodeMapUV";
713 return "CompositorNodeIDMask";
715 return "CompositorNodeDoubleEdgeMask";
717 return "CompositorNodeDefocus";
719 return "CompositorNodeDisplace";
721 return "CompositorNodeCombHSVA";
723 return "CompositorNodeMath";
725 return "CompositorNodeLumaMatte";
727 return "CompositorNodeBrightContrast";
729 return "CompositorNodeGamma";
731 return "CompositorNodeInvert";
733 return "CompositorNodeNormalize";
735 return "CompositorNodeCrop";
737 return "CompositorNodeDBlur";
739 return "CompositorNodeBilateralblur";
741 return "CompositorNodePremulKey";
743 return "CompositorNodeGlare";
745 return "CompositorNodeTonemap";
747 return "CompositorNodeLensdist";
749 return "CompositorNodeLevels";
751 return "CompositorNodeColorMatte";
753 return "CompositorNodeDistanceMatte";
755 return "CompositorNodeColorBalance";
757 return "CompositorNodeHueCorrect";
759 return "CompositorNodeMovieClip";
761 return "CompositorNodeTransform";
763 return "CompositorNodeStabilize";
765 return "CompositorNodeMovieDistortion";
767 return "CompositorNodeBoxMask";
769 return "CompositorNodeEllipseMask";
771 return "CompositorNodeBokehImage";
773 return "CompositorNodeBokehBlur";
775 return "CompositorNodeSwitch";
777 return "CompositorNodeColorCorrection";
779 return "CompositorNodeMask";
781 return "CompositorNodeKeyingScreen";
783 return "CompositorNodeKeying";
785 return "CompositorNodeTrackPos";
787 return "CompositorNodePixelate";
789 return "TextureNodeOutput";
791 return "TextureNodeChecker";
793 return "TextureNodeTexture";
795 return "TextureNodeBricks";
797 return "TextureNodeMath";
799 return "TextureNodeMixRGB";
801 return "TextureNodeRGBToBW";
803 return "TextureNodeValToRGB";
805 return "TextureNodeImage";
807 return "TextureNodeCurveRGB";
809 return "TextureNodeInvert";
811 return "TextureNodeHueSaturation";
813 return "TextureNodeCurveTime";
815 return "TextureNodeRotate";
817 return "TextureNodeViewer";
819 return "TextureNodeTranslate";
821 return "TextureNodeCoordinates";
823 return "TextureNodeDistance";
825 return "TextureNodeCompose";
827 return "TextureNodeDecompose";
829 return "TextureNodeValToNor";
831 return "TextureNodeScale";
833 return "TextureNodeAt";
835 return "TextureNodeTexVoronoi";
837 return "TextureNodeTexBlend";
839 return "TextureNodeTexMagic";
841 return "TextureNodeTexMarble";
843 return "TextureNodeTexClouds";
845 return "TextureNodeTexWood";
847 return "TextureNodeTexMusgrave";
849 return "TextureNodeTexNoise";
851 return "TextureNodeTexStucci";
853 return "TextureNodeTexDistNoise";
861 switch (sock->
type) {
898 switch (ntree->
type) {
958 STRNCPY(sock->identifier, sock->name);
964 sizeof(sock->identifier));
967 STRNCPY(sock->identifier, sock->name);
973 sizeof(sock->identifier));
977 STRNCPY(sock->identifier, sock->name);
983 sizeof(sock->identifier));
986 STRNCPY(sock->identifier, sock->name);
992 sizeof(sock->identifier));
1001 if (strip && strip->color_balance) {
1015 strip->color_balance =
nullptr;
1022 enum { SEQ_MAKE_PREMUL = (1 << 6) };
1023 if (seq->
flag & SEQ_MAKE_PREMUL) {
1045 const char *identifier,
1047 const void *default_value,
1050 bNodeSocket *socket = MEM_cnew<bNodeSocket>(__func__);
1051 socket->
runtime = MEM_new<blender::bke::bNodeSocketRuntime>(__func__);
1075 ListBase *ntree_socket_list =
nullptr;
1076 ListBase *node_socket_list =
nullptr;
1079 bNode *node = MEM_cnew<bNode>(
"new node");
1082 STRNCPY(node->idname,
"NodeGroupInput");
1083 ntree_socket_list = &ntree->inputs_legacy;
1085 node_socket_list = &node->outputs;
1089 STRNCPY(node->idname,
"NodeGroupOutput");
1090 ntree_socket_list = &ntree->outputs_legacy;
1092 node_socket_list = &node->inputs;
1100 node->runtime = MEM_new<blender::bke::bNodeRuntime>(__func__);
1109 ntree->
typeinfo->node_add_init(ntree, node);
1118 tree_socket->identifier,
1120 tree_socket->default_value,
1142 if (sce->r.ffcodecdata.audio_channels == 0) {
1143 sce->r.ffcodecdata.audio_channels = 2;
1146 if (sce->nodetree) {
1162 if (part->rotmode == 0) {
1172 ob->collision_boundtype = ob->boundtype;
1177 if (cam->sensor_x < 0.01f) {
1181 if (cam->sensor_y < 0.01f) {
1209 if (sce->nodetree) {
1215 if (mat->nodetree) {
1253 if (clip->aspx < 1.0f) {
1260 if (clip->proxy.build_size_flag == 0) {
1264 if (clip->proxy.quality == 0) {
1265 clip->proxy.quality = 90;
1268 if (clip->tracking.camera.pixel_aspect < 0.01f) {
1269 clip->tracking.camera.pixel_aspect = 1.0f;
1273 clip->tracking.tracks_legacy.first);
1293 if (settings->default_pattern_size == 0.0f) {
1295 settings->default_minimum_correlation = 0.75;
1296 settings->default_pattern_size = 11;
1297 settings->default_search_size = 51;
1305 for (i = 0; i < 3; i++) {
1306 if ((ob->dsize[i] == 0.0f) ||
1307 (ob->scale[i] == 0.0f))
1310 ob->dscale[i] = 1.0f;
1313 ob->dscale[i] = (ob->scale[i] + ob->dsize[i]) / ob->scale[i];
1333 brush->alpha = 1.0f;
1343 if (sce->nodetree) {
1349 if (mat->nodetree) {
1367 if (world->nodetree) {
1380 tracking->objects.first);
1384 if (!tracking->settings.object_distance) {
1385 tracking->settings.object_distance = 1.0f;
1392 while (tracking_object) {
1393 if (!tracking_object->
scale) {
1394 tracking_object->
scale = 1.0f;
1406 if (data->invmat[3][3] == 0.0f) {
1422 ups->
size = ts->sculpt_paint_unified_size;
1424 ups->
alpha = ts->sculpt_paint_unified_alpha;
1425 ups->
flag = ts->sculpt_paint_settings;
1441 if (added && tl == text->curl) {
1459 surface->influence_scale = 1.0f;
1460 surface->radius_scale = 1.0f;
1501 if (sce->nodetree) {
1525 if (!ks->idname[0]) {
1526 STRNCPY(ks->idname, ks->name);
1549 if (fmd->
fss->viscosityMode == 3) {
1553 else if (fmd->
fss->viscosityMode == 4) {
1572 if (sce->nodetree) {
1594 brush->weight = 0.5;
1610 region->v2d.flag &= ~V2D_IS_INIT;
1631 cam->flag &= ~CAM_PANORAMA;
1636 if (cu->bevfac2 == 0.0f) {
1647 if (sce->nodetree) {
1662 if (sce->nodetree) {
1668 if (mat->nodetree) {
1686 if (world->nodetree) {
1733 if (node->type == CMP_NODE_DEFOCUS) {
1735 if (data->maxblur == 0.0f) {
1753 if (sclip->
around == 0) {
1764 clip->start_frame = 1;
1772 clip->tracking.tracks_legacy.first);
1785 if (node->type == CMP_NODE_DILATEERODE) {
1786 if (node->storage ==
nullptr) {
1789 node->storage =
data;
1802 if (node->type == CMP_NODE_KEYING) {
1805 if (data->despill_balance == 0.0f) {
1828 if (node->type == CMP_NODE_MASK) {
1829 if (node->storage ==
nullptr) {
1830 NodeMask *data = MEM_cnew<NodeMask>(__func__);
1832 data->size_x =
int(node->custom3);
1833 data->size_y =
int(node->custom4);
1834 node->custom3 = 0.5f;
1835 node->storage =
data;
1854 bool colormanagement_disabled =
false;
1867 colormanagement_disabled =
true;
1875 else if (colormanagement_disabled) {
1884 STRNCPY(ima->colorspace_settings.name,
"Raw");
1911 if (ob->pose->avs.path_step == 0) {
1935 if (tracking_object->keyframe1 == 0 && tracking_object->keyframe2 == 0) {
1937 tracking_object->keyframe2 = tracking->settings.keyframe2_legacy;
2004 if (scene->toolsettings->uvcalc_margin == 0.0f) {
2005 scene->toolsettings->uvcalc_margin = 0.001f;
2016 if (scene->r.tilex == 0 || scene->r.tiley == 1) {
2017 scene->r.tilex = scene->r.tiley = 64;
2025 if (ob->col_group == 0) {
2026 ob->col_group = 0x01;
2027 ob->col_mask = 0xff;
2051 switch (sl->spacetype) {
2089 if (scene->r.bake_samples == 0) {
2090 scene->r.bake_samples = 256;
2095 if (image->flag & IMA_DO_PREMUL) {
2108 if (image && (image->flag & IMA_DO_PREMUL) == 0) {
2109 enum { IMA_IGNORE_ALPHA = (1 << 12) };
2110 image->
flag |= IMA_IGNORE_ALPHA;
2118 if (node->type == CMP_NODE_IMAGE) {
2146 if (cu->extrude != 0.0f || cu->bevel_radius != 0.0f) {
2161 a = nu->pntsu * nu->pntsv;
2193 if (node->type == CMP_NODE_TRANSLATE && node->storage ==
nullptr) {
2194 node->storage = MEM_cnew<NodeTranslateData>(
"node translate data");
2219 snode->
id =
nullptr;
2220 snode->
from =
nullptr;
2223 switch (snode->treetype) {
2249 if (
id == &ntree->id) {
2274 bNode *input_node =
nullptr, *output_node =
nullptr;
2275 int num_inputs = 0, num_outputs = 0;
2283 float input_locx = 1000000.0f, input_locy = 0.0f;
2284 float output_locx = -1000000.0f, output_locy = 0.0f;
2286 const float offsetx = 42 + 3 * 20 + 20;
2289 if (create_io_nodes) {
2290 if (ntree->inputs_legacy.first) {
2294 if (ntree->outputs_legacy.first) {
2303 for (link =
static_cast<bNodeLink *
>(ntree->links.first); link !=
nullptr; link = next_link)
2305 bool free_link =
false;
2306 next_link = link->
next;
2316 if (input_locx > link->
tonode->
locx - offsetx) {
2327 if (link->
tonode ==
nullptr) {
2329 link->
tonode = output_node;
2335 if (output_locx < link->fromnode->locx + offsetx) {
2351 if (num_inputs > 0) {
2352 input_locy /= num_inputs;
2353 input_node->
locx = input_locx;
2354 input_node->
locy = input_locy;
2356 if (num_outputs > 0) {
2357 output_locy /= num_outputs;
2358 output_node->locx = output_locx;
2359 output_node->locy = output_locy;
2372 for (link =
static_cast<bNodeLink *
>(ntree->links.first); link !=
nullptr; link = next_link)
2374 next_link = link->
next;
2388 brush->spacing /= 2;
2394#define BRUSH_TEXTURE_OVERLAY (1 << 21)
2397 brush->overlay_flags = 0;
2402#undef BRUSH_TEXTURE_OVERLAY
2408 if (brush->stencil_dimension[0] == 0) {
2409 brush->stencil_dimension[0] = 256;
2410 brush->stencil_dimension[1] = 256;
2411 brush->stencil_pos[0] = 256;
2412 brush->stencil_pos[1] = 256;
2414 if (brush->mask_stencil_dimension[0] == 0) {
2415 brush->mask_stencil_dimension[0] = 256;
2416 brush->mask_stencil_dimension[1] = 256;
2417 brush->mask_stencil_pos[0] = 256;
2418 brush->mask_stencil_pos[1] = 256;
2437 if (sce->r.line_thickness_mode == 0) {
2439 sce->r.unit_line_thickness = 1.0f;
2442 if (srl->freestyleConfig.mode == 0) {
2445 if (
ELEM(srl->freestyleConfig.raycasting_algorithm,
2449 srl->freestyleConfig.raycasting_algorithm = 0;
2456 MeshStatVis *statvis = &sce->toolsettings->statvis;
2511 if (active_viewer_key.
value != 0) {
2515 if (active_viewer_key.
value != 0) {
2522 if (scene->nodetree) {
2523 scene->nodetree->active_viewer_key = active_viewer_key;
2534 if (fmd->
domain->
flags & FLUID_DOMAIN_USE_HIGH_SMOOTH) {
2548 brush->spacing = std::max(1, brush->spacing);
2553#define BRUSH_FIXED (1 << 6)
2555 brush->flag &= ~BRUSH_FIXED;
2557 if (brush->cursor_overlay_alpha < 2) {
2558 brush->cursor_overlay_alpha = 33;
2560 if (brush->texture_overlay_alpha < 2) {
2561 brush->texture_overlay_alpha = 33;
2563 if (brush->mask_overlay_alpha < 2) {
2564 brush->mask_overlay_alpha = 33;
2612 if (snode->
zoom < 0.02f) {
2636 if (region ==
nullptr) {
2640 ARegion *arnew = MEM_cnew<ARegion>(
"node tools");
2657 if (node->type == SH_NODE_SUBSURFACE_SCATTERING) {
2658 if (node->custom1 == SHD_SUBSURFACE_COMPATIBLE) {
2659 node->custom1 = SHD_SUBSURFACE_CUBIC;
2673 if (node->type == CMP_NODE_COLORBALANCE) {
2675 if (node->custom1 == 0) {
2679 else if (node->custom1 == 1) {
2713 if (!DNA_struct_member_exists(fd->
filesdna,
"MovieTrackingTrack",
"float",
"weight")) {
2718 &tracking->tracks_legacy :
2719 &tracking_object->tracks;
2721 track->weight = 1.0f;
2727 if (!DNA_struct_member_exists(fd->
filesdna,
"TriangulateModifierData",
"int",
"quad_method")) {
2732 if (tmd->
flag & MOD_TRIANGULATE_BEAUTY) {
2753 if (scene->toolsettings->snap_node_mode == 0) {
2754 scene->toolsettings->snap_node_mode = 8;
2759 if (scene->r.ffcodecdata.type >= FFMPEG_INVALID) {
2760 scene->r.ffcodecdata.type = FFMPEG_AVI;
2770 la->spotsize =
DEG2RADF(la->spotsize);
2795 if (node->type == CMP_NODE_BOKEHIMAGE) {
2799 if (node->type == CMP_NODE_MASK_BOX) {
2803 if (node->type == CMP_NODE_MASK_ELLIPSE) {
2813 if (!DNA_struct_member_exists(
2814 fd->
filesdna,
"MovieTrackingPlaneTrack",
"float",
"image_opacity"))
2820 plane_track->image_opacity = 1.0f;
2828 Sculpt *sd = scene->toolsettings->sculpt;
2832 SCULPT_SYMM_X = (1 << 0),
2833 SCULPT_SYMM_Y = (1 << 1),
2834 SCULPT_SYMM_Z = (1 << 2),
2835 SCULPT_SYMMETRY_FEATHER = (1 << 6),
2837 int symmetry_flags = sd->
flags & 7;
2839 if (symmetry_flags & SCULPT_SYMM_X) {
2842 if (symmetry_flags & SCULPT_SYMM_Y) {
2845 if (symmetry_flags & SCULPT_SYMM_Z) {
2848 if (symmetry_flags & SCULPT_SYMMETRY_FEATHER) {
2883 if (space_link == area->spacedata.first) {
2884 lb = &area->regionbase;
2887 lb = &space_link->regionbase;
void animviz_settings_init(struct bAnimVizSettings *avs)
CustomData interface, see also DNA_customdata_types.h.
void CustomData_free_layers(CustomData *data, eCustomDataType type, int totelem)
void CustomData_update_typemap(CustomData *data)
IDProperty * IDP_CopyProperty(const IDProperty *prop) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BKE_image_alpha_mode_from_extension(Image *image)
#define MAIN_VERSION_FILE_ATLEAST(main, ver, subver)
#define MAIN_VERSION_FILE_OLDER(main, ver, subver)
void BKE_mesh_do_versions_cd_flag_init(Mesh *mesh)
#define SH_NODE_TEX_NOISE
#define SH_NODE_MIX_SHADER
#define CMP_NODE_PREMULKEY
#define CMP_NODE_VALTORGB
#define SH_NODE_MIX_RGB_LEGACY
#define SH_NODE_TEX_GRADIENT
#define SH_NODE_COMBRGB_LEGACY
#define TEX_NODE_DISTANCE
#define CMP_NODE_COMPOSITE
#define CMP_NODE_MAP_RANGE
#define CMP_NODE_SEPHSVA_LEGACY
#define CMP_NODE_COLOR_SPILL
#define SH_NODE_TEX_MAGIC
#define SH_NODE_OUTPUT_WORLD
#define SH_NODE_BRIGHTCONTRAST
#define CMP_NODE_DESPECKLE
#define CMP_NODE_LUMA_MATTE
#define CMP_NODE_KEYINGSCREEN
#define CMP_NODE_MASK_ELLIPSE
#define CMP_NODE_DISPLACE
#define SH_NODE_TEX_IMAGE
#define CMP_NODE_COMBYCCA_LEGACY
#define CMP_NODE_SEPRGBA_LEGACY
#define CMP_NODE_BILATERALBLUR
#define CMP_NODE_MAP_VALUE
#define CMP_NODE_TRANSLATE
#define CMP_NODE_MOVIEDISTORTION
#define SH_NODE_ADD_SHADER
#define SH_NODE_LAYER_WEIGHT
#define CMP_NODE_COLORBALANCE
#define TEX_NODE_DECOMPOSE_LEGACY
#define CMP_NODE_BOKEHIMAGE
#define SH_NODE_TEX_BRICK
#define SH_NODE_SEPRGB_LEGACY
#define CMP_NODE_COMBYUVA_LEGACY
#define SH_NODE_TEX_COORD
#define CMP_NODE_DIFF_MATTE
#define SH_NODE_VECTOR_MATH
#define SH_NODE_TEX_ENVIRONMENT
#define SH_NODE_NORMAL_MAP
#define SH_NODE_CURVE_VEC
#define CMP_NODE_ALPHAOVER
#define TEX_NODE_TRANSLATE
#define CMP_NODE_HUECORRECT
#define CMP_NODE_SEPYUVA_LEGACY
#define TEX_NODE_VALTONOR
#define CMP_NODE_COMBHSVA_LEGACY
#define CMP_NODE_CHROMA_MATTE
#define SH_NODE_BSDF_TRANSPARENT
#define CMP_NODE_MOVIECLIP
#define CMP_NODE_TRANSFORM
#define CMP_NODE_DILATEERODE
#define SH_NODE_BSDF_DIFFUSE
#define NODE_GROUP_OUTPUT
#define SH_NODE_HAIR_INFO
#define SH_NODE_AMBIENT_OCCLUSION
#define CMP_NODE_BOKEHBLUR
#define TEX_NODE_COMPOSE_LEGACY
#define CMP_NODE_LENSDIST
#define CMP_NODE_NORMALIZE
#define CMP_NODE_ZCOMBINE
#define CMP_NODE_TRACKPOS
#define SH_NODE_OUTPUT_MATERIAL
#define CMP_NODE_OUTPUT_FILE
#define CMP_NODE_COLORCORRECTION
#define SH_NODE_BSDF_TRANSLUCENT
#define FOREACH_NODETREE_END
#define CMP_NODE_SETALPHA
#define SH_NODE_BACKGROUND
#define SH_NODE_BSDF_RAY_PORTAL
#define CMP_NODE_CURVE_RGB
#define CMP_NODE_DOUBLEEDGEMASK
#define SH_NODE_TEX_CHECKER
#define SH_NODE_TEX_VORONOI
#define CMP_NODE_STABILIZE2D
#define SH_NODE_OBJECT_INFO
#define SH_NODE_TEX_MUSGRAVE_DEPRECATED
#define CMP_NODE_PIXELATE
#define SH_NODE_CURVE_RGB
#define CMP_NODE_COMBRGBA_LEGACY
#define CMP_NODE_MASK_BOX
#define CMP_NODE_SPLITVIEWER__DEPRECATED
#define FOREACH_NODETREE_BEGIN(bmain, _nodetree, _id)
#define TEX_NODE_CURVE_TIME
#define SH_NODE_LIGHT_FALLOFF
#define SH_NODE_BSDF_GLASS
#define CMP_NODE_R_LAYERS
#define SH_NODE_NEW_GEOMETRY
#define CMP_NODE_CURVE_VEC
#define CMP_NODE_SEPYCCA_LEGACY
#define SH_NODE_PARTICLE_INFO
#define CMP_NODE_COLOR_MATTE
#define CMP_NODE_DIST_MATTE
#define CMP_NODE_OUTPUT_MULTI_FILE__DEPRECATED
#define SH_NODE_BSDF_REFRACTION
#define CMP_NODE_VIEW_LEVELS
#define SH_NODE_OUTPUT_LIGHT
#define TEX_NODE_VALTORGB
#define CMP_NODE_BRIGHTCONTRAST
#define TEX_NODE_CURVE_RGB
#define CMP_NODE_CHANNEL_MATTE
#define SH_NODE_ATTRIBUTE
#define SH_NODE_LIGHT_PATH
void BKE_ntree_update_tag_node_new(bNodeTree *ntree, bNode *node)
void BKE_ntree_update_tag_socket_type(bNodeTree *ntree, bNodeSocket *socket)
void BKE_ntree_update_tag_socket_new(bNodeTree *ntree, bNodeSocket *socket)
void BKE_scene_disable_color_management(Scene *scene)
ARegion * BKE_area_find_region_type(const ScrArea *area, int region_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)
#define BLI_assert_unreachable()
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
#define LISTBASE_FOREACH(type, var, list)
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
void BLI_insertlinkafter(struct ListBase *listbase, void *vprevlink, void *vnewlink) ATTR_NONNULL(1)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
MINLINE int max_iii(int a, int b, int c)
void unit_m4(float m[4][4])
MINLINE void copy_v2_v2(float r[2], const float a[2])
MINLINE bool is_zero_v2(const float v[2]) ATTR_WARN_UNUSED_RESULT
MINLINE void copy_v3_v3(float r[3], const float a[3])
void copy_vn_fl(float *array_tar, int size, float val)
MINLINE bool is_zero_v3(const float v[3]) ATTR_WARN_UNUSED_RESULT
void BLI_path_split_dir_file(const char *filepath, char *dir, size_t dir_maxncpy, char *file, size_t file_maxncpy) ATTR_NONNULL(1
#define STRNCPY(dst, src)
#define SNPRINTF(dst, format,...)
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL(1
size_t BLI_strlen_utf8(const char *strc) ATTR_NONNULL(1) ATTR_WARN_UNUSED_RESULT
void BLI_uniquename(const struct ListBase *list, void *vlink, const char *defname, char delim, int name_offset, size_t name_maxncpy) ATTR_NONNULL(1
#define POINTER_AS_INT(i)
external readfile function prototypes.
#define ID_IS_LINKED(_id)
@ SCULPT_BRUSH_TYPE_ROTATE
#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
@ MOD_TRIANGULATE_QUAD_FIXED
@ MOD_TRIANGULATE_QUAD_BEAUTY
@ eModifierType_EdgeSplit
@ eModifierType_DynamicPaint
@ eModifierType_Triangulate
@ MOD_BUILD_FLAG_RANDOMIZE
@ MOD_SHRINKWRAP_PROJECT_OVER_X_AXIS
@ MOD_SHRINKWRAP_PROJECT_OVER_Y_AXIS
@ MOD_TRIANGULATE_NGON_BEAUTY
@ MOD_TRIANGULATE_NGON_EARCLIP
@ CMP_NODE_IMAGE_USE_STRAIGHT_OUTPUT
Object is a sort of wrapper for general info.
@ SCULPT_DYNTOPO_SUBDIVIDE
@ R_IMF_JP2_FLAG_CINE_PRESET
@ R_LINE_THICKNESS_ABSOLUTE
@ R_IMF_IMTYPE_MULTILAYER
@ UVCALC_UNWRAP_METHOD_ANGLE
@ seqModifierType_ColorBalance
@ SEQ_PREVIEW_SHOW_GPENCIL
@ TRACK_MOTION_MODEL_TRANSLATION
@ V3D_AROUND_CENTER_MEDIAN
@ V3D_SHOW_RECONSTRUCTION
@ IMB_TC_RECORD_RUN_NO_GAPS
Read Guarded memory(de)allocation.
FreestyleLineStyle linestyle
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
void SEQ_for_each_callback(ListBase *seqbase, SeqForEachFunc callback, void *user_data)
void MEM_freeN(void *vmemh)
void *(* MEM_dupallocN)(const void *vmemh)
void node_remove_socket(bNodeTree *ntree, bNode *node, bNodeSocket *sock)
void node_remove_link(bNodeTree *ntree, bNodeLink *link)
const char * node_static_socket_type(int type, int subtype)
void node_unique_id(bNodeTree *ntree, bNode *node)
void node_unique_name(bNodeTree *ntree, bNode *node)
bNodeSocket * node_group_input_find_socket(bNode *node, const char *identifier)
bNodeSocket * node_group_output_find_socket(bNode *node, const char *identifier)
void ntreeCompositColorBalanceSyncFromLGG(bNodeTree *, bNode *node)
void ntreeCompositColorBalanceSyncFromCDL(bNodeTree *, bNode *node)
void ntreeCompositOutputFileUniqueLayer(ListBase *list, bNodeSocket *sock, const char defname[], char delim)
bNodeSocket * ntreeCompositOutputFileAddSocket(bNodeTree *ntree, bNode *node, const char *name, const ImageFormatData *im_format)
void ntreeCompositOutputFileUniquePath(ListBase *list, bNodeSocket *sock, const char defname[], char delim)
void * blo_do_versions_newlibadr(FileData *fd, ID *self_id, const bool is_linked_only, const void *adr)
void blo_do_versions_key_uidgen(Key *key)
SequenceModifierData * SEQ_modifier_new(Sequence *seq, const char *name, int type)
void SEQ_alpha_mode_from_file_extension(Sequence *seq)
struct ClothSimSettings * sim_parms
StripColorBalance color_balance
struct DynamicPaintCanvasSettings * canvas
float color_dry_threshold
float flame_smoke_color[3]
struct FluidDomainSettings * domain
struct FluidFlowSettings * flow
struct FluidsimSettings * fss
float pattern_corners[4][2]
struct MovieTrackingObject * next
short default_motion_model
float minimum_correlation
float search_max_legacy[2]
MovieTrackingMarker * markers
struct MovieTrackingTrack * next
float search_min_legacy[2]
MovieTrackingSettings settings
struct ImageFormatData im_format
struct ImageFormatData im_format
struct MovieClipScopes scopes
struct bNodeTree * edittree
struct bNodeTree * nodetree
struct bNodeTree * nodetree
bNodeSocketRuntimeHandle * runtime
bNodeInstanceKey parent_key
bNodeTreeTypeHandle * typeinfo
static const char * node_socket_get_static_idname(bNodeSocket *sock)
void blo_do_versions_260(FileData *fd, Library *, Main *bmain)
static void do_versions_nodetree_multi_file_output_path_2_63_1(bNodeTree *ntree)
static bool seq_set_alpha_mode_cb(Sequence *seq, void *)
static void do_versions_nodetree_file_output_layers_2_64_5(bNodeTree *ntree)
static void do_versions_nodetree_convert_angle(bNodeTree *ntree)
static bNode * version_add_group_in_out_node(bNodeTree *ntree, const int type)
static void do_versions_affine_tracker_track(MovieTrackingTrack *track)
static bool seq_set_wipe_angle_cb(Sequence *seq, void *)
#define CLANG_FORMAT_NOP_WORKAROUND
void do_versions_after_linking_260(Main *)
static void do_versions_image_settings_2_60(Scene *sce)
static void do_versions_nodetree_socket_use_flags_2_62(bNodeTree *ntree)
static const char * node_get_static_idname(int type, int treetype)
static bool seq_colorbalance_update_cb(Sequence *seq, void *)
static void do_versions_mesh_mloopcol_swap_2_62_1(Mesh *mesh)
static void do_versions_nodetree_image_layer_2_64_5(bNodeTree *ntree)
static void do_versions_nodetree_image_default_alpha_output(bNodeTree *ntree)
static void do_versions_nodetree_frame_2_64_6(bNodeTree *ntree)
static void do_versions_nodetree_customnodes(bNodeTree *ntree, int)
static bNodeSocket * version_make_socket_stub(const char *idname, eNodeSocketDatatype type, eNodeSocketInOut in_out, const char *identifier, const char *name, const void *default_value, const IDProperty *prop)
static void do_versions_nodetree_multi_file_output_format_2_62_1(Scene *sce, bNodeTree *ntree)
#define BRUSH_TEXTURE_OVERLAY