8 #define DNA_DEPRECATED_ALLOW
107 #define U (*((const UserDef *)&U))
115 if (
area->full &&
area->full != screen) {
145 if (workspace ==
NULL) {
203 bScreen *screen = screen_parent ? screen_parent : win->screen;
209 win->scene = screen->scene;
244 screen->scene =
NULL;
248 #ifdef USE_COLLECTION_COMPAT_28
250 COLLECTION_DEPRECATED_VISIBLE = (1 << 0),
251 COLLECTION_DEPRECATED_VIEWPORT = (1 << 0),
252 COLLECTION_DEPRECATED_SELECTABLE = (1 << 1),
253 COLLECTION_DEPRECATED_DISABLED = (1 << 2),
254 COLLECTION_DEPRECATED_RENDER = (1 << 3),
257 static void do_version_view_layer_visibility(
ViewLayer *view_layer)
262 if (lc->
flag & COLLECTION_DEPRECATED_DISABLED) {
263 lc->
flag &= ~COLLECTION_DEPRECATED_DISABLED;
266 if ((lc->
flag & COLLECTION_DEPRECATED_VISIBLE) == 0) {
267 lc->
flag |= COLLECTION_DEPRECATED_DISABLED;
270 lc->
flag |= COLLECTION_DEPRECATED_VIEWPORT | COLLECTION_DEPRECATED_RENDER;
274 static void do_version_layer_collection_pre(
ViewLayer *view_layer,
277 GSet *selectable_set)
281 if (lc->scene_collection) {
282 if (!(lc->
flag & COLLECTION_DEPRECATED_DISABLED)) {
285 if (lc->
flag & COLLECTION_DEPRECATED_SELECTABLE) {
290 do_version_layer_collection_pre(
295 static void do_version_layer_collection_post(
ViewLayer *view_layer,
298 GSet *selectable_set,
299 GHash *collection_map)
316 do_version_layer_collection_post(
317 view_layer, &lc->
layer_collections, enabled_set, selectable_set, collection_map);
321 static void do_version_scene_collection_convert(
324 if (collection_map) {
331 ncollection->
id.
lib =
id->lib;
332 do_version_scene_collection_convert(bmain,
id, nsc, ncollection, collection_map);
348 static void do_version_group_collection_to_collection(
Main *bmain,
Collection *group)
351 if (group->collection) {
352 do_version_scene_collection_convert(bmain, &group->
id, group->collection, group,
NULL);
355 group->collection =
NULL;
356 group->view_layer =
NULL;
360 static void do_version_scene_collection_to_collection(
Main *bmain,
Scene *
scene)
375 if (
scene->collection) {
376 do_version_scene_collection_convert(
389 do_version_layer_collection_pre(
396 do_version_layer_collection_post(
397 view_layer, &view_layer->
layer_collections, enabled_set, selectable_set, collection_map);
425 for (
int layer = 0; layer < 20; layer++) {
427 if (base->lay & (1 << layer)) {
429 if (collections[layer] ==
NULL) {
433 name,
sizeof(collection_master->
id.
name),
DATA_(
"Collection %d"), layer + 1);
440 collections[layer] = collection;
442 if (!(
scene->lay & (1 << layer))) {
452 if (base->flag &
SELECT) {
453 base->object->flag |=
SELECT;
456 base->object->flag &= ~
SELECT;
462 bool have_override =
false;
463 const bool need_default_renderlayer =
scene->
r.layers.first ==
NULL;
487 for (
int layer = 0; layer < 20; layer++) {
493 if (
srl->lay_exclude & (1 << layer)) {
495 have_override =
true;
502 if (
srl->lay_zmask & (1 << layer)) {
503 have_override =
true;
507 if ((
srl->lay & (1 << layer)) == 0) {
508 have_override =
true;
531 if (have_override || need_default_renderlayer) {
552 base->lay = base->object->lay;
569 collection_child = collection_child->next) {
571 collection_child->collection->id.lib = collection->
id.
lib;
591 gpl->tintcolor[3] = 0.0f;
595 if ((gps->colorname[0] !=
'\0') && (
STREQ(gps->colorname, palcolor->info))) {
614 for (region = regionbase->
first; region; region = region_next) {
615 region_next = region->
next;
625 if (region->regiontype == regiontype) {
635 if (region ==
NULL) {
642 const short space_type,
643 const short region_flag)
648 if (sl->spacetype == space_type) {
657 region->flag = region_flag;
668 bone->scale_in_z = bone->scale_in_x;
669 bone->scale_out_z = bone->scale_out_x;
678 if (bone->flag & BONE_NO_SCALE) {
680 bone->flag &= ~BONE_NO_SCALE;
689 char *old_path = *p_old_path;
691 if (old_path ==
NULL) {
738 void *
UNUSED(wrapper_data))
771 data->flag &= ~ROTLIKE_OFFSET;
780 if (seq->strip->transform ==
NULL) {
784 if (seq->strip->crop ==
NULL) {
788 if (seq->seqbase.first !=
NULL) {
798 bool need_update =
false;
803 prevlink = link->
prev;
806 bNode *fromnode = link->fromnode;
808 bNode *tonode = link->tonode;
820 if (blend_method == 1 ) {
844 else if (blend_method == 2 ) {
854 transp_node->
locx = 0.33f * fromnode->
locx + 0.66f * tonode->
locx;
855 transp_node->
locy = 0.33f * fromnode->
locy + 0.66f * tonode->
locy;
858 shtorgb_node->
locx = 0.66f * fromnode->
locx + 0.33f * tonode->
locx;
859 shtorgb_node->
locy = 0.66f * fromnode->
locy + 0.33f * tonode->
locy;
868 transp_node->
locx = 0.5f * (fromnode->
locx + tonode->
locx);
869 transp_node->
locy = 0.5f * (fromnode->
locy + tonode->
locy);
900 #define CUMA_EXTEND_EXTRAPOLATE_OLD 1
901 for (
int curve_map_index = 0; curve_map_index < 4; curve_map_index++) {
908 #undef CUMA_EXTEND_EXTRAPOLATE_OLD
987 if (light->curfalloff) {
996 if (brush->gpencil_settings) {
997 if (brush->gpencil_settings->curve_sensitivity) {
998 callback(brush->gpencil_settings->curve_sensitivity);
1000 if (brush->gpencil_settings->curve_strength) {
1001 callback(brush->gpencil_settings->curve_strength);
1003 if (brush->gpencil_settings->curve_jitter) {
1004 callback(brush->gpencil_settings->curve_jitter);
1010 if (part->clumpcurve) {
1013 if (part->roughcurve) {
1016 if (part->twistcurve) {
1173 bool use_collection_compat_28 =
true;
1176 use_collection_compat_28 =
false;
1180 collection = collection->
id.
next) {
1191 cob_next = cob->next;
1194 if (!(ob->lay & collection->layer)) {
1198 for (; coll_idx < 20; coll_idx++) {
1199 if (ob->lay & (1 << coll_idx)) {
1200 collection_hidden = &hidden_collection_array[coll_idx];
1204 if (collection_hidden ==
NULL) {
1208 collection_hidden = &hidden_collection_array[0];
1211 if (*collection_hidden ==
NULL) {
1229 collection = collection->
id.
next) {
1245 "No Screen data-block should ever have a NULL `scene` pointer");
1249 ViewLayer *layer = screen->scene->view_layers.first;
1270 tselem->
nr = tselem->
used = 0;
1285 if ((sima) && (sima->
gpd)) {
1293 if ((clip) && (clip->
gpd)) {
1328 if (psys->part->draw_size == 0.0f) {
1329 psys->part->draw_size = 0.1f;
1337 if (object->particlesystem.first) {
1340 if (psys->part->draw & PART_DRAW_EMITTER) {
1346 else if (object->transflag &
OB_DUPLI) {
1356 part->draw &= ~PART_DRAW_EMITTER;
1373 if (
ELEM(
area->butspacetype, SPACE_TIME, SPACE_LOGIC)) {
1385 if (
ELEM(
area->butspacetype, SPACE_TIME, SPACE_LOGIC)) {
1397 #ifdef USE_COLLECTION_COMPAT_28
1400 do_version_group_collection_to_collection(bmain, group);
1404 do_version_scene_collection_to_collection(bmain,
scene);
1412 if (!cu->key || cu->key->elemsize !=
sizeof(
float[4])) {
1416 cu->key->elemstr[0] = 3;
1417 cu->key->elemsize =
sizeof(
float[3]);
1422 int old_count = block->totelem;
1423 void *old_data = block->data;
1425 if (!old_data || old_count <= 0) {
1429 block->totelem = new_count;
1430 block->data =
MEM_callocN(
sizeof(
float[3]) * new_count, __func__);
1432 float *oldptr = old_data;
1433 float(*newptr)[3] = block->data;
1439 for (
int a = 0;
a < nu->pntsu;
a++, bezt++) {
1440 if ((old_count -= 3) < 0) {
1441 memcpy(newptr, bezt->
vec,
sizeof(
float[3][3]));
1442 newptr[3][0] = bezt->
tilt;
1445 memcpy(newptr, oldptr,
sizeof(
float[3][4]));
1448 newptr[3][1] = bezt->
radius;
1457 for (
int a = 0;
a < nu->pntsu * nu->pntsv;
a++, bp++) {
1458 if (--old_count < 0) {
1460 newptr[1][0] = bp->
tilt;
1463 memcpy(newptr, oldptr,
sizeof(
float[4]));
1466 newptr[1][1] = bp->
radius;
1485 if (ob->pose && arm && arm->
id.
lib == ob->
id.
lib) {
1486 bool rebuild =
false;
1490 if (pchan->bone && (pchan->bboneflag & PCHAN_BBONE_CUSTOM_HANDLES)) {
1494 pchan->bone->bbone_prev ==
NULL && pchan->bone->bbone_next ==
NULL) {
1495 pchan->bone->bbone_prev_type = (pchan->bboneflag & PCHAN_BBONE_CUSTOM_START_REL) ?
1498 pchan->bone->bbone_next_type = (pchan->bboneflag & PCHAN_BBONE_CUSTOM_END_REL) ?
1502 if (pchan->bbone_prev) {
1503 pchan->bone->bbone_prev = pchan->bbone_prev->bone;
1505 if (pchan->bbone_next) {
1506 pchan->bone->bbone_next = pchan->bbone_next->bone;
1511 pchan->bboneflag = 0;
1518 if (ob2->pose && ob2->data == arm) {
1529 if (brush->gpencil_settings !=
NULL) {
1530 brush->gpencil_tool = brush->gpencil_settings->brush_type;
1553 enum { SCE_EEVEE_DOF_ENABLED = (1 << 7) };
1572 camera->dof.aperture_blades =
camera->gpu_dof.num_blades;
1584 if (ma->blend_method == 1 ) {
1585 if (ma->use_nodes) {
1590 else if (ma->blend_method == 2 ) {
1591 if (ma->use_nodes) {
1605 if (
STREQ(gpl->info,
"RulerData3D")) {
1617 if (me->totface && !me->totpoly) {
1678 if (brush !=
NULL) {
1710 brush->tip_roundness = 1.0f;
1712 brush->density = 1.0f;
1713 brush->tip_scale_x = 1.0f;
1719 if (brush->sculpt_tool ==
SCULPT_TOOL_POSE && brush->disconnected_distance_max == 0.0f) {
1721 brush->disconnected_distance_max = 0.1f;
1749 if (seq->seqbase.first !=
NULL) {
1765 seq->
flag &= ~((1 << 6) | (1 << 18) | (1 << 19) | (1 << 21));
1776 bool use_collection_compat_28 =
true;
1779 use_collection_compat_28 =
false;
1789 la->bleedexp = 2.5f;
1795 ca->gpu_dof.ratio = 1.0f;
1803 if (me->mloopuv !=
NULL) {
1815 la->cascade_max_dist = 1000.0f;
1816 la->cascade_count = 4;
1817 la->cascade_exponent = 0.8f;
1818 la->cascade_fade = 0.1f;
1824 la->contact_dist = 0.2f;
1825 la->contact_bias = 0.03f;
1826 la->contact_spread = 0.2f;
1827 la->contact_thickness = 0.2f;
1833 probe->vis_bias = 1.0f;
1834 probe->vis_blur = 0.2f;
1838 typedef enum eNTreeDoVersionErrors {
1839 NTREE_DOVERSION_NO_ERROR = 0,
1840 NTREE_DOVERSION_NEED_OUTPUT = (1 << 0),
1841 NTREE_DOVERSION_TRANSPARENCY_EMISSION = (1 << 1),
1842 } eNTreeDoVersionErrors;
1849 eNTreeDoVersionErrors
error = NTREE_DOVERSION_NO_ERROR;
1854 if (
node->type == 194 &&
1855 STREQ(
node->idname,
"ShaderNodeOutputMetallic")) {
1857 error |= NTREE_DOVERSION_NEED_OUTPUT;
1861 STREQ(
node->idname,
"ShaderNodeOutputSpecular")) {
1863 error |= NTREE_DOVERSION_NEED_OUTPUT;
1866 else if (
node->type == 196 &&
1867 STREQ(
node->idname,
"ShaderNodeOutputEeveeMaterial")) {
1872 else if (
node->type == 194 &&
1873 STREQ(
node->idname,
"ShaderNodeEeveeMetallic")) {
1877 error |= NTREE_DOVERSION_TRANSPARENCY_EMISSION;
1884 if (
error & NTREE_DOVERSION_NEED_OUTPUT) {
1887 "Eevee material conversion problem. Error in console");
1889 "You need to connect Principled and Eevee Specular shader nodes to new material "
1894 if (
error & NTREE_DOVERSION_TRANSPARENCY_EMISSION) {
1897 "Eevee material conversion problem. Error in console");
1899 "You need to combine transparency and emission shaders to the converted Principled "
1903 #ifdef USE_COLLECTION_COMPAT_28
1904 if (use_collection_compat_28 &&
1938 fd->
filesdna,
"GP_Sculpt_Settings",
"CurveMapping",
"cur_falloff")) {
1965 #ifdef USE_COLLECTION_COMPAT_28
1970 do_version_view_layer_visibility(view_layer);
1975 if (group->view_layer !=
NULL) {
1976 do_version_view_layer_visibility(group->view_layer);
2008 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
2028 probe->intensity = 1.0f;
2034 con = ob->constraints.first;
2036 con_next = con->
next;
2037 if (con->
type == 17) {
2099 int win_width = 0, win_height = 0;
2101 win_width =
MAX2(win_width, vert->vec.x);
2102 win_height =
MAX2(win_height, vert->vec.y);
2106 area_next =
area->next;
2109 if ((
area->v2->vec.y == win_height) && (
area->v1->vec.x == 0) &&
2110 (
area->v4->vec.x == win_width)) {
2130 if (la->mode & (1 << 13)) {
2132 la->mode &= ~(1 << 13);
2146 for (
ARegion *region = regionbase->
first, *region_next; region; region = region_next) {
2147 region_next = region->next;
2164 la->spec_fac = 1.0f;
2266 #define EEVEE_GET_BOOL(_props, _name, _flag) \
2268 IDProperty *_idprop = IDP_GetPropertyFromGroup(_props, #_name); \
2269 if (_idprop != NULL) { \
2270 const int _value = IDP_Int(_idprop); \
2272 scene->eevee.flag |= _flag; \
2275 scene->eevee.flag &= ~_flag; \
2281 #define EEVEE_GET_INT(_props, _name) \
2283 IDProperty *_idprop = IDP_GetPropertyFromGroup(_props, #_name); \
2284 if (_idprop != NULL) { \
2285 scene->eevee._name = IDP_Int(_idprop); \
2290 #define EEVEE_GET_FLOAT(_props, _name) \
2292 IDProperty *_idprop = IDP_GetPropertyFromGroup(_props, #_name); \
2293 if (_idprop != NULL) { \
2294 scene->eevee._name = IDP_Float(_idprop); \
2299 #define EEVEE_GET_FLOAT_ARRAY(_props, _name, _length) \
2301 IDProperty *_idprop = IDP_GetPropertyFromGroup(_props, #_name); \
2302 if (_idprop != NULL) { \
2303 const float *_values = IDP_Array(_idprop); \
2304 for (int _i = 0; _i < _length; _i++) { \
2305 scene->eevee._name[_i] = _values[_i]; \
2310 enum { SCE_EEVEE_DOF_ENABLED = (1 << 7) };
2380 #undef EEVEE_GET_FLOAT_ARRAY
2381 #undef EEVEE_GET_FLOAT
2382 #undef EEVEE_GET_INT
2383 #undef EEVEE_GET_BOOL
2433 (1 << 5) | (1 << 6);
2463 if (mat->use_nodes) {
2465 mat->roughness = mat->gloss_mir;
2468 mat->roughness = 0.25f;
2472 mat->roughness = 1.0f - mat->gloss_mir;
2474 mat->metallic = mat->ray_mirror;
2504 if (default_matcap) {
2560 for (
int i = 0; i < 8; i++) {
2603 if (sce->ed !=
NULL && sce->ed->seqbase.first !=
NULL) {
2609 fd->
filesdna,
"View3DOverlay",
"float",
"texture_paint_mode_opacity")) {
2615 V3D_SHOW_MODE_SHADE_OVERRIDE = (1 << 15),
2618 float alpha = (v3d->
flag2 & V3D_SHOW_MODE_SHADE_OVERRIDE) ? 0.0f : 1.0f;
2649 fd->
filesdna,
"RigidBodyWorld",
"RigidBodyWorld_Shared",
"*shared")) {
2665 rbw->pointcache =
NULL;
2688 sb->pointcache =
NULL;
2741 gpl->line_change = gpl->thickness;
2742 if ((gpl->thickness < 1) || (gpl->thickness > 10)) {
2860 if (brush->gpencil_settings !=
NULL) {
2918 if (smd->
shrinkOpts & MOD_SHRINKWRAP_KEEP_ABOVE_SURFACE) {
2920 smd->
shrinkOpts &= ~MOD_SHRINKWRAP_KEEP_ABOVE_SURFACE;
2930 ob->pd->pdef_cfrict = 5.0f;
2986 enum { V3D_OCCLUDE_WIRE = (1 << 14) };
2988 if (v3d->
flag2 & V3D_OCCLUDE_WIRE) {
2990 v3d->
flag2 &= ~V3D_OCCLUDE_WIRE;
3012 if (!region_header) {
3019 "header 2.83.1 versioning");
3038 for (region_header = regionbase->
first; region_header;
3039 region_header = region_header->
next) {
3073 if (mat->gp_style) {
3115 la->att_dist = la->clipend;
3122 #define PAINT_BLEND_MIX 0
3123 #define PAINT_BLEND_ADD 1
3124 #define PAINT_BLEND_SUB 2
3125 #define PAINT_BLEND_MUL 3
3126 #define PAINT_BLEND_BLUR 4
3127 #define PAINT_BLEND_LIGHTEN 5
3128 #define PAINT_BLEND_DARKEN 6
3129 #define PAINT_BLEND_AVERAGE 7
3130 #define PAINT_BLEND_SMEAR 8
3131 #define PAINT_BLEND_COLORDODGE 9
3132 #define PAINT_BLEND_DIFFERENCE 10
3133 #define PAINT_BLEND_SCREEN 11
3134 #define PAINT_BLEND_HARDLIGHT 12
3135 #define PAINT_BLEND_OVERLAY 13
3136 #define PAINT_BLEND_SOFTLIGHT 14
3137 #define PAINT_BLEND_EXCLUSION 15
3138 #define PAINT_BLEND_LUMINOSITY 16
3139 #define PAINT_BLEND_SATURATION 17
3140 #define PAINT_BLEND_HUE 18
3141 #define PAINT_BLEND_ALPHA_SUB 19
3142 #define PAINT_BLEND_ALPHA_ADD 20
3146 const char tool_init = brush->vertexpaint_tool;
3147 bool is_blend =
false;
3151 switch (tool_init) {
3169 brush->vertexpaint_tool = tool;
3172 if (is_blend ==
false) {
3177 switch (tool_init) {
3230 brush->blend =
blend;
3234 brush->weightpaint_tool = brush->vertexpaint_tool;
3237 #undef PAINT_BLEND_MIX
3238 #undef PAINT_BLEND_ADD
3239 #undef PAINT_BLEND_SUB
3240 #undef PAINT_BLEND_MUL
3241 #undef PAINT_BLEND_BLUR
3242 #undef PAINT_BLEND_LIGHTEN
3243 #undef PAINT_BLEND_DARKEN
3244 #undef PAINT_BLEND_AVERAGE
3245 #undef PAINT_BLEND_SMEAR
3246 #undef PAINT_BLEND_COLORDODGE
3247 #undef PAINT_BLEND_DIFFERENCE
3248 #undef PAINT_BLEND_SCREEN
3249 #undef PAINT_BLEND_HARDLIGHT
3250 #undef PAINT_BLEND_OVERLAY
3251 #undef PAINT_BLEND_SOFTLIGHT
3252 #undef PAINT_BLEND_EXCLUSION
3253 #undef PAINT_BLEND_LUMINOSITY
3254 #undef PAINT_BLEND_SATURATION
3255 #undef PAINT_BLEND_HUE
3256 #undef PAINT_BLEND_ALPHA_SUB
3257 #undef PAINT_BLEND_ALPHA_ADD
3269 if (!navigation_region) {
3271 ListBase *regionbase = (slink ==
area->spacedata.first) ? &
area->regionbase :
3275 "userpref navigation-region do_versions");
3339 SWAP(
float, dir[2], dir[1]);
3348 ca->drawsize *= 2.0f;
3353 fd->
filesdna,
"GP_Sculpt_Settings",
"CurveMapping",
"cur_primitive")) {
3380 switch (sl->spacetype) {
3464 ob->flag &= ~(OB_FLAG_UNUSED_11 | OB_FLAG_UNUSED_12);
3466 ob->shapeflag &= ~OB_SHAPE_FLAG_UNUSED_1;
3475 mat->blend_flag &= ~(1 << 2);
3489 switch (sl->spacetype) {
3491 enum { V3D_BACKFACE_CULLING = (1 << 10) };
3493 if (v3d->
flag2 & V3D_BACKFACE_CULLING) {
3494 v3d->
flag2 &= ~V3D_BACKFACE_CULLING;
3524 if (ca->gpu_dof.ratio < 0.01f) {
3525 ca->gpu_dof.ratio = 0.01f;
3535 if (!execute_region) {
3621 enum { PARCURVE = 1, PARKEY = 2, PAR_DEPRECATED = 16 };
3622 if (
ELEM(ob->partype, PARCURVE, PARKEY, PAR_DEPRECATED)) {
3628 enum { OB_WAVE = 21, OB_LIFE = 23, OB_SECTOR = 24 };
3629 if (
ELEM(ob->type, OB_WAVE, OB_LIFE, OB_SECTOR)) {
3672 workspace = workspace->id.next) {
3705 if (
STREQ(
node->idname,
"ShaderNodeOutputLamp")) {
3720 if (!mat->use_nodes || !mat->nodetree || mat->blend_method ==
MA_BM_SOLID) {
3741 bool is_first_subdiv =
true;
3745 if (is_first_subdiv) {
3751 is_first_subdiv =
false;
3755 if (is_first_subdiv) {
3761 is_first_subdiv =
false;
3825 if (brush->gpencil_settings !=
NULL) {
3839 gps->hardeness = 1.0f;
3881 if (region !=
NULL) {
3898 if ((
data->flag & CONSTRAINT_SPLINEIK_SCALE_LIMITED) == 0) {
3909 fd->
filesdna,
"View3DOverlay",
"float",
"sculpt_mode_mask_opacity")) {
3938 pchan->scale_in_z = pchan->scale_in_x;
3939 pchan->scale_out_z = pchan->scale_out_x;
3955 if (sce->ed !=
NULL) {
3991 if (region !=
NULL) {
4022 light->sun_angle = 2.0f *
atanf(light->area_size);
4030 enum { IMA_IGNORE_ALPHA = (1 << 12) };
4031 if (
image->flag & IMA_IGNORE_ALPHA) {
4033 image->flag &= ~IMA_IGNORE_ALPHA;
4057 if (
STREQ(view_settings->
look,
"Filmic - Base Contrast")) {
4086 case FFM_PRESET_ULTRAFAST:
4087 case FFM_PRESET_SUPERFAST:
4090 case FFM_PRESET_VERYFAST:
4091 case FFM_PRESET_FASTER:
4092 case FFM_PRESET_FAST:
4093 case FFM_PRESET_MEDIUM:
4096 case FFM_PRESET_SLOW:
4097 case FFM_PRESET_SLOWER:
4098 case FFM_PRESET_VERYSLOW:
4165 if (br->ob_mode &
OB_MODE_SCULPT && br->normal_radius_factor == 0.0f) {
4166 br->normal_radius_factor = 0.5f;
4192 if (studio_light !=
NULL) {
4220 if (region_toolprops &&
4273 if (br->ob_mode &
OB_MODE_SCULPT && br->elastic_deform_volume_preservation == 0.0f) {
4274 br->elastic_deform_volume_preservation = 0.5f;
4287 fd->
filesdna,
"LayerCollection",
"short",
"local_collections_bits")) {
4305 if (sl != sl_other && sl_other->spacetype ==
SPACE_VIEW3D) {
4334 "versioning file tools region");
4344 if (br->ob_mode &
OB_MODE_SCULPT && br->area_radius_factor == 0.0f) {
4345 br->area_radius_factor = 0.5f;
4386 br->dash_ratio = 1.0f;
4387 br->dash_samples = 20;
4394 br->pose_smooth_iterations = 4;
4440 switch (sl->spacetype) {
4473 char *
src = view_settings->
look + strlen(
"Filmic - ");
4474 memmove(view_settings->
look,
src, strlen(
src) + 1);
4477 char *
src = view_settings->
look + strlen(
"Standard - ");
4478 memmove(view_settings->
look,
src, strlen(
src) + 1);
4504 tile->tile_number = 1001;
4525 br->add_col[3] = 0.9f;
4526 br->sub_col[3] = 0.9f;
4531 if (br->pose_ik_segments == 0) {
4532 br->pose_ik_segments = 1;
4547 br->tip_roundness = 0.18f;
4554 if (light->type ==
LA_SUN) {
4557 light->bias *= 0.002f;
4602 fd->
filesdna,
"View3DOverlay",
"float",
"gpencil_vertex_paint_opacity")) {
4622 if (brush->gpencil_settings !=
NULL) {
4623 brush->gpencil_vertex_tool = brush->gpencil_settings->brush_type;
4624 brush->gpencil_sculpt_tool = brush->gpencil_settings->brush_type;
4625 brush->gpencil_weight_tool = brush->gpencil_settings->brush_type;
4632 if (gp_style ==
NULL) {
4652 gp_style->
fill_rgba[3] *= gp_style->texture_opacity;
4718 if ((mmd->
offset[0] != 0.0f) || (mmd->
offset[1] != 0.0f) ||
4719 (mmd->
offset[2] != 0.0f)) {
4722 if ((mmd->
shift[0] != 0.0f) || (mmd->
shift[1] != 0.0f) || (mmd->
shift[2] != 0.0f)) {
4732 float factor = mmd->
factor / 25.0f;
4791 fd->
filesdna,
"ThickGpencilModifierData",
"float",
"thickness_fac")) {
4803 const short simple = (1 << 0);
4805 if (mmd->
flag & simple) {
4806 mmd->
flag &= ~simple;
4827 gpd->zdepth_offset = 0.150f;
4832 gpl->vertex_paint_opacity = 1.0f;
4837 gps->fill_opacity_fac = 1.0f;
4845 for (i = 0, pt = gps->points; i < gps->totpoints; i++, pt++) {
4857 fd->
filesdna,
"View3DOverlay",
"float",
"sculpt_mode_face_sets_opacity")) {
4881 fd->
filesdna,
"Brush",
"int",
"automasking_boundary_edges_propagation_steps")) {
4883 br->automasking_boundary_edges_propagation_steps = 1;
4901 if (me->totpoly > 0) {
4904 me->face_sets_color_default =
abs(face_sets[0]);
4926 wm->xr.session_settings.shading = v3d_default->
shading;
4929 wm->xr.session_settings.clip_start = v3d_default->
clip_start;
4930 wm->xr.session_settings.clip_end = v3d_default->
clip_end;
4953 for (
SpaceLink *sl =
area->spacedata.first; sl; sl = sl->next) {
4996 INVALID_RBC_TYPE_SLIDER = 2,
4997 INVALID_RBC_TYPE_6DOF_SPRING = 4,
4998 INVALID_RBC_TYPE_MOTOR = 7,
5000 switch (rbc->
type) {
5001 case INVALID_RBC_TYPE_SLIDER:
5004 case INVALID_RBC_TYPE_6DOF_SPRING:
5007 case INVALID_RBC_TYPE_MOTOR:
5040 if (br->cloth_mass == 0.0f) {
5041 br->cloth_mass = 1.0f;
5048 if (brush->gpencil_settings) {
5049 brush->rgb[0] = 0.498f;
5050 brush->rgb[1] = 1.0f;
5051 brush->rgb[2] = 0.498f;
5062 ob->pd->f_wind_factor = 1.0f;
5067 part->pd->f_wind_factor = 1.0f;
5070 part->pd2->f_wind_factor = 1.0f;
typedef float(TangentPoint)[2]
void BKE_fcurves_id_cb(struct ID *id, ID_FCurve_Edit_Callback func, void *user_data)
void BKE_animdata_main_cb(struct Main *bmain, ID_AnimData_Edit_Callback func, void *user_data)
struct Collection * BKE_collection_add(struct Main *bmain, struct Collection *parent, const char *name)
bool BKE_collection_object_remove(struct Main *bmain, struct Collection *collection, struct Object *object, bool free_us)
bool BKE_collection_object_add_notest(struct Main *bmain, struct Collection *collection, struct Object *ob)
struct Collection * BKE_collection_master_add(void)
void BKE_constraint_free_data(struct bConstraint *con)
struct CurveProfile * BKE_curveprofile_add(eCurveProfilePresets preset)
CustomData interface, see also DNA_customdata_types.h.
void CustomData_free_layers(struct CustomData *data, int type, int totelem)
void * CustomData_get_layer(const struct CustomData *data, int type)
void CustomData_update_typemap(struct CustomData *data)
struct FCurve * BKE_fcurve_copy(const struct FCurve *fcu)
#define DRIVER_TARGETS_LOOPER_BEGIN(dvar)
#define DRIVER_TARGETS_LOOPER_END
void BKE_freestyle_config_init(struct FreestyleConfig *config)
void BKE_freestyle_config_free(struct FreestyleConfig *config, bool do_id_user)
void BKE_gpencil_stroke_geometry_update(struct bGPdata *gpd, struct bGPDstroke *gps)
void IDP_FreeProperty(struct IDProperty *prop)
struct IDProperty * IDP_GetPropertyFromGroup(const struct IDProperty *prop, const char *name) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
int BKE_keyblock_curve_element_count(const struct ListBase *nurb)
void BKE_layer_collection_doversion_2_80(const struct Scene *scene, struct ViewLayer *view_layer)
struct ViewLayer * BKE_view_layer_default_view(const struct Scene *scene)
struct Base * BKE_view_layer_base_find(struct ViewLayer *view_layer, struct Object *ob)
struct LayerCollection * BKE_layer_collection_first_from_scene_collection(const struct ViewLayer *view_layer, const struct Collection *collection)
void BKE_layer_collection_sync(const struct Scene *scene, struct ViewLayer *view_layer)
struct ViewLayer * BKE_view_layer_add(struct Scene *scene, const char *name, struct ViewLayer *view_layer_source, int type)
void id_us_min(struct ID *id)
void id_fake_user_set(struct ID *id)
void BKE_main_id_repair_duplicate_names_listbase(struct Main *bmain, struct ListBase *lb)
#define FOREACH_MAIN_ID_END
#define MAIN_VERSION_ATLEAST(main, ver, subver)
#define FOREACH_MAIN_ID_BEGIN(_bmain, _id)
struct ListBase * which_libbase(struct Main *bmain, short type)
void BKE_mesh_tessface_clear(struct Mesh *mesh)
void BKE_mesh_calc_edges_loose(struct Mesh *mesh)
void BKE_mesh_update_customdata_pointers(struct Mesh *me, bool do_ensure_tess_cd)
void BKE_mesh_do_versions_convert_mfaces_to_mpolys(struct Mesh *mesh)
struct bNodeTree * ntreeFromID(struct ID *id)
#define SH_NODE_BSDF_PRINCIPLED
#define SH_NODE_ADD_SHADER
#define CMP_NODE_HUECORRECT
void nodeRemLink(struct bNodeTree *ntree, struct bNodeLink *link)
#define SH_NODE_BSDF_TRANSPARENT
#define SH_NODE_SHADERTORGB
#define SH_NODE_OUTPUT_MATERIAL
#define FOREACH_NODETREE_END
struct bNodeLink * nodeAddLink(struct bNodeTree *ntree, struct bNode *fromnode, struct bNodeSocket *fromsock, struct bNode *tonode, struct bNodeSocket *tosock)
#define CMP_NODE_CURVE_RGB
struct bNodeSocket * nodeFindSocket(const struct bNode *node, eNodeSocketInOut in_out, const char *identifier)
#define SH_NODE_CURVE_RGB
#define FOREACH_NODETREE_BEGIN(bmain, _nodetree, _id)
#define TEX_NODE_CURVE_TIME
struct bNode * nodeAddStaticNode(const struct bContext *C, struct bNodeTree *ntree, int type)
#define CMP_NODE_CURVE_VEC
#define TEX_NODE_CURVE_RGB
void BKE_paint_brush_set(struct Paint *paint, struct Brush *br)
bool BKE_paint_ensure_from_paintmode(struct Scene *sce, ePaintMode mode)
@ PAINT_MODE_VERTEX_GPENCIL
@ PAINT_MODE_WEIGHT_GPENCIL
@ PAINT_MODE_SCULPT_GPENCIL
void BKE_paint_toolslots_init_from_main(struct Main *bmain)
struct PointCache * BKE_ptcache_add(struct ListBase *ptcaches)
void BKE_report(ReportList *reports, eReportType type, const char *message)
API for Blender-side Rigid Body stuff.
void BKE_rigidbody_constraints_collection_validate(struct Scene *scene, struct RigidBodyWorld *rbw)
void BKE_rigidbody_objects_collection_validate(struct Main *bmain, struct Scene *scene, struct RigidBodyWorld *rbw)
struct ARegion * BKE_spacedata_find_region_type(const struct SpaceLink *slink, const struct ScrArea *area, int region_type) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BKE_screen_area_free(struct ScrArea *area)
struct ARegion * BKE_area_find_region_type(const struct ScrArea *area, int type)
void BKE_screen_remove_double_scredges(struct bScreen *screen)
void BKE_screen_view3d_shading_init(struct View3DShading *shading)
void BKE_screen_remove_unused_scrverts(struct bScreen *screen)
void BKE_screen_remove_unused_scredges(struct bScreen *screen)
void BKE_area_region_free(struct SpaceType *st, struct ARegion *region)
struct SpaceType * BKE_spacetype_from_id(int spaceid)
@ STUDIOLIGHT_TYPE_MATCAP
struct StudioLight * BKE_studiolight_find(const char *name, int flag)
struct StudioLight * BKE_studiolight_find_default(int flag)
int BKE_unit_base_of_type_get(int system, int type)
struct WorkSpaceLayout * BKE_workspace_layout_add(struct Main *bmain, struct WorkSpace *workspace, struct bScreen *screen, const char *name) ATTR_NONNULL()
void BKE_workspace_tool_remove(struct WorkSpace *workspace, struct bToolRef *tref) ATTR_NONNULL(1
struct WorkSpace * BKE_workspace_add(struct Main *bmain, const char *name)
struct bScreen * BKE_workspace_active_screen_get(const struct WorkSpaceInstanceHook *hook) GETTER_ATTRS
void BKE_workspace_active_layout_set(struct WorkSpaceInstanceHook *hook, int winid, struct WorkSpace *workspace, struct WorkSpaceLayout *layout) SETTER_ATTRS
Activate a layout.
struct WorkSpaceInstanceHook * BKE_workspace_instance_hook_create(const struct Main *bmain, int winid)
void BKE_workspace_active_set(struct WorkSpaceInstanceHook *hook, struct WorkSpace *workspace) SETTER_ATTRS
struct WorkSpaceLayout * BKE_workspace_layout_find(const struct WorkSpace *workspace, const struct bScreen *screen) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
#define BLI_assert_msg(a, msg)
bool BLI_gset_haskey(const GSet *gs, const void *key) ATTR_WARN_UNUSED_RESULT
unsigned int BLI_ghashutil_ptrhash(const void *key)
GHash * BLI_ghash_new(GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
GSet * BLI_gset_new(GSetHashFP hashfp, GSetCmpFP cmpfp, const char *info) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
void BLI_gset_insert(GSet *gs, void *key)
void * BLI_ghash_lookup(const GHash *gh, const void *key) ATTR_WARN_UNUSED_RESULT
bool BLI_ghashutil_ptrcmp(const void *a, const void *b)
void BLI_ghash_insert(GHash *gh, void *key, void *val)
void BLI_ghash_free(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
void BLI_gset_free(GSet *gs, GSetKeyFreeFP keyfreefp)
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
void BLI_addhead(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
#define LISTBASE_FOREACH(type, var, list)
void BLI_freelinkN(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
#define LISTBASE_FOREACH_MUTABLE(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)
int BLI_listbase_count_at_most(const struct ListBase *listbase, int count_max) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
void void BLI_INLINE bool BLI_listbase_is_single(const struct ListBase *lb)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_insertlinkbefore(struct ListBase *listbase, void *vnextlink, void *vnewlink) ATTR_NONNULL(1)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void * BLI_findstring(const struct ListBase *listbase, const char *id, int offset) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE int min_ii(int a, int b)
MINLINE void srgb_to_linearrgb_v3_v3(float linear[3], const float srgb[3])
MINLINE void srgb_to_linearrgb_v4(float linear[4], const float srgb[4])
MINLINE void copy_v4_v4(float r[4], const float a[4])
MINLINE void copy_v2_v2(float r[2], const float a[2])
MINLINE void mul_v3_fl(float r[3], float f)
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 void copy_v3_fl(float r[3], float f)
MINLINE void copy_v2_fl(float r[2], float f)
BLI_mempool * BLI_mempool_create(unsigned int esize, unsigned int elem_num, unsigned int pchunk, unsigned int flag) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT ATTR_RETURNS_NONNULL
void * BLI_mempool_calloc(BLI_mempool *pool) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT ATTR_RETURNS_NONNULL ATTR_NONNULL(1)
bool BLI_str_startswith(const char *__restrict str, const char *__restrict start) ATTR_NONNULL()
#define STRNCPY(dst, src)
char * BLI_strdupn(const char *str, size_t len) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
char * BLI_strdupcat(const char *__restrict str1, const char *__restrict str2) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL() ATTR_MALLOC
bool BLI_str_endswith(const char *__restrict str, const char *__restrict end) ATTR_NONNULL()
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
#define ARRAY_SET_ITEMS(...)
#define SET_FLAG_FROM_TEST(value, test, flag)
external readfile function prototypes.
struct BlendHandle BlendHandle
#define BLO_read_assert_message(_check_expr, _ret_value, _bh, _bmain, _message)
#define ID_IS_LINKED(_id)
@ ADS_FLAG_SUMMARY_COLLAPSED
@ SACTION_SHOW_INTERPOLATION
@ BONE_INHERIT_SCALE_NONE_LEGACY
@ SCULPT_TOOL_CLAY_STRIPS
@ BRUSH_USE_CONNECTED_ONLY
@ CLOTH_COLLSETTINGS_FLAG_ENABLED
@ CLOTH_COLLSETTINGS_FLAG_SELF
@ CLOTH_SIMSETTINGS_FLAG_GOAL
@ CLOTH_SIMSETTINGS_FLAG_SCALING
@ CLOTH_SIMSETTINGS_FLAG_SEW
Object groups, one object can be in many groups at once.
@ COLLECTION_HIDE_VIEWPORT
@ CUMA_EXTEND_EXTRAPOLATE
@ CONSTRAINT_TYPE_ROTLIKE
@ CONSTRAINT_TYPE_SPLINEIK
@ CONSTRAINT_TYPE_SIZELIKE
@ CONSTRAINT_TYPE_SAMEVOL
@ CONSTRAINT_TYPE_TRANSFORM_CACHE
@ CONSTRAINT_SPLINEIK_YS_FIT_CURVE
#define DNA_struct_default_get(struct_name)
blenloader genfile private function prototypes
bool DNA_struct_find(const struct SDNA *sdna, const char *stype)
bool DNA_struct_elem_find(const struct SDNA *sdna, const char *stype, const char *vartype, const char *name)
@ eGpencilModifierType_Array
@ eGpencilModifierType_Noise
@ eGpencilModifierType_Color
@ eGpencilModifierType_Multiply
@ eGpencilModifierType_Subdiv
@ eGpencilModifierType_Opacity
@ eGpencilModifierType_Hook
@ eGpencilModifierType_Smooth
@ eGpencilModifierType_Tint
@ eGpencilModifierType_Thick
#define GP_DEFAULT_PIX_FACTOR
#define GP_DEFAULT_GRID_LINES
@ LAYER_COLLECTION_EXCLUDE
@ LAYER_COLLECTION_INDIRECT_ONLY
@ LAYER_COLLECTION_HOLDOUT
#define LS_MODIFIER_DISTANCE_FROM_CAMERA
#define LS_MODIFIER_TANGENT
#define LS_MODIFIER_CREASE_ANGLE
#define LS_MODIFIER_DISTANCE_FROM_OBJECT
#define LS_MODIFIER_NOISE
#define LS_MODIFIER_ALONG_STROKE
#define LS_MODIFIER_CURVATURE_3D
#define LS_MODIFIER_MATERIAL
@ GP_MATERIAL_FILL_STYLE_GRADIENT
@ GP_MATERIAL_FILL_STYLE_TEXTURE
@ GP_MATERIAL_FILL_STYLE_CHECKER
@ GP_MATERIAL_FILL_STYLE_SOLID
@ GP_MATERIAL_STROKE_PATTERN
@ GP_MATERIAL_STROKE_TEX_MIX
@ GP_MATERIAL_STROKE_SHOW
@ ME_REMESH_REPROJECT_VERTEX_COLORS
@ eMultiresModifierFlag_PlainUv_DEPRECATED
@ eMultiresModifierFlag_UseCrease
@ MOD_SHRINKWRAP_ABOVE_SURFACE
@ eModifierType_ParticleSystem
@ eModifierType_Shrinkwrap
@ eModifierType_DataTransfer
@ eModifierType_SurfaceDeform
@ eModifierType_CorrectiveSmooth
@ eModifierType_WeightVGEdit
@ eModifierType_Triangulate
@ eSubsurfModifierFlag_SubsurfUv_DEPRECATED
@ eSubsurfModifierFlag_UseCrease
@ SUBSURF_UV_SMOOTH_PRESERVE_CORNERS
#define SHD_GLOSSY_MULTI_GGX
Object is a sort of wrapper for general info.
@ OB_TRANSFORM_ADJUST_ROOT_PARENT_FOR_VIEW_LOCK
@ OB_EMPTY_IMAGE_HIDE_ORTHOGRAPHIC
@ OB_EMPTY_IMAGE_HIDE_BACK
@ OB_EMPTY_IMAGE_HIDE_PERSPECTIVE
Types and defines for representing Rigid Body entities.
#define R_SCEMODE_UNUSED_19
@ UNIFIED_PAINT_FLAG_UNUSED_0
@ UNIFIED_PAINT_FLAG_UNUSED_1
#define R_SCEMODE_UNUSED_11
#define R_SCEMODE_UNUSED_17
#define R_SCEMODE_UNUSED_8
#define R_SCEMODE_UNUSED_13
@ SCE_EEVEE_SHADOW_HIGH_BITDEPTH
@ SCE_EEVEE_VOLUMETRIC_SHADOWS
@ SCE_EEVEE_MOTION_BLUR_ENABLED
@ SCE_EEVEE_SSR_REFRACTION
@ SCE_EEVEE_BLOOM_ENABLED
@ SCE_EEVEE_SSR_HALF_RESOLUTION
@ SCE_EEVEE_TAA_REPROJECTION
@ SCE_EEVEE_GTAO_BENT_NORMALS
@ SCE_EEVEE_VOLUMETRIC_LIGHTS
@ SCE_DISPLAY_AA_SAMPLES_8
#define R_SCEMODE_UNUSED_16
@ SCE_SNAP_TRANSFORM_MODE_TRANSLATE
#define USER_UNIT_ADAPTIVE
@ R_COLOR_MANAGEMENT_UNUSED_1
@ RGN_FLAG_HIDDEN_BY_USER
@ seqModifierType_HueCorrect
#define SEQ_SPEED_UNUSED_1
@ SEQ_CACHE_STORE_FINAL_OUT
@ SEQ_CACHE_VIEW_FINAL_OUT
@ eShaderFxColorizeMode_GrayScale
@ eShaderFxColorizeMode_Sepia
@ SEQ_TIMELINE_SHOW_FCURVES
@ SO_FILTER_OB_STATE_SELECTABLE
@ FILE_PARAMS_FLAG_UNUSED_3
@ FILE_PARAMS_FLAG_UNUSED_1
@ FILE_PARAMS_FLAG_UNUSED_2
@ V3D_OFSDRAW_SHOW_GRIDFLOOR
@ V3D_OFSDRAW_SHOW_ANNOTATION
@ V3D_SHADING_TEXTURE_COLOR
@ V3D_SHADING_MATERIAL_COLOR
@ V3D_SHADING_SINGLE_COLOR
@ V3D_AROUND_CENTER_MEDIAN
#define V3D_FLAG_UNUSED_1
@ V3D_GIZMO_SHOW_EMPTY_FORCE_FIELD
@ V3D_GIZMO_SHOW_EMPTY_IMAGE
@ V3D_GIZMO_SHOW_LIGHT_LOOK_AT
@ V3D_GIZMO_SHOW_LIGHT_SIZE
#define V3D_FLAG_UNUSED_10
#define V3D_SHOW_ORTHO_GRID
#define V3D_FLAG2_UNUSED_13
#define V3D_FLAG2_UNUSED_3
#define V3D_FLAG2_UNUSED_6
@ V3D_GIZMO_SHOW_ARMATURE_BBONE
@ V3D_GIZMO_SHOW_ARMATURE_ROLL
@ V3D_GIZMO_SHOW_CAMERA_DOF_DIST
@ V3D_GIZMO_SHOW_CAMERA_LENS
@ V3D_SHADING_SCENE_WORLD_RENDER
@ V3D_SHADING_SPECULAR_HIGHLIGHT
@ V3D_SHADING_WORLD_ORIENTATION
@ V3D_SHADING_OBJECT_OUTLINE
@ V3D_SHADING_SCENE_LIGHTS_RENDER
@ V3D_SHADING_XRAY_WIREFRAME
@ V3D_SHADING_BACKFACE_CULLING
#define V3D_FLAG2_UNUSED_14
@ V3D_OVERLAY_EDIT_FREESTYLE_FACE
@ V3D_OVERLAY_EDIT_CREASES
@ V3D_OVERLAY_EDIT_FREESTYLE_EDGE
@ V3D_OVERLAY_EDIT_OCCLUDE_WIRE
@ V3D_OVERLAY_EDIT_BWEIGHTS
#define V3D_GP_SHOW_EDIT_LINES
#define V3D_FLAG2_UNUSED_15
#define V3D_LOCAL_COLLECTIONS
#define V3D_FLAG2_UNUSED_12
#define V3D_FLAG_UNUSED_12
#define WM_OUTLINER_SYNC_SELECT_FROM_ALL
@ XR_SESSION_USE_POSITION_TRACKING
Read Guarded memory(de)allocation.
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert a producing a negative Combine Generate a color from its and blue Hue Saturation Apply a color transformation in the HSV color model SH_NODE_EEVEE_SPECULAR
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color SH_NODE_CURVE_VEC
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to curves
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 Image Sample an image file as a texture Sky Generate a procedural sky texture Noise Generate fractal Perlin noise Wave Generate procedural bands or rings with noise Voronoi Generate Worley noise based on the distance to random points Typically used to generate textures such as or biological cells Brick Generate a procedural texture producing bricks Texture Retrieve multiple types of texture coordinates nTypically used as inputs for texture nodes Vector Convert a or normal between camera
__forceinline const avxi srl(const avxi &a, const int32_t b)
FreestyleLineStyle linestyle
DEGForeachIDComponentCallback callback
SyclQueue void void * src
depth_tx normal_tx diffuse_light_tx specular_light_tx volume_light_tx environment_tx ambient_occlusion_tx aov_value_tx in_weight_img image(1, GPU_R32F, Qualifier::WRITE, ImageType::FLOAT_2D_ARRAY, "out_weight_img") .image(3
bNodeSocketValueRGBA * color_socket
void SEQ_for_each_callback(ListBase *seqbase, SeqForEachFunc callback, void *user_data)
ccl_global const KernelWorkTile * tile
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
static void error(const char *str)
static void area(int d1, int d2, int e1, int e2, float weights[2])
const char * RE_engine_id_BLENDER_WORKBENCH
const char * RE_engine_id_BLENDER_EEVEE
const SequenceModifierTypeInfo * SEQ_modifier_type_info_get(int type)
struct ImageFormatData im_format
struct CurveProfile * custom_profile
struct ReportList * reports
struct BrushGpencilSettings * gpencil_settings
struct CameraDOFSettings dof
struct ClothSimSettings * sim_parms
struct ClothCollSettings * coll_parms
float max_internal_tension
float max_internal_compression
float internal_spring_max_diversion
float internal_compression
struct CurveMapping * curve_intensity
struct CurveMapping * curve_mapping
struct CurveMapping curve_mapping
struct BlendFileReadReport * reports
struct FluidDomainSettings * domain
ListBase thickness_modifiers
struct CurveMapping * custom_ipo
struct CurveMapping * cur_primitive
struct CurveMapping * cur_falloff
struct CurveMapping * curfalloff
struct CurveMapping * curfalloff
struct CurveMapping curve_mapping
struct LayerCollection * next
ListBase layer_collections
unsigned short local_collections_bits
struct Collection * collection
char is_locked_for_linking
struct MaterialGPencilStyle * gp_style
struct ModifierData * next
struct CurveMapping * curve_intensity
struct CurveMapping * curve_intensity
struct CurveMapping * cavity_curve
struct ParticleSystem * psys
struct ClothModifierData * clmd
struct CurveMapping mblur_shutter_curve
struct ImageFormatData im_format
struct FFMpegCodecData ffcodecdata
struct PointCache * pointcache
struct RigidBodyWorld_Shared * shared
ListBase scene_collections
struct SceneCollection * next
float matcap_ssao_distance
float matcap_ssao_attenuation
float volumetric_light_clamp
float motion_blur_shutter
float gi_irradiance_smoothing
float sss_jitter_threshold
float volumetric_sample_distribution
int gi_visibility_resolution
float gi_irradiance_draw_size
float gi_cubemap_draw_size
int volumetric_shadow_samples
int gi_cubemap_resolution
struct Collection * master_collection
struct RigidBodyWorld * rigidbody_world
IDProperty * layer_properties
struct SceneDisplay display
struct SceneGpencil grease_pencil_settings
struct ToolSettings * toolsettings
ColorManagedViewSettings view_settings
TransformOrientationSlot orientation_slots[4]
struct CurveMapping * curve_intensity
struct PointCache * pointcache
struct SoftBody_Shared * shared
FileSelectParams * params
struct BLI_mempool * treestore
struct SpaceLink *(* create)(const struct ScrArea *area, const struct Scene *scene)
struct CurveMapping * curve_thickness
struct CurveMapping * curve_intensity
float rotation_quaternion[4]
float sculpt_mode_mask_opacity
float gpencil_grid_opacity
float sculpt_mode_face_sets_opacity
float gpencil_paper_opacity
float texture_paint_mode_opacity
float wireframe_threshold
float vertex_paint_mode_opacity
float gpencil_vertex_paint_opacity
float weight_paint_mode_opacity
float curvature_ridge_factor
float background_color[3]
float cavity_ridge_factor
float cavity_valley_factor
float curvature_valley_factor
float studiolight_intensity
struct FreestyleConfig freestyle_config
struct IDProperty * id_properties
ListBase layer_collections
float pass_alpha_threshold
struct Material * mat_override
struct CurveMapping * curfalloff
struct CurveMapping * cmap_curve
struct bConstraint * next
static int blend(const Tex *tex, const float texvec[3], TexResult *texres)
static bNode * add_node(const bContext *C, bNodeTree *ntree, const int type, const float locx, const float locy)
void SEQ_sequence_base_unique_name_recursive(struct Scene *scene, ListBase *seqbasep, Sequence *seq)
static ARegion * do_versions_find_region(ListBase *regionbase, int regiontype)
static void do_version_collection_propagate_lib_to_children(Collection *collection)
static void do_version_fcurve_hide_viewport_fix(struct ID *UNUSED(id), struct FCurve *fcu, void *UNUSED(user_data))
#define PAINT_BLEND_DIFFERENCE
#define PAINT_BLEND_EXCLUSION
static void do_versions_material_convert_legacy_blend_mode(bNodeTree *ntree, char blend_method)
#define PAINT_BLEND_COLORDODGE
static void do_version_layers_to_collections(Main *bmain, Scene *scene)
static void do_versions_area_ensure_tool_region(Main *bmain, const short space_type, const short region_flag)
#define PAINT_BLEND_SATURATION
#define EEVEE_GET_FLOAT(_props, _name)
static void do_version_curvemapping_walker(Main *bmain, void(*callback)(CurveMapping *cumap))
static void do_versions_remove_region(ListBase *regionbase, ARegion *region)
static void do_version_bbone_scale_animdata_cb(ID *UNUSED(id), AnimData *adt, void *UNUSED(wrapper_data))
#define PAINT_BLEND_LUMINOSITY
static void do_versions_remove_regions_by_type(ListBase *regionbase, int regiontype)
static bool replace_bbone_scale_rnapath(char **p_old_path)
static bScreen * screen_parent_find(const bScreen *screen)
#define PAINT_BLEND_HARDLIGHT
#define PAINT_BLEND_AVERAGE
#define EEVEE_GET_BOOL(_props, _name, _flag)
static void do_version_bbone_scale_fcurve_fix(ListBase *curves, FCurve *fcu)
#define EEVEE_GET_INT(_props, _name)
#define PAINT_BLEND_ALPHA_ADD
static void do_version_curvemapping_flag_extend_extrapolate(CurveMapping *cumap)
static void do_version_constraints_copy_rotation_mix_mode(ListBase *lb)
static void do_version_workspaces_after_lib_link(Main *bmain)
After lib-link versioning for new workspace design.
void do_versions_after_linking_280(FileData *fd, Main *bmain)
#define PAINT_BLEND_OVERLAY
#define PAINT_BLEND_ALPHA_SUB
#define CUMA_EXTEND_EXTRAPOLATE_OLD
#define PAINT_BLEND_SOFTLIGHT
#define PAINT_BLEND_SMEAR
#define PAINT_BLEND_SCREEN
static void do_version_workspaces_create_from_screens(Main *bmain)
#define PAINT_BLEND_LIGHTEN
void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
static void do_version_area_change_space_to_space_action(ScrArea *area, const Scene *scene)
static void do_versions_seq_set_cache_defaults(Editing *ed)
static ARegion * do_versions_find_region_or_null(ListBase *regionbase, int regiontype)
#define EEVEE_GET_FLOAT_ARRAY(_props, _name, _length)
static void do_version_constraints_maintain_volume_mode_uniform(ListBase *lb)
static void do_versions_seq_alloc_transform_and_crop(ListBase *seqbase)
#define PAINT_BLEND_DARKEN
static void do_versions_seq_unique_name_all_strips(Scene *sce, ListBase *seqbasep)
static void do_versions_local_collection_bits_set(LayerCollection *layer_collection)
static void do_version_bones_inherit_scale(ListBase *lb)
static bool seq_update_flags_cb(Sequence *seq, void *UNUSED(user_data))
static void do_version_constraints_copy_scale_power(ListBase *lb)
static void do_versions_fix_annotations(bGPdata *gpd)
static void do_version_bones_split_bbone_scale(ListBase *lb)
ID * do_versions_rename_id(Main *bmain, const short id_type, const char *name_src, const char *name_dst)
ARegion * do_versions_add_region(int regiontype, const char *name)
void version_socket_update_is_used(bNodeTree *ntree)