59# include <libavcodec/avcodec.h>
60# include <libavformat/avformat.h>
85 {0,
nullptr, 0,
nullptr,
nullptr},
94 {0,
nullptr, 0,
nullptr,
nullptr},
98 {
PROP_SMOOTH,
"SMOOTH", ICON_SMOOTHCURVE,
"Smooth",
"Smooth falloff"},
99 {
PROP_SPHERE,
"SPHERE", ICON_SPHERECURVE,
"Sphere",
"Spherical falloff"},
100 {
PROP_ROOT,
"ROOT", ICON_ROOTCURVE,
"Root",
"Root falloff"},
103 ICON_INVERSESQUARECURVE,
105 "Inverse Square falloff"},
106 {
PROP_SHARP,
"SHARP", ICON_SHARPCURVE,
"Sharp",
"Sharp falloff"},
107 {
PROP_LIN,
"LINEAR", ICON_LINCURVE,
"Linear",
"Linear falloff"},
108 {
PROP_CONST,
"CONSTANT", ICON_NOCURVE,
"Constant",
"Constant falloff"},
109 {
PROP_RANDOM,
"RANDOM", ICON_RNDCURVE,
"Random",
"Random falloff"},
110 {0,
nullptr, 0,
nullptr,
nullptr},
115 {
PROP_SMOOTH,
"SMOOTH", ICON_SMOOTHCURVE,
"Smooth",
"Smooth falloff"},
116 {
PROP_SPHERE,
"SPHERE", ICON_SPHERECURVE,
"Sphere",
"Spherical falloff"},
117 {
PROP_ROOT,
"ROOT", ICON_ROOTCURVE,
"Root",
"Root falloff"},
118 {
PROP_INVSQUARE,
"INVERSE_SQUARE", ICON_ROOTCURVE,
"Inverse Square",
"Inverse Square falloff"},
119 {
PROP_SHARP,
"SHARP", ICON_SHARPCURVE,
"Sharp",
"Sharp falloff"},
120 {
PROP_LIN,
"LINEAR", ICON_LINCURVE,
"Linear",
"Linear falloff"},
121 {0,
nullptr, 0,
nullptr,
nullptr},
128 {
SCE_SELECT_EDGE,
"EDGE", ICON_EDGESEL,
"Edge",
"Edge selection mode"},
129 {
SCE_SELECT_FACE,
"FACE", ICON_FACESEL,
"Face",
"Face selection mode"},
130 {0,
nullptr, 0,
nullptr,
nullptr},
134 {
UV_SELECT_VERTEX,
"VERTEX", ICON_UV_VERTEXSEL,
"Vertex",
"Vertex selection mode"},
135 {
UV_SELECT_EDGE,
"EDGE", ICON_UV_EDGESEL,
"Edge",
"Edge selection mode"},
136 {
UV_SELECT_FACE,
"FACE", ICON_UV_FACESEL,
"Face",
"Face selection mode"},
137 {
UV_SELECT_ISLAND,
"ISLAND", ICON_UV_ISLANDSEL,
"Island",
"Island selection mode"},
138 {0,
nullptr, 0,
nullptr,
nullptr},
142#define RNA_SNAP_ELEMENTS_BASE \
143 {SCE_SNAP_TO_INCREMENT, "INCREMENT", ICON_SNAP_INCREMENT, "Increment", "Snap to increments"}, \
144 {SCE_SNAP_TO_GRID, "GRID", ICON_SNAP_GRID, "Grid", "Snap to grid"}, \
145 {SCE_SNAP_TO_VERTEX, "VERTEX", ICON_SNAP_VERTEX, "Vertex", "Snap to vertices"}, \
146 {SCE_SNAP_TO_EDGE, "EDGE", ICON_SNAP_EDGE, "Edge", "Snap to edges"}, \
147 {SCE_SNAP_TO_FACE, "FACE", ICON_SNAP_FACE, "Face", "Snap by projecting onto faces"}, \
148 {SCE_SNAP_TO_VOLUME, "VOLUME", ICON_SNAP_VOLUME, "Volume", "Snap to volume"}, \
149 {SCE_SNAP_TO_EDGE_MIDPOINT, "EDGE_MIDPOINT", ICON_SNAP_MIDPOINT, "Edge Center", "Snap to the middle of edges"}, \
150 {SCE_SNAP_TO_EDGE_PERPENDICULAR, "EDGE_PERPENDICULAR", ICON_SNAP_PERPENDICULAR, "Edge Perpendicular", "Snap to the nearest point on an edge"}
159 "Snap by projecting onto faces"},
162 ICON_SNAP_FACE_NEAREST,
164 "Snap to nearest point on faces"},
165 {0,
nullptr, 0,
nullptr,
nullptr},
170 {0,
nullptr, 0,
nullptr,
nullptr},
181 {
SCE_SNAP_TO_NODE_X,
"NODE_X", ICON_NODE_SIDE,
"Node X",
"Snap to left/right node border"},
182 {
SCE_SNAP_TO_NODE_Y,
"NODE_Y", ICON_NODE_TOP,
"Node Y",
"Snap to top/bottom node border"},
187 "Snap to any node border"},
188 {0,
nullptr, 0,
nullptr,
nullptr},
195 {0,
nullptr, 0,
nullptr,
nullptr},
204 "Snap to increments of grid"},
207 {0,
nullptr, 0,
nullptr,
nullptr},
215 "Scene will be rendering without any anti-aliasing"},
219 "Single Pass Anti-Aliasing",
220 "Scene will be rendered using a single pass anti-aliasing method (FXAA)"},
225 "Scene will be rendered using 5 anti-aliasing samples"},
230 "Scene will be rendered using 8 anti-aliasing samples"},
235 "Scene will be rendered using 11 anti-aliasing samples"},
240 "Scene will be rendered using 16 anti-aliasing samples"},
245 "Scene will be rendered using 32 anti-aliasing samples"},
246 {0,
nullptr, 0,
nullptr,
nullptr},
255 "Incrementally refit the curve (high quality)"},
260 "Split the curve until the tolerance is met (fast)"},
261 {0,
nullptr, 0,
nullptr,
nullptr},
268#define R_IMF_ENUM_BMP \
269 {R_IMF_IMTYPE_BMP, "BMP", ICON_FILE_IMAGE, "BMP", "Output image in bitmap format"},
270#define R_IMF_ENUM_IRIS \
271 {R_IMF_IMTYPE_IRIS, "IRIS", ICON_FILE_IMAGE, "Iris", "Output image in SGI IRIS format"},
272#define R_IMF_ENUM_PNG \
273 {R_IMF_IMTYPE_PNG, "PNG", ICON_FILE_IMAGE, "PNG", "Output image in PNG format"},
274#define R_IMF_ENUM_JPEG \
275 {R_IMF_IMTYPE_JPEG90, "JPEG", ICON_FILE_IMAGE, "JPEG", "Output image in JPEG format"},
276#define R_IMF_ENUM_TAGA \
277 {R_IMF_IMTYPE_TARGA, "TARGA", ICON_FILE_IMAGE, "Targa", "Output image in Targa format"},
278#define R_IMF_ENUM_TAGA_RAW \
279 {R_IMF_IMTYPE_RAWTGA, \
283 "Output image in uncompressed Targa format"},
286# define R_IMF_ENUM_DDS \
287 {R_IMF_IMTYPE_DDS, "DDS", ICON_FILE_IMAGE, "DDS", "Output image in DDS format"},
291# define R_IMF_ENUM_JPEG2K \
296 "Output image in JPEG 2000 format"},
298# define R_IMF_ENUM_JPEG2K
302# define R_IMF_ENUM_CINEON \
303 {R_IMF_IMTYPE_CINEON, "CINEON", ICON_FILE_IMAGE, "Cineon", "Output image in Cineon format"},
304# define R_IMF_ENUM_DPX \
305 {R_IMF_IMTYPE_DPX, "DPX", ICON_FILE_IMAGE, "DPX", "Output image in DPX format"},
307# define R_IMF_ENUM_CINEON
308# define R_IMF_ENUM_DPX
312# define R_IMF_ENUM_EXR_MULTILAYER \
313 {R_IMF_IMTYPE_MULTILAYER, \
314 "OPEN_EXR_MULTILAYER", \
316 "OpenEXR MultiLayer", \
317 "Output image in multilayer OpenEXR format"},
318# define R_IMF_ENUM_EXR \
319 {R_IMF_IMTYPE_OPENEXR, \
323 "Output image in OpenEXR format"},
325# define R_IMF_ENUM_EXR_MULTILAYER
326# define R_IMF_ENUM_EXR
329#define R_IMF_ENUM_HDR \
330 {R_IMF_IMTYPE_RADHDR, \
334 "Output image in Radiance HDR format"},
336#define R_IMF_ENUM_TIFF \
337 {R_IMF_IMTYPE_TIFF, "TIFF", ICON_FILE_IMAGE, "TIFF", "Output image in TIFF format"},
340# define R_IMF_ENUM_WEBP \
341 {R_IMF_IMTYPE_WEBP, "WEBP", ICON_FILE_IMAGE, "WebP", "Output image in WebP format"},
343# define R_IMF_ENUM_WEBP
346#define IMAGE_TYPE_ITEMS_IMAGE_ONLY \
354 R_IMF_ENUM_TAGA_RAW \
355 RNA_ENUM_ITEM_SEPR_COLUMN, R_IMF_ENUM_CINEON R_IMF_ENUM_DPX R_IMF_ENUM_EXR_MULTILAYER \
356 R_IMF_ENUM_EXR R_IMF_ENUM_HDR R_IMF_ENUM_TIFF R_IMF_ENUM_WEBP
363 {0,
nullptr, 0,
nullptr,
nullptr},
376 {0,
nullptr, 0,
nullptr,
nullptr},
384 "Images get saved in 8-bit grayscale (only PNG, JPEG, TGA, TIF)"},
385 {
R_IMF_PLANES_RGB,
"RGB", 0,
"RGB",
"Images are saved with RGB (color) data"},
390 "Images are saved with RGB and Alpha data (if supported)"},
391 {0,
nullptr, 0,
nullptr,
nullptr},
395# define IMAGE_COLOR_MODE_BW rna_enum_image_color_mode_items[0]
396# define IMAGE_COLOR_MODE_RGB rna_enum_image_color_mode_items[1]
397# define IMAGE_COLOR_MODE_RGBA rna_enum_image_color_mode_items[2]
408 {0,
nullptr, 0,
nullptr,
nullptr},
414 {0,
nullptr, 0,
nullptr,
nullptr},
424 {0,
nullptr, 0,
nullptr,
nullptr},
432 "Use pixels from adjacent faces across UV seams"},
433 {
R_BAKE_EXTEND,
"EXTEND", 0,
"Extend",
"Extend border pixels outwards"},
434 {0,
nullptr, 0,
nullptr,
nullptr},
442 "Bake to image data-blocks associated with active image texture nodes in materials"},
446 "Active Color Attribute",
447 "Bake to the active color attribute on meshes"},
448 {0,
nullptr, 0,
nullptr,
nullptr},
456 "Save the baking map in an internal image data-block"},
458 {0,
nullptr, 0,
nullptr,
nullptr},
466 "Cast rays from above the surface"},
471 "Use the active camera's position to cast rays"},
472 {0,
nullptr, 0,
nullptr,
nullptr},
475#define R_IMF_VIEWS_ENUM_IND \
476 {R_IMF_VIEWS_INDIVIDUAL, \
480 "Individual files for each view with the prefix as defined by the scene views"},
481#define R_IMF_VIEWS_ENUM_S3D \
482 {R_IMF_VIEWS_STEREO_3D, "STEREO_3D", 0, "Stereo 3D", "Single file with an encoded stereo pair"},
483#define R_IMF_VIEWS_ENUM_MV \
484 {R_IMF_VIEWS_MULTIVIEW, "MULTIVIEW", 0, "Multi-View", "Single file with all the views"},
498#undef R_IMF_VIEWS_ENUM_IND
499#undef R_IMF_VIEWS_ENUM_S3D
500#undef R_IMF_VIEWS_ENUM_MV
507 "Render views for left and right eyes as two differently filtered colors in a single image "
508 "(anaglyph glasses are required)"},
513 "Render views for left and right eyes interlaced in a single image (3D-ready monitor is "
519 "Render alternate eyes (also known as page flip, quad buffer support in the graphic card is "
525 "Render views for left and right eyes side-by-side"},
530 "Render views for left and right eyes one above another"},
531 {0,
nullptr, 0,
nullptr,
nullptr},
538 {0,
nullptr, 0,
nullptr,
nullptr},
545 {0,
nullptr, 0,
nullptr,
nullptr},
557 {0,
nullptr, 0,
nullptr,
nullptr},
563 {0,
nullptr, 0,
nullptr,
nullptr},
568 "BOUNDING_BOX_CENTER",
570 "Bounding Box Center",
571 "Pivot around bounding box center of selected object(s)"},
572 {
V3D_AROUND_CURSOR,
"CURSOR", ICON_PIVOT_CURSOR,
"3D Cursor",
"Pivot around the 3D cursor"},
574 "INDIVIDUAL_ORIGINS",
575 ICON_PIVOT_INDIVIDUAL,
576 "Individual Origins",
577 "Pivot around each object's own origin"},
582 "Pivot around the median point of selected objects"},
587 "Pivot around active object"},
588 {0,
nullptr, 0,
nullptr,
nullptr},
595 ICON_ORIENTATION_GLOBAL,
597 "Align the transformation axes to world space"},
600 ICON_ORIENTATION_LOCAL,
602 "Align the transformation axes to the selected objects' local space"},
605 ICON_ORIENTATION_NORMAL,
607 "Align the transformation axes to average normal of selected elements "
608 "(bone Y axis for pose mode)"},
611 ICON_ORIENTATION_GIMBAL,
613 "Align each axis to the Euler rotation axis as used for input"},
616 ICON_ORIENTATION_VIEW,
618 "Align the transformation axes to the window"},
621 ICON_ORIENTATION_CURSOR,
623 "Align the transformation axes to the 3D cursor"},
626 ICON_ORIENTATION_PARENT,
628 "Align the transformation axes to the object's parent space"},
630 {0,
nullptr, 0,
nullptr,
nullptr},
638 "Start placing on the surface, using the 3D cursor position as a fallback"},
643 "Start placement using a point projected onto the orientation axis "
644 "at the 3D cursor position"},
649 "Start placement using a point projected onto the view plane at the 3D cursor position"},
650 {0,
nullptr, 0,
nullptr,
nullptr},
658 "Use the surface normal (using the transform orientation as a fallback)"},
661 ICON_ORIENTATION_GLOBAL,
663 "Use the current transform orientation"},
664 {0,
nullptr, 0,
nullptr,
nullptr},
669 {
SCE_SNAP_TO_NONE,
"DEFAULT", 0,
"Default",
"Use the current snap settings"},
670 {0,
nullptr, 0,
nullptr,
nullptr},
678 ICON_GP_SELECT_BETWEEN_STROKES,
680 "Select all stroke points between other strokes"},
681 {0,
nullptr, 0,
nullptr,
nullptr},
685 {1,
"1", 0,
"1:1",
"Full resolution"},
686 {2,
"2", 0,
"1:2",
"Render this effect at 50% render resolution"},
687 {4,
"4", 0,
"1:4",
"Render this effect at 25% render resolution"},
688 {8,
"8", 0,
"1:8",
"Render this effect at 12.5% render resolution"},
689 {16,
"16", 0,
"1:16",
"Render this effect at 6.25% render resolution"},
690 {0,
nullptr, 0,
nullptr,
nullptr},
697# include <fmt/format.h>
751# ifdef WITH_FREESTYLE
763static void rna_ToolSettings_snap_mode_set(
PointerRNA *
ptr,
int value)
771static void rna_ToolSettings_snap_uv_mode_set(
PointerRNA *
ptr,
int value)
799 ts->gpencil_selectmode_sculpt &= ~GP_SCULPT_MASK_SELECTMODE_POINT;
800 ts->gpencil_selectmode_sculpt &= ~GP_SCULPT_MASK_SELECTMODE_STROKE;
807 ts->gpencil_selectmode_vertex &= ~GP_VERTEX_MASK_SELECTMODE_STROKE;
808 ts->gpencil_selectmode_vertex &= ~GP_VERTEX_MASK_SELECTMODE_SEGMENT;
815 ts->gpencil_selectmode_vertex &= ~GP_VERTEX_MASK_SELECTMODE_POINT;
816 ts->gpencil_selectmode_vertex &= ~GP_VERTEX_MASK_SELECTMODE_SEGMENT;
823 ts->gpencil_selectmode_vertex &= ~GP_VERTEX_MASK_SELECTMODE_POINT;
824 ts->gpencil_selectmode_vertex &= ~GP_VERTEX_MASK_SELECTMODE_STROKE;
847 iter->valid = ((
BLI_Iterator *)iter->internal.custom)->valid;
876 for (nested_set = set; nested_set; nested_set = nested_set->
set) {
877 if (nested_set == scene) {
881 if (nested_set->
set == set) {
896 if (scene->set !=
nullptr) {
937static const char *rna_Scene_statistics_string_get(
Scene *scene,
945 "View Layer '%s' not found in scene '%s'",
957 scene->r.framelen =
float(scene->r.framapto) /
float(scene->r.images);
960static void rna_Scene_frame_current_set(
PointerRNA *
ptr,
int value)
966 data->r.cfra = value;
972 return float(data->r.cfra) + data->r.subframe;
975static void rna_Scene_frame_float_set(
PointerRNA *
ptr,
float value)
980 data->r.cfra =
int(value);
981 data->r.subframe = value - data->r.cfra;
984static float rna_Scene_frame_current_final_get(
PointerRNA *
ptr)
991static void rna_Scene_start_frame_set(
PointerRNA *
ptr,
int value)
996 data->r.sfra = value;
998 if (value > data->r.efra) {
999 data->r.efra = std::min(value,
MAXFRAME);
1003static void rna_Scene_end_frame_set(
PointerRNA *
ptr,
int value)
1007 data->r.efra = value;
1009 if (data->r.sfra > value) {
1010 data->r.sfra = std::max(value,
MINFRAME);
1014static void rna_Scene_use_preview_range_set(
PointerRNA *
ptr,
bool value)
1020 if ((data->r.psfra == data->r.pefra) && (data->r.psfra == 0)) {
1021 data->r.psfra = data->r.sfra;
1022 data->r.pefra = data->r.efra;
1028 data->r.flag &= ~SCER_PRV_RANGE;
1032static void rna_Scene_preview_range_start_frame_set(
PointerRNA *
ptr,
int value)
1040 data->r.pefra = data->r.efra;
1043 data->r.psfra = value;
1045 if (value > data->r.pefra) {
1046 data->r.pefra = std::min(value,
MAXFRAME);
1050static void rna_Scene_preview_range_end_frame_set(
PointerRNA *
ptr,
int value)
1058 data->r.psfra = data->r.sfra;
1061 data->r.pefra = value;
1063 if (data->r.psfra > value) {
1064 data->r.psfra = std::max(value,
MINAFRAME);
1068static void rna_Scene_show_subframe_update(
Main * ,
1073 scene->r.subframe = 0.0f;
1103static int rna_Scene_active_keying_set_index_get(
PointerRNA *
ptr)
1106 return scene->active_keyingset - 1;
1112static void rna_Scene_active_keying_set_index_set(
PointerRNA *
ptr,
int value)
1115 scene->active_keyingset = value + 1;
1129 if (scene->keyingsets.first) {
1148 internal->link = (
Link *)ks->next;
1151 iter->valid = (internal->link !=
nullptr);
1154static std::optional<std::string> rna_SceneEEVEE_path(
const PointerRNA * )
1159static std::optional<std::string> rna_RaytraceEEVEE_path(
const PointerRNA * )
1161 return "eevee.ray_tracing_options";
1164static std::optional<std::string> rna_SceneGpencil_path(
const PointerRNA * )
1166 return "grease_pencil_settings";
1169static std::optional<std::string> rna_SceneHydra_path(
const PointerRNA * )
1192static std::optional<std::string> rna_RenderSettings_path(
const PointerRNA * )
1197static std::optional<std::string> rna_BakeSettings_path(
const PointerRNA * )
1199 return "render.bake";
1202static std::optional<std::string> rna_ImageFormatSettings_path(
const PointerRNA *
ptr)
1207 switch (
GS(id->name)) {
1211 if (&scene->r.im_format == imf) {
1212 return "render.image_settings";
1214 else if (&scene->r.bake.im_format == imf) {
1215 return "render.bake.image_settings";
1224 if (node->type == CMP_NODE_OUTPUT_FILE) {
1226 char node_name_esc[
sizeof(node->name) * 2];
1227 BLI_str_escape(node_name_esc, node->name,
sizeof(node_name_esc));
1228 return fmt::format(
"nodes[\"{}\"].format", node_name_esc);
1233 for (sock =
static_cast<bNodeSocket *
>(node->inputs.first); sock; sock = sock->
next) {
1236 if (&sockdata->
format == imf) {
1237 char node_name_esc[
sizeof(node->name) * 2];
1238 BLI_str_escape(node_name_esc, node->name,
sizeof(node_name_esc));
1240 char socketdata_path_esc[
sizeof(sockdata->
path) * 2];
1244 "nodes[\"{}\"].file_slots[\"{}\"].format", node_name_esc, socketdata_path_esc);
1263static int rna_RenderSettings_threads_mode_get(
PointerRNA *
ptr)
1276static bool rna_RenderSettings_is_movie_format_get(
PointerRNA *
ptr)
1282static void rna_ImageFormatSettings_file_format_set(
PointerRNA *
ptr,
int value)
1286 imf->imtype = value;
1288 const bool is_render = (
id &&
GS(id->name) ==
ID_SCE);
1304 if ((imf->depth & depth_ok) == 0) {
1318 for (i = 0; depth_ls[i]; i++) {
1319 if (depth_ok & depth_ls[i]) {
1320 imf->depth = depth_ls[i];
1327 if (
id &&
GS(id->name) ==
ID_SCE) {
1331 BKE_ffmpeg_image_type_verify(rd, imf);
1345 if (
id &&
GS(id->name) ==
ID_SCE) {
1349 return image_only_type_items;
1360 const bool is_render = (
id &&
GS(id->name) ==
ID_SCE);
1378 if (BKE_ffmpeg_alpha_channel_is_supported(rd)) {
1415 if (imf ==
nullptr) {
1420 const int is_float =
ELEM(
1448 tmp.
name =
"Float (Half)";
1451 "16-bit color channels. Data passes like Depth will still be saved using full "
1452 "32-bit precision.";
1464 tmp.
name =
"Float (Full)";
1486 if (imf ==
nullptr) {
1511 int i = 1, totitem = 0;
1513 if (imf->depth == 16) {
1514 return rna_enum_exr_codec_items;
1533static bool rna_ImageFormatSettings_has_linear_colorspace_get(
PointerRNA *
ptr)
1539static void rna_ImageFormatSettings_color_management_set(
PointerRNA *
ptr,
int value)
1543 if (imf->color_management != value) {
1544 imf->color_management = value;
1565 return ext_num ? strlen(ext_array[0]) : 0;
1568static void rna_SceneRender_file_ext_get(
PointerRNA *
ptr,
char *value)
1573 strcpy(value, ext_num ? ext_array[0] :
"");
1577static void rna_FFmpegSettings_lossless_output_set(
PointerRNA *
ptr,
bool value)
1591static int rna_RenderSettings_active_view_index_get(
PointerRNA *
ptr)
1597static void rna_RenderSettings_active_view_index_set(
PointerRNA *
ptr,
int value)
1603static void rna_RenderSettings_active_view_index_range(
1620static void rna_RenderSettings_active_view_set(
PointerRNA *
ptr,
1642static void rna_RenderView_remove(
1651 "Render view '%s' could not be removed from scene '%s'",
1653 scene->id.name + 2);
1662static void rna_RenderSettings_views_format_set(
PointerRNA *
ptr,
int value)
1676static void rna_RenderSettings_engine_set(
PointerRNA *
ptr,
int value)
1695 int a = 0, totitem = 0;
1700 tmp.
name = type->name;
1730static void rna_Scene_update_render_engine(
Main *bmain)
1735static bool rna_RenderSettings_multiple_engines_get(
PointerRNA * )
1740static bool rna_RenderSettings_use_spherical_stereo_get(
PointerRNA *
ptr)
1789 if (scene->nodetree) {
1798 if (scene->nodetree) {
1808# ifdef WITH_FREESTYLE
1821static void rna_SceneRenderView_name_set(
PointerRNA *
ptr,
const char *value)
1828 DATA_(
"RenderView"),
1846 if (
ptr->
type == &RNA_ViewLayer) {
1849 else if (
ptr->
type == &RNA_AOV) {
1853 else if (
ptr->
type == &RNA_Lightgroup) {
1870 if (scene->nodetree) {
1877static std::optional<std::string> rna_ViewLayerEEVEE_path(
const PointerRNA *
ptr)
1882 char rna_path[
sizeof(view_layer->
name) * 3];
1885 view_layer, rna_path,
sizeof(rna_path));
1887 BLI_strncpy(rna_path + view_layer_path_len,
".eevee",
sizeof(rna_path) - view_layer_path_len);
1892static void rna_SceneEEVEE_gi_cubemap_resolution_update(
Main * ,
1905static void rna_SceneEEVEE_clamp_surface_indirect_update(
Main * ,
1921static void rna_SceneEEVEE_shadow_resolution_update(
Main * ,
1937static std::optional<std::string> rna_SceneRenderView_path(
const PointerRNA *
ptr)
1940 char srv_name_esc[
sizeof(srv->
name) * 2];
1942 return fmt::format(
"render.views[\"{}\"]", srv_name_esc);
1948 if (scene->use_nodes && scene->nodetree ==
nullptr) {
1970static void rna_Scene_editmesh_select_mode_set(
PointerRNA *
ptr,
const bool *value)
1977 ts->selectmode =
flag;
1989 if (mesh && mesh->runtime->edit_mesh && mesh->runtime->edit_mesh->selectmode !=
flag) {
1990 mesh->runtime->edit_mesh->selectmode =
flag;
2003 Mesh *mesh =
nullptr;
2009 if (mesh && mesh->runtime->edit_mesh ==
nullptr) {
2027static void object_simplify_update(
Scene *scene,
2029 bool update_normals,
2039 ob->
id.
tag &= ~ID_TAG_DOIT;
2045 if (geometry_set !=
nullptr && geometry_set->
has_volume()) {
2063 object_simplify_update(scene, ob_collection, update_normals,
depsgraph);
2083static void rna_Scene_simplify_update_impl(
Main *bmain,
2085 bool update_normals,
2093 object_simplify_update(sce, ob, update_normals,
depsgraph);
2111 rna_Scene_simplify_update_impl(bmain, scene,
false,
depsgraph);
2120 rna_Scene_simplify_update_impl(bmain, scene,
false,
depsgraph);
2127 rna_Scene_simplify_update_impl(bmain, scene,
false,
nullptr);
2131static void rna_Scene_use_simplify_normals_update(
Main *bmain,
Scene *scene,
PointerRNA * )
2136 rna_Scene_simplify_update_impl(bmain, scene,
true,
nullptr);
2140static void rna_Scene_use_persistent_data_update(
Main * ,
2158 iter, orient_slot,
sizeof(*orient_slot),
ARRAY_SIZE(scene->orientation_slots), 0,
nullptr);
2161static int rna_Scene_transform_orientation_slots_length(
PointerRNA * )
2169 return (scene->audio.flag &
AUDIO_MUTE) == 0;
2172static void rna_Scene_use_audio_set(
PointerRNA *
ptr,
bool value)
2180 scene->audio.flag &= ~AUDIO_MUTE;
2198static void rna_Scene_sync_mode_set(
PointerRNA *
ptr,
int value)
2206 scene->audio.flag &= ~AUDIO_SYNC;
2210 scene->audio.flag &= ~AUDIO_SYNC;
2211 scene->flag &= ~SCE_FRAME_DROP;
2215static void rna_View3DCursor_rotation_mode_set(
PointerRNA *
ptr,
int value)
2221 cursor->rotation_euler,
2222 cursor->rotation_axis,
2223 &cursor->rotation_angle,
2224 cursor->rotation_mode,
2228 cursor->rotation_mode = value;
2231static void rna_View3DCursor_rotation_axis_angle_get(
PointerRNA *
ptr,
float *value)
2235 copy_v3_v3(&value[1], cursor->rotation_axis);
2238static void rna_View3DCursor_rotation_axis_angle_set(
PointerRNA *
ptr,
const float *value)
2242 copy_v3_v3(cursor->rotation_axis, &value[1]);
2245static void rna_View3DCursor_matrix_get(
PointerRNA *
ptr,
float *values)
2251static void rna_View3DCursor_matrix_set(
PointerRNA *
ptr,
const float *values)
2254 float unit_mat[4][4];
2259static std::optional<std::string> rna_TransformOrientationSlot_path(
const PointerRNA *
ptr)
2265 if (!
ELEM(
nullptr, scene, orientation_slot)) {
2266 for (
int i = 0; i <
ARRAY_SIZE(scene->orientation_slots); i++) {
2267 if (&scene->orientation_slots[i] == orientation_slot) {
2268 return fmt::format(
"transform_orientation_slots[{}]", i);
2275 return "transform_orientation_slots[0]";
2278static std::optional<std::string> rna_View3DCursor_path(
const PointerRNA * )
2283static TimeMarker *rna_TimeLine_add(
Scene *scene,
const char name[],
int frame)
2285 TimeMarker *marker = MEM_cnew<TimeMarker>(
"TimeMarker");
2287 marker->
frame = frame;
2303 "Timeline marker '%s' not found in scene '%s'",
2305 scene->id.name + 2);
2316static void rna_TimeLine_clear(
Scene *scene)
2324static std::optional<std::string> rna_Scene_KeyingsSetsAll_path(
const PointerRNA * )
2326 return "keying_sets_all";
2331 const char idname[],
2357static void rna_UnifiedPaintSettings_size_set(
PointerRNA *
ptr,
int value)
2366static void rna_UnifiedPaintSettings_unprojected_radius_set(
PointerRNA *
ptr,
float value)
2379 rna_UnifiedPaintSettings_update(C,
ptr);
2382static std::optional<std::string> rna_UnifiedPaintSettings_path(
const PointerRNA * )
2384 return "tool_settings.unified_paint_settings";
2387static std::optional<std::string> rna_CurvePaintSettings_path(
const PointerRNA * )
2389 return "tool_settings.curve_paint_settings";
2392static std::optional<std::string> rna_SequencerToolSettings_path(
const PointerRNA * )
2394 return "tool_settings.sequencer_tool_settings";
2406 for (
Object *obedit : objects) {
2414static std::optional<std::string> rna_MeshStatVis_path(
const PointerRNA * )
2416 return "tool_settings.statvis";
2440 Object *camera = scene->camera;
2444 if (camera && (camera->type ==
OB_CAMERA)) {
2454static std::optional<std::string> rna_ToolSettings_path(
const PointerRNA * )
2456 return "tool_settings";
2472 if (lineset->linestyle) {
2563 "Style module '%s' could not be removed",
2564 module->script->id.name + 2);
2582 if (
id &&
GS(id->name) ==
ID_IM) {
2612static void rna_ViewLayer_remove(
2623static void rna_ViewLayer_move(
2687static void rna_ViewLayerLightgroup_name_get(
PointerRNA *
ptr,
char *value)
2690 strcpy(value, lightgroup->name);
2693static int rna_ViewLayerLightgroup_name_length(
PointerRNA *
ptr)
2696 return strlen(lightgroup->name);
2699static void rna_ViewLayerLightgroup_name_set(
PointerRNA *
ptr,
const char *value)
2709# define V3D_ORIENT_DEFAULT -1
2711static int rna_TransformOrientationSlot_type_get(
PointerRNA *
ptr)
2717 return V3D_ORIENT_DEFAULT;
2723void rna_TransformOrientationSlot_type_set(
PointerRNA *
ptr,
int value)
2729 if (value == V3D_ORIENT_DEFAULT) {
2730 orient_slot->
flag &= ~SELECT;
2747 orientation =
nullptr;
2756 const bool include_default,
2763 if (include_default) {
2765 tmp.
name =
N_(
"Default");
2767 tmp.
value = V3D_ORIENT_DEFAULT;
2768 tmp.
icon = ICON_OBJECT_ORIGIN;
2777 const ListBase *transform_orientations = scene ? &scene->transform_spaces :
nullptr;
2784 tmp.
name = ts->name;
2811 return rna_TransformOrientation_impl_itemf(scene,
false, r_free);
2825 bool include_default = (orient_slot != &scene->orientation_slots[
SCE_ORIENT_DEFAULT]);
2826 return rna_TransformOrientation_impl_itemf(scene, include_default, r_free);
2829# undef V3D_ORIENT_DEFAULT
2831static const EnumPropertyItem *rna_UnitSettings_itemf_wrapper(
const int system,
2844 adaptive.
name =
N_(
"Adaptive");
2848 for (
int i = 0; i <
len; i++) {
2870 return rna_UnitSettings_itemf_wrapper(units->system,
B_UNIT_LENGTH, r_free);
2879 return rna_UnitSettings_itemf_wrapper(units->system,
B_UNIT_MASS, r_free);
2888 return rna_UnitSettings_itemf_wrapper(units->system,
B_UNIT_TIME, r_free);
2913static std::optional<std::string> rna_UnitSettings_path(
const PointerRNA * )
2915 return "unit_settings";
2918static std::optional<std::string> rna_FFmpegSettings_path(
const PointerRNA * )
2920 return "render.ffmpeg";
2928 if (!
ELEM(codec_data->codec,
2951 srna =
RNA_def_struct(brna,
"GPencilInterpolateSettings",
nullptr);
2954 "Grease Pencil Interpolate Settings",
2955 "Settings for Grease Pencil interpolation tools");
2963 "Interpolation Curve",
2964 "Custom curve to control 'sequence' interpolation between Grease Pencil frames");
2990 srna =
RNA_def_struct(brna,
"TransformOrientationSlot",
nullptr);
2999 "rna_TransformOrientationSlot_type_get",
3000 "rna_TransformOrientationSlot_type_set",
3001 "rna_TransformOrientation_with_scene_itemf");
3008 prop,
"rna_TransformOrientationSlot_get",
nullptr,
nullptr,
nullptr);
3041 prop,
"Quaternion Rotation",
"Rotation in quaternions (keep normalized)");
3048 "rna_View3DCursor_rotation_axis_angle_get",
3049 "rna_View3DCursor_rotation_axis_angle_set",
3053 prop,
"Axis-Angle Rotation",
"Angle of Rotation for Axis-Angle rotation representation");
3076 prop,
"Transform Matrix",
"Matrix combining location and rotation of the cursor");
3078 prop,
"rna_View3DCursor_matrix_get",
"rna_View3DCursor_matrix_set",
nullptr);
3094 {0,
nullptr, 0,
nullptr,
nullptr},
3103 "Show vertices with no weights in the active group"},
3105 {0,
nullptr, 0,
nullptr,
nullptr},
3114 "Vertex Groups assigned to Deform Bones"},
3119 "Vertex Groups assigned to non Deform Bones"},
3120 {0,
nullptr, 0,
nullptr,
nullptr},
3128 "Draw stroke at Object origin"},
3133 "Draw stroke at 3D cursor location"},
3138 "Stick stroke to surfaces"},
3143 "Stick stroke to other strokes"},
3144 {0,
nullptr, 0,
nullptr,
nullptr},
3148 {0,
"NONE", 0,
"All Points",
"Snap to all points"},
3153 "Snap to first and last points and interpolate"},
3155 {0,
nullptr, 0,
nullptr,
nullptr},
3158 static const EnumPropertyItem annotation_stroke_placement_view2d_items[] = {
3163 "Stick stroke to the image"},
3165 {0,
"VIEW", ICON_RESTRICT_VIEW_ON,
"View",
"Stick stroke to the view"},
3166 {0,
nullptr, 0,
nullptr,
nullptr},
3169 static const EnumPropertyItem annotation_stroke_placement_view3d_items[] = {
3174 "Draw stroke at 3D cursor location"},
3176 {0,
"VIEW", ICON_RESTRICT_VIEW_ON,
"View",
"Stick stroke to the view"},
3181 "Stick stroke to surfaces"},
3182 {0,
nullptr, 0,
nullptr,
nullptr},
3188 ICON_STICKY_UVS_DISABLE,
3190 "Sticky vertex selection disabled"},
3193 ICON_STICKY_UVS_LOC,
3195 "Select UVs that are at the same location and share a mesh vertex"},
3198 ICON_STICKY_UVS_VERT,
3200 "Select UVs that share a mesh vertex, whether or not they are at the same location"},
3201 {0,
nullptr, 0,
nullptr,
nullptr},
3220 "Weight Paint Auto-Normalize",
3221 "Ensure all bone-deforming vertex groups add up "
3222 "to 1.0 while weight painting");
3229 "Weight Paint Lock-Relative",
3230 "Display bone-deforming groups as if all locked deform groups "
3231 "were deleted, and the remaining ones were re-normalized");
3238 "Weight Paint Multi-Paint",
3239 "Paint across the weights of all selected bones, "
3240 "maintaining their relative influence");
3311 "Lock Object Modes",
3312 "Restrict selection to objects using the same mode as the active "
3313 "object, to prevent accidental mode switch when selecting");
3319 {0,
nullptr, 0,
nullptr,
nullptr},
3341 prop,
"Proportional Editing Objects",
"Proportional editing object mode");
3349 prop,
"Projected from View",
"Proportional Editing using screen space locations");
3356 prop,
"Connected Only",
"Proportional Editing using connected geometry only");
3370 prop,
"Proportional Editing Actions",
"Proportional editing in action editor");
3378 prop,
"Proportional Editing F-Curves",
"Proportional editing in F-Curve editor");
3392 prop,
"Proportional Editing Falloff",
"Falloff type for proportional editing mode");
3401 prop,
"Proportional Size",
"Display size for proportional editing circle");
3408 prop,
"Proportional Size",
"Display size for proportional editing circle");
3432 "Only transform object locations, without affecting rotation or scaling");
3439 prop,
"Transform Origins",
"Transform object origins, while leaving the shape in place");
3446 prop,
"Transform Parents",
"Transform the parents, leaving the children in place");
3453 "Correct Face Attributes",
3454 "Correct data such as UVs and color attributes when transforming");
3464 "During the Face Attributes correction, merge attributes connected to the same vertex");
3471 prop,
"Auto Merge Vertices",
"Automatically merge vertices moved to the same location");
3515 prop,
"Align Rotation to Target",
"Align rotation with the snapping target");
3523 "Absolute Increment Snap",
3524 "Absolute grid alignment while translating (based on the pivot center)");
3530 prop,
"Rotation Increment",
"Angle used for rotation increments in 2D editors");
3538 "Rotation Precision Increment",
3539 "Precision angle used for rotation increments in 2D editors");
3547 prop,
"Rotation Increment",
"Angle used for rotation increments in 3D editors");
3555 "Rotation Precision Increment",
3556 "Precision angle used for rotation increments in 3D editors");
3566 prop,
"rna_ToolSettings_snap_mode_get",
"rna_ToolSettings_snap_mode_set",
nullptr);
3576 prop,
"rna_ToolSettings_snap_mode_get",
"rna_ToolSettings_snap_mode_set",
nullptr);
3579 prop,
"Snap Element",
"Type of element for the \"Snap Base\" to snap to");
3587 prop,
"rna_ToolSettings_snap_mode_get",
"rna_ToolSettings_snap_mode_set",
nullptr);
3590 prop,
"Project Mode",
"Type of element for individual transformed elements to snap to");
3599 "Face Nearest Steps",
3600 "Number of steps to break transformation into for face nearest snapping");
3607 "Snap to Same Target",
3608 "Snap only to target that source was initially near (\"Face Nearest\" only)");
3629 prop,
"Absolute Time Snap",
"Absolute time alignment when transforming keyframes");
3663 prop,
"Snap Peel Object",
"Consider objects as whole when finding volume center");
3678 prop,
"Snap onto Active",
"Snap onto itself only if enabled (edit mode only)");
3685 prop,
"Snap onto Edited",
"Snap onto non-active objects in edit mode (edit mode only)");
3692 prop,
"Snap onto Non-edited",
"Snap onto objects not in edit mode (edit mode only)");
3699 prop,
"Snap onto Selectable Only",
"Snap only onto objects that are selectable");
3707 prop,
"Use Snap for Translation",
"Move is affected by snapping settings");
3716 prop,
"Use Snap for Rotation",
"Rotate is affected by the snapping settings");
3740 "Select the closest axis when placing objects "
3741 "(surface overrides)");
3769 "Use Additive Drawing",
3770 "When creating new frames, the strokes from the previous/active frame "
3771 "are included as the basis for the new one");
3778 prop,
"Draw Strokes on Back",
"New strokes are drawn below of all strokes in the layer");
3786 prop,
"Compact List",
"Show compact list of colors instead of thumbnails");
3793 "Add weight data for new strokes",
3794 "Weight data for new strokes is added according to the current vertex "
3795 "group and weight. If no vertex group selected, weight is not added.");
3806 "Join the last drawn stroke with previous strokes in the active layer by distance");
3815 prop,
"Grease Pencil Sculpt",
"Settings for stroke sculpting tools and brushes");
3822 prop,
"Grease Pencil Interpolate",
"Settings for grease pencil interpolation tools");
3843 prop,
"Surface Offset",
"Offset along the normal when drawing on surfaces");
3853 prop,
"Project Onto Selected",
"Project the strokes only onto selected objects");
3892 prop,
"Selection Mask",
"Only sculpt selected stroke points between other strokes");
3926 prop,
"Selection Mask",
"Only paint selected stroke points between other strokes");
3958 "Annotation Stroke Placement (3D View)",
3959 "How annotation strokes are orientated in 3D space");
3967 prop,
"Only Endpoints",
"Only use the first and last parts of the stroke for snapping");
3975 prop,
"Project Onto Selected",
"Project the strokes only onto selected objects");
3991 prop,
"Auto Keying",
"Automatic keyframe insertion for objects, bones and masks");
4000 "Mode of automatic keyframe insertion for objects, bones and masks");
4008 "Add a new NLA Track + Strip for every loop/pass made over the animation "
4009 "to allow non-destructive tweaking");
4015 "Auto Keyframe Insert Keying Set",
4016 "Automatic keyframe insertion using active Keying Set only");
4024 "Cycle-Aware Keying",
4025 "For channels with cyclic extrapolation, keyframe insertion is automatically "
4026 "remapped inside the cycle time range, and keeps ends in sync. Curves newly added to "
4027 "actions with a Manual Frame Range and Cyclic Animation are automatically made cyclic.");
4035 prop,
"New Keyframe Type",
"Type of keyframes to create when inserting keyframes");
4051 prop,
"Sticky Selection Mode",
"Method for extending UV vertex selection");
4058 prop,
"UV Sync Selection",
"Keep UV and edit mode mesh selection in sync");
4066 prop,
"UV Local View",
"Display only faces with the currently displayed image assigned");
4130 {
SEQ_SCALE_TO_FIT,
"FIT", 0,
"Scale to Fit",
"Scale image to fit within the canvas"},
4131 {
SEQ_SCALE_TO_FILL,
"FILL", 0,
"Scale to Fill",
"Scale image to completely fill the canvas"},
4132 {
SEQ_STRETCH_TO_FILL,
"STRETCH", 0,
"Stretch to Fill",
"Stretch image to fill the canvas"},
4136 "Use Original Size",
4137 "Keep image at its original size"},
4138 {0,
nullptr, 0,
nullptr,
nullptr},
4142 {
SEQ_OVERLAP_EXPAND,
"EXPAND", 0,
"Expand",
"Move strips so transformed strips fit"},
4147 "Trim or split strips to resolve overlap"},
4152 "Move transformed strips to nearest free space to resolve overlap"},
4153 {0,
nullptr, 0,
nullptr,
nullptr},
4159 {
V3D_AROUND_CURSOR,
"CURSOR", ICON_PIVOT_CURSOR,
"2D Cursor",
"Pivot around the 2D cursor"},
4161 "INDIVIDUAL_ORIGINS",
4162 ICON_PIVOT_INDIVIDUAL,
4163 "Individual Origins",
4164 "Pivot around each selected island's own median point"},
4165 {0,
nullptr, 0,
nullptr,
nullptr},
4206 prop,
"Other Strips",
"Snap to borders and origins of deselected, visible strips");
4220 prop,
"Snap Current Frame to Strips",
"Snap current frame to strip start or end");
4245 {0,
"VIEW", 0,
"View",
"Measure brush size relative to the view"},
4250 "Measure brush size relative to the scene"},
4251 {0,
nullptr, 0,
nullptr,
nullptr},
4257 srna,
"Unified Paint Settings",
"Overrides for some of the active brush's settings");
4263 "Use Unified Radius",
4264 "Instead of per-brush radius, the radius is shared across brushes");
4269 "Use Unified Strength",
4270 "Instead of per-brush strength, the strength is shared across brushes");
4275 "Use Unified Weight",
4276 "Instead of per-brush weight, the weight is shared across brushes");
4281 prop,
"Use Unified Color",
"Instead of per-brush color, the color is shared across brushes");
4287 "Use Unified Input Samples",
4288 "Instead of per-brush input samples, the value is shared across brushes");
4302 prop,
nullptr,
"rna_UnifiedPaintSettings_unprojected_radius_set",
nullptr);
4315 prop,
"Strength",
"How powerful the effect of the brush is when applied");
4348 "Number of input samples to average together to smooth the brush stroke");
4355 prop,
"Radius Unit",
"Measure brush size relative to the view or the scene");
4368 {
CU_POLY,
"POLY", 0,
"Poly",
""},
4369 {
CU_BEZIER,
"BEZIER", 0,
"Bézier",
""},
4370 {0,
nullptr, 0,
nullptr,
nullptr},
4399 prop,
"Absolute Offset",
"Apply a fixed offset (don't scale by the radius)");
4405 prop,
"Project Onto Selected",
"Project the strokes only onto selected objects");
4430 "Minimum radius when the minimum pressure is applied (also the minimum when tapering)");
4439 "Radius to use when the maximum pressure is applied (or when a tablet isn't used)");
4446 prop,
"Radius Min",
"Taper factor for the radius of each point along the curve");
4453 prop,
"Radius Max",
"Taper factor for the radius of each point along the curve");
4464 {0,
nullptr, 0,
nullptr,
nullptr},
4477 "Normal to Surface",
4478 "Draw in a plane perpendicular to the surface"},
4482 "Tangent to Surface",
4483 "Draw in the surface plane"},
4488 "Draw in a plane aligned to the viewport"},
4489 {0,
nullptr, 0,
nullptr,
nullptr},
4510 {0,
nullptr, 0,
nullptr,
nullptr},
4615 {0,
nullptr, 0,
nullptr,
nullptr},
4619 {0,
"DEGREES", 0,
"Degrees",
"Use degrees for measuring angles and rotations"},
4621 {0,
nullptr, 0,
nullptr,
nullptr},
4633 prop,
"Unit System",
"The unit system to use for user interface controls");
4639 prop,
"Rotation Units",
"Unit to use for displaying/editing rotation values");
4646 "Scale to use when converting between Blender units and dimensions."
4647 " When working at microscopic or astronomical scale, a small or large unit scale"
4648 " respectively can be used to avoid numerical precision problems");
4680 prop,
"Temperature Unit",
"Unit that will be used to display temperature values");
4709 prop,
"Transparent",
"Deliver alpha blended surfaces in a separate pass");
4780 parm =
RNA_def_pointer(func,
"lightgroup",
"Lightgroup",
"",
"Newly created Lightgroup");
4782 parm =
RNA_def_string(func,
"name",
nullptr, 0,
"Name",
"Name of newly created lightgroup");
4796 "rna_ViewLayerLightgroup_name_get",
4797 "rna_ViewLayerLightgroup_name_length",
4798 "rna_ViewLayerLightgroup_name_set");
4831 prop,
"Material Override",
"Material to override all other materials in this view layer");
4845 "Override number of render samples for this view layer, "
4846 "0 will use the scene setting");
4853 "Z, Index, normal, UV and vector passes are only affected by surfaces with "
4854 "alpha transparency equal to or higher than this threshold");
4875 "rna_ViewLayer_active_aov_index_get",
4876 "rna_ViewLayer_active_aov_index_set",
4877 "rna_ViewLayer_active_aov_index_range");
4894 "rna_ViewLayer_active_lightgroup_index_get",
4895 "rna_ViewLayer_active_lightgroup_index_set",
4896 "rna_ViewLayer_active_lightgroup_index_range");
4905 "Cryptomatte Object",
4906 "Render cryptomatte object pass, for isolating objects in compositing");
4914 "Cryptomatte Material",
4915 "Render cryptomatte material pass, for isolating materials in compositing");
4922 "Cryptomatte Asset",
4923 "Render cryptomatte asset pass, for isolating groups of objects with the same parent");
4931 prop,
"Cryptomatte Levels",
"Sets how many unique objects can be distinguished per pixel");
4940 prop,
"Cryptomatte Accurate",
"Generate a more accurate cryptomatte pass");
4996 prop,
"Motion Blur",
"Render motion blur in this Layer, if enabled in the scene");
5267 srna,
"Style Modules",
"A list of style modules (to be applied from top to bottom)");
5271 "Add a style module to scene render layer Freestyle settings");
5274 func,
"module",
"FreestyleModuleSettings",
"",
"Newly created style module");
5277 func =
RNA_def_function(srna,
"remove",
"rna_FreestyleSettings_module_remove");
5279 func,
"Remove a style module from scene render layer Freestyle settings");
5281 parm =
RNA_def_pointer(func,
"module",
"FreestyleModuleSettings",
"",
"Style module to remove");
5297 srna,
"Line Sets",
"Line sets for associating lines and style parameters");
5302 prop,
"rna_FreestyleSettings_active_lineset_get",
nullptr,
nullptr,
nullptr);
5308 "rna_FreestyleSettings_active_lineset_index_get",
5309 "rna_FreestyleSettings_active_lineset_index_set",
5310 "rna_FreestyleSettings_active_lineset_index_range");
5317 parm =
RNA_def_string(func,
"name",
"LineSet", 0,
"",
"New name for the line set (not unique)");
5319 parm =
RNA_def_pointer(func,
"lineset",
"FreestyleLineSet",
"",
"Newly created line set");
5322 func =
RNA_def_function(srna,
"remove",
"rna_FreestyleSettings_lineset_remove");
5324 "Remove a line set from scene render layer Freestyle settings");
5326 parm =
RNA_def_pointer(func,
"lineset",
"FreestyleLineSet",
"",
"Line set to remove");
5341 "Select feature edges satisfying the given edge type conditions"},
5346 "Select feature edges not satisfying the given edge type conditions"},
5347 {0,
nullptr, 0,
nullptr,
nullptr},
5355 "Select feature edges satisfying at least one of edge type conditions"},
5360 "Select feature edges satisfying all edge type conditions"},
5361 {0,
nullptr, 0,
nullptr,
nullptr},
5369 "Select feature edges belonging to some object in the group"},
5374 "Select feature edges not belonging to any object in the group"},
5375 {0,
nullptr, 0,
nullptr,
nullptr},
5383 "Select feature edges satisfying the given face mark conditions"},
5388 "Select feature edges not satisfying the given face mark conditions"},
5389 {0,
nullptr, 0,
nullptr,
nullptr},
5393 {0,
"ONE", 0,
"One Face",
"Select a feature edge if either of its adjacent faces is marked"},
5398 "Select a feature edge if both of its adjacent faces are marked"},
5399 {0,
nullptr, 0,
nullptr,
nullptr},
5407 "Advanced mode for using style modules written in Python"},
5412 "Basic mode for interactive style parameter editing"},
5413 {0,
nullptr, 0,
nullptr,
nullptr},
5422 "Quantitative Invisibility",
5423 "Select feature edges within a range of quantitative invisibility (QI) values"},
5424 {0,
nullptr, 0,
nullptr,
nullptr},
5431 srna,
"Freestyle Line Set",
"Line set for associating lines and style parameters");
5440 "rna_FreestyleLineSet_linestyle_get",
5441 "rna_FreestyleLineSet_linestyle_set",
5456 prop,
"Render",
"Enable or disable this line set during stroke rendering");
5462 prop,
"Selection by Visibility",
"Select feature edges based on visibility");
5468 prop,
"Selection by Edge Types",
"Select feature edges based on edge types");
5474 prop,
"Selection by Collection",
"Select feature edges based on a collection of objects");
5480 "Selection by Image Border",
5481 "Select feature edges by image border (less memory consumption)");
5494 "Edge Type Negation",
5495 "Specify either inclusion or exclusion of feature edges selected by edge types");
5503 "Edge Type Combination",
5504 "Specify a logical combination of selection conditions on feature edge types");
5512 prop,
"Collection",
"A collection of objects based on which feature edges are selected");
5519 "Collection Negation",
5520 "Specify either inclusion or exclusion of feature edges belonging to a "
5521 "collection of objects");
5529 "Face Mark Negation",
5530 "Specify either inclusion or exclusion of feature edges selected by face marks");
5537 "Face Mark Condition",
5538 "Specify a feature edge selection condition based on face marks");
5546 "Select silhouettes (edges at the boundary of visible and hidden faces)");
5558 "Select crease edges (those between two faces making an angle smaller "
5559 "than the Crease Angle)");
5567 "Select ridges and valleys (boundary lines between convex and concave areas of surface)");
5573 prop,
"Suggestive Contour",
"Select suggestive contours (almost silhouette/contour edges)");
5591 "Select external contours (outer silhouettes of occluding and occluded objects)");
5597 prop,
"Edge Mark",
"Select edge marks (edges annotated by Freestyle edge marks)");
5661 prop,
"Visibility",
"Determine how to use visibility for feature edge selection");
5681 srna,
"Freestyle Module",
"Style module configuration for specifying a style module");
5692 prop,
"Use",
"Enable or disable this style module during stroke rendering");
5701 srna,
"Freestyle Settings",
"Freestyle settings for a ViewLayer data-block");
5707 prop,
"Style Modules",
"A list of style modules (to be applied from top to bottom)");
5739 prop,
"Face Smoothness",
"Take face smoothness into account in view map calculation");
5747 "Keep the computed view map and avoid recalculating it if mesh geometry is unchanged");
5756 "Renders Freestyle output to a separate pass instead of overlaying it on the Combined pass");
5771 prop,
"Kr Derivative Epsilon",
"Kr derivative epsilon for computing suggestive contours");
5802 "Object to use as cage "
5803 "instead of calculating the cage from the active object with cage extrusion");
5837 "The maximum ray distance for matching points between the active and "
5838 "selected objects. If zero, there is no limit.");
5847 "Inflate the active object by the specified distance for baking. This helps matching to "
5848 "points nearer to the outside of the selected object meshes.");
5901 "Selected to Active",
5902 "Bake shading on the surface of selected objects to the active object");
5913 prop,
"Split Materials",
"Split external images per material (external only)");
5921 "Automatically name the output file with the pass type (external only)");
5987 func,
"name",
"ViewLayer", 0,
"",
"New name for the view layer (not unique)");
5989 parm =
RNA_def_pointer(func,
"result",
"ViewLayer",
"",
"Newly created view layer");
5995 parm =
RNA_def_pointer(func,
"layer",
"ViewLayer",
"",
"View layer to remove");
6003 func,
"from_index", -1, INT_MIN, INT_MAX,
"From Index",
"Index to move", 0, 10000);
6005 parm =
RNA_def_int(func,
"to_index", -1, INT_MIN, INT_MAX,
"To Index",
"Target index", 0, 10000);
6017 srna,
"Scene Render View",
"Render viewpoint for 3D stereo and multiview rendering");
6037 "Suffix to identify the cameras to use, and added to the render images for this view");
6064 "rna_RenderSettings_active_view_index_get",
6065 "rna_RenderSettings_active_view_index_set",
6066 "rna_RenderSettings_active_view_index_range");
6073 "rna_RenderSettings_active_view_get",
6074 "rna_RenderSettings_active_view_set",
6084 parm =
RNA_def_string(func,
"name",
"RenderView", 0,
"",
"New name for the marker (not unique)");
6086 parm =
RNA_def_pointer(func,
"result",
"SceneRenderView",
"",
"Newly created render view");
6092 parm =
RNA_def_pointer(func,
"view",
"SceneRenderView",
"",
"Render view to remove");
6108 "Render views for left and right eyes as two differently filtered colors in a single image "
6109 "(anaglyph glasses are required)"},
6114 "Render views for left and right eyes interlaced in a single image (3D-ready monitor is "
6120 "Render views for left and right eyes side-by-side"},
6125 "Render views for left and right eyes one above another"},
6126 {0,
nullptr, 0,
nullptr,
nullptr},
6173# ifdef WITH_OPENJPEG
6177 {0,
nullptr, 0,
nullptr,
nullptr},
6186 {0,
nullptr, 0,
nullptr,
nullptr},
6192 {0,
nullptr, 0,
nullptr,
nullptr},
6211 "rna_ImageFormatSettings_file_format_set",
6212 "rna_ImageFormatSettings_file_format_itemf");
6223 "Choose BW for saving grayscale images, RGB for saving red, green and blue channels, "
6224 "and RGBA for saving red, green, blue and alpha channels");
6239 prop,
"Quality",
"Quality for image formats that support lossy compression");
6248 "Amount of time to determine best compression: "
6249 "0 = no compression with fast file output, "
6250 "100 = maximum lossless compression with slow file output");
6256 prop,
"Preview",
"When rendering animations, save JPG preview images in same directory");
6272# ifdef WITH_OPENJPEG
6277 prop,
"YCC",
"Save luminance-chrominance-chrominance channels instead of RGB colors");
6334 prop,
nullptr,
nullptr,
"rna_ImageFormatSettings_views_format_itemf");
6348 prop,
"Color Management",
"Which color management settings to use for file saving");
6350 prop,
nullptr,
"rna_ImageFormatSettings_color_management_set",
nullptr);
6356 prop,
"View Settings",
"Color management settings applied on image before saving");
6361 prop,
"Display Settings",
"Settings of device saved image would be displayed on");
6369 prop,
"rna_ImageFormatSettings_has_linear_colorspace_get",
nullptr);
6372 prop,
"Has Linear Color Space",
"File format expects linear color space");
6383 {FFMPEG_MPEG1,
"MPEG1", 0,
"MPEG-1",
""},
6384 {FFMPEG_MPEG2,
"MPEG2", 0,
"MPEG-2",
""},
6385 {FFMPEG_MPEG4,
"MPEG4", 0,
"MPEG-4",
""},
6386 {FFMPEG_AVI,
"AVI", 0,
"AVI",
""},
6387 {FFMPEG_MOV,
"QUICKTIME", 0,
"QuickTime",
""},
6388 {FFMPEG_DV,
"DV", 0,
"DV",
""},
6389 {FFMPEG_OGG,
"OGG", 0,
"Ogg",
""},
6390 {FFMPEG_MKV,
"MKV", 0,
"Matroska",
""},
6391 {FFMPEG_FLV,
"FLASH", 0,
"Flash",
""},
6392 {FFMPEG_WEBM,
"WEBM", 0,
"WebM",
""},
6393 {0,
nullptr, 0,
nullptr,
nullptr},
6397 {AV_CODEC_ID_NONE,
"NONE", 0,
"No Video",
"Disables video output, for audio-only renders"},
6398 {AV_CODEC_ID_DNXHD,
"DNXHD", 0,
"DNxHD",
""},
6399 {AV_CODEC_ID_DVVIDEO,
"DV", 0,
"DV",
""},
6400 {AV_CODEC_ID_FFV1,
"FFV1", 0,
"FFmpeg video codec #1",
""},
6401 {AV_CODEC_ID_FLV1,
"FLASH", 0,
"Flash Video",
""},
6402 {AV_CODEC_ID_H264,
"H264", 0,
"H.264",
""},
6403 {AV_CODEC_ID_HUFFYUV,
"HUFFYUV", 0,
"HuffYUV",
""},
6404 {AV_CODEC_ID_MPEG1VIDEO,
"MPEG1", 0,
"MPEG-1",
""},
6405 {AV_CODEC_ID_MPEG2VIDEO,
"MPEG2", 0,
"MPEG-2",
""},
6406 {AV_CODEC_ID_MPEG4,
"MPEG4", 0,
"MPEG-4 (divx)",
""},
6407 {AV_CODEC_ID_PNG,
"PNG", 0,
"PNG",
""},
6408 {AV_CODEC_ID_QTRLE,
"QTRLE", 0,
"QuickTime Animation",
""},
6409 {AV_CODEC_ID_THEORA,
"THEORA", 0,
"Theora",
""},
6410 {AV_CODEC_ID_VP9,
"WEBM", 0,
"WebM / VP9",
""},
6411 {AV_CODEC_ID_AV1,
"AV1", 0,
"AV1",
""},
6412 {0,
nullptr, 0,
nullptr,
nullptr},
6423 "Recommended if you have lots of time and want the best compression efficiency"},
6424 {
FFM_PRESET_GOOD,
"GOOD", 0,
"Good",
"The default and recommended for most applications"},
6426 {0,
nullptr, 0,
nullptr,
nullptr},
6434 "Configure constant bit rate, rather than constant output quality"},
6442 {0,
nullptr, 0,
nullptr,
nullptr},
6446 {AV_CODEC_ID_NONE,
"NONE", 0,
"No Audio",
"Disables audio output, for video-only renders"},
6447 {AV_CODEC_ID_AAC,
"AAC", 0,
"AAC",
""},
6448 {AV_CODEC_ID_AC3,
"AC3", 0,
"AC3",
""},
6449 {AV_CODEC_ID_FLAC,
"FLAC", 0,
"FLAC",
""},
6450 {AV_CODEC_ID_MP2,
"MP2", 0,
"MP2",
""},
6451 {AV_CODEC_ID_MP3,
"MP3", 0,
"MP3",
""},
6452 {AV_CODEC_ID_OPUS,
"OPUS", 0,
"Opus",
""},
6453 {AV_CODEC_ID_PCM_S16LE,
"PCM", 0,
"PCM",
""},
6454 {AV_CODEC_ID_VORBIS,
"VORBIS", 0,
"Vorbis",
""},
6455 {0,
nullptr, 0,
nullptr,
nullptr},
6467 "Set audio channels to 5.1 surround sound"},
6472 "Set audio channels to 7.1 surround sound"},
6473 {0,
nullptr, 0,
nullptr,
nullptr},
6528 "Keyframe Interval",
6529 "Distance between key frames, also known as GOP size; "
6530 "influences file size and seekability");
6540 "Maximum number of B-frames between non-B-frames; influences file size and seekability");
6571 "Constant Rate Factor (CRF); tradeoff between video quality and file size");
6580 prop,
"Encoding Speed",
"Tradeoff between encoding speed and compression ratio");
6645 {0,
nullptr, 0,
nullptr,
nullptr},
6653 "Use pixels from adjacent faces across UV seams"},
6654 {
R_BAKE_EXTEND,
"EXTEND", 0,
"Extend",
"Extend border pixels outwards"},
6655 {0,
nullptr, 0,
nullptr,
nullptr},
6659 {0,
"AUTO", 0,
"Automatic",
"Automatic pixel size, depends on the user interface scale"},
6664 {0,
nullptr, 0,
nullptr,
nullptr},
6672 "Automatically determine the number of threads, based on CPUs"},
6673 {
R_FIXED_THREADS,
"FIXED", 0,
"Fixed",
"Manually determine the number of threads"},
6674 {0,
nullptr, 0,
nullptr,
nullptr},
6678 {0,
"BLENDER_EEVEE_NEXT", 0,
"EEVEE",
""},
6679 {0,
nullptr, 0,
nullptr,
nullptr},
6687 "Specify unit line thickness in pixels"},
6692 "Unit line thickness is scaled by the proportion of the present vertical image "
6693 "resolution to 480 pixels"},
6694 {0,
nullptr, 0,
nullptr,
nullptr},
6702 "Single stereo camera system, adjust the stereo settings in the camera panel"},
6707 "Multi camera system, adjust the cameras individually"},
6708 {0,
nullptr, 0,
nullptr,
nullptr},
6712 {
SCE_MB_START,
"START", 0,
"Start on Frame",
"The shutter opens at the current frame"},
6717 "The shutter is open during the current frame"},
6718 {
SCE_MB_END,
"END", 0,
"End on Frame",
"The shutter closes at the current frame"},
6719 {0,
nullptr, 0,
nullptr,
nullptr},
6725 {0,
nullptr, 0,
nullptr,
nullptr},
6729 {0,
"SCENE", 0,
"Scene",
"Use metadata from the current scene"},
6734 "Use metadata from the strips in the sequencer"},
6735 {0,
nullptr, 0,
nullptr,
nullptr},
6741 {0,
nullptr, 0,
nullptr,
nullptr},
6749 "Full precision for final renders, half precision otherwise"},
6751 {0,
nullptr, 0,
nullptr,
nullptr},
6775 prop,
"Resolution X",
"Number of horizontal pixels in the rendered image");
6784 prop,
"Resolution Y",
"Number of vertical pixels in the rendered image");
6808 "Horizontal aspect ratio - for anamorphic or non-square pixel output");
6817 prop,
"Pixel Aspect Y",
"Vertical aspect ratio - for anamorphic or non-square pixel output");
6865 "Amount of dithering noise added to the rendered image to break up banding");
6873 prop,
"Filter Size",
"Width over which the reconstruction filter combines samples");
6881 "World background is transparent, for compositing the render over another background");
6897 "Maximum number of CPU cores to use simultaneously while rendering "
6898 "(for multi-core/CPU systems)");
6924 "Motion Blur Position",
6925 "Offset for the shutter's time interval, "
6926 "allows to change the motion blur trails");
6934 prop,
"Shutter Curve",
"Curve defining the shutter's openness over time");
6946 prop,
"Additional Subdivision",
"Additional subdivision along the curves");
6953 "High Quality Normals",
6954 "Use high quality tangent space at the cost of lower performance");
6962 prop,
"Render Region",
"Render a user-defined render region, within the frame size");
6997 prop,
"Crop to Render Region",
"Crop the rendered frame to the defined render region size");
7006 "Create empty placeholder files while rendering frames (similar to Unix 'touch')");
7019 "Process the render result through the compositing pipeline, "
7020 "if compositing nodes are enabled");
7028 "Process the render (and composited) result through the video sequence "
7029 "editor pipeline, if sequencer strips exist");
7038 "Add the file format extensions to the rendered file name (eg: filename + .jpg)");
7052 prop,
"rna_SceneRender_file_ext_get",
"rna_SceneRender_file_ext_length",
nullptr);
7068 "Lock interface during rendering in favor of giving more memory to the renderer");
7075 "Directory/name to save animations, # characters define the position "
7076 "and padding of frame numbers");
7086 "Save render cache to EXR files (useful for heavy compositing, "
7087 "Note: affects indirectly rendered scenes)");
7101 "Selected to Active",
7102 "Bake shading on the surface of selected objects to the active object");
7126 prop,
"Bias",
"Bias towards faces further away from the object (in Blender units)");
7137 prop,
"Low Resolution Mesh",
"Calculate heights against unsubdivided low resolution mesh");
7144 prop,
"Samples",
"Number of samples used for ambient occlusion baking from multires");
7156 "Instead of automatically normalizing to the range 0 to 1, "
7157 "apply a user scale to the derivative map");
7164 prop,
"Stamp Time",
"Include the rendered frame timecode as HH:MM:SS.FF in image metadata");
7180 prop,
"Stamp Frame",
"Include the rendered frame range in image/video metadata");
7186 prop,
"Stamp Camera",
"Include the name of the active camera in image metadata");
7192 prop,
"Stamp Lens",
"Include the active camera's lens in image metadata");
7198 prop,
"Stamp Scene",
"Include the name of the active scene in image/video metadata");
7209 prop,
"Stamp Marker",
"Include the name of the last marker in image metadata");
7215 prop,
"Stamp Filename",
"Include the .blend filename in image/video metadata");
7221 "Stamp Sequence Strip",
7222 "Include the name of the foreground sequence strip in image metadata");
7238 prop,
"Stamp Output",
"Render the stamp info text in the rendered image");
7244 prop,
"Stamp Labels",
"Display stamp labels (\"Camera\" in front of camera name, etc.)");
7256 prop,
"Stamp Peak Memory",
"Include the peak memory usage in image metadata");
7262 prop,
"Stamp Hostname",
"Include the hostname of the machine that rendered the frame");
7291 prop,
"Sequencer Preview Shading",
"Display method used in the sequencer view");
7297 "Override Scene Settings",
7298 "Use workbench render settings from the sequencer scene, instead of "
7299 "each individual scene used in the strip");
7305 "Render Single Layer",
7306 "Only render the active layer. Only affects rendering from the "
7307 "interface, ignored for rendering from command line.");
7320 "rna_RenderSettings_stereoViews_begin",
7321 "rna_iterator_listbase_next",
7322 "rna_iterator_listbase_end",
7323 "rna_iterator_listbase_get",
7347 "rna_RenderSettings_engine_get",
7348 "rna_RenderSettings_engine_set",
7349 "rna_RenderSettings_engine_itemf");
7358 prop,
"Multiple Engines",
"More than one rendering engine is available");
7364 prop,
"Use Spherical Stereo",
"Active render engine supports spherical stereo rendering");
7370 prop,
"Use Simplify",
"Enable simplification of scene for quicker preview renders");
7389 prop,
"Simplify Subdivision",
"Global maximum subdivision level during rendering");
7395 prop,
"Simplify Child Particles",
"Global child particles percentage during rendering");
7401 prop,
"Simplify Volumes",
"Resolution percentage of volume objects in viewport");
7409 "Skip computing custom normals and face corner normals for displaying "
7410 "meshes in the viewport");
7422 prop,
"Playback Only",
"Simplify Grease Pencil only during animation playback");
7456 "Keep render data around for faster re-renders and animation renders, "
7457 "at the cost of increased memory usage");
7465 prop,
"Line Thickness Mode",
"Line thickness mode for Freestyle line drawing");
7492 prop,
"Compositor Precision",
"The precision of compositor intermediate result");
7498 prop,
"Use New CPU Compositor",
"Use the new CPU compositor implementation");
7539 parm =
RNA_def_string(func,
"name",
"Marker", 0,
"",
"New name for the marker (not unique)");
7547 "The frame for the new marker",
7550 parm =
RNA_def_pointer(func,
"marker",
"TimelineMarker",
"",
"Newly created timeline marker");
7556 parm =
RNA_def_pointer(func,
"marker",
"TimelineMarker",
"",
"Timeline marker to remove");
7583 RNA_def_string(func,
"idname",
"KeyingSet", 64,
"IDName",
"Internal identifier of Keying Set");
7584 RNA_def_string(func,
"name",
"KeyingSet", 64,
"Name",
"User visible name of Keying Set");
7586 parm =
RNA_def_pointer(func,
"keyingset",
"KeyingSet",
"",
"Newly created Keying Set");
7593 "rna_Scene_active_keying_set_get",
7594 "rna_Scene_active_keying_set_set",
7598 prop,
"Active Keying Set",
"Active Keying Set used to insert/delete keyframes");
7604 "rna_Scene_active_keying_set_index_get",
7605 "rna_Scene_active_keying_set_index_set",
7609 "Active Keying Set Index",
7610 "Current Keying Set index (negative for 'builtin' and positive for 'absolute')");
7631 "rna_Scene_active_keying_set_get",
7632 "rna_Scene_active_keying_set_set",
7636 prop,
"Active Keying Set",
"Active Keying Set used to insert/delete keyframes");
7642 "rna_Scene_active_keying_set_index_get",
7643 "rna_Scene_active_keying_set_index_set",
7647 "Active Keying Set Index",
7648 "Current Keying Set index (negative for 'builtin' and positive for 'absolute')");
7659 srna =
RNA_def_struct(brna,
"SelectedUvElement",
"PropertyGroup");
7701 "Center Title Safe Margins",
7702 "Safe area for text and graphics in a different aspect ratio");
7710 "Center Action Safe Margins",
7711 "Safe area for general elements in a different aspect ratio");
7729 prop,
"Light Direction",
"Direction of the light for shadows and highlights");
7749 prop,
"Distance",
"Distance of object that contribute to the Cavity/Edge effect");
7765 prop,
"Render Anti-Aliasing",
"Method of anti-aliasing when rendering final image");
7771 prop,
"Viewport Anti-Aliasing",
"Method of anti-aliasing when rendering 3d viewport");
7787 srna,
"EEVEE Raytrace Options",
"Quality options for the raytracing pipeline");
7793 "Determines the number of rays per pixel. "
7794 "Higher resolution uses more memory.");
7801 prop,
"Denoise",
"Enable noise reduction techniques for raytraced effects");
7814 prop,
"Temporal Accumulation",
"Accumulate samples by reprojecting last tracing results");
7821 prop,
"Bilateral Filter",
"Blur the resolved radiance using a bilateral filter");
7828 "Screen-Trace Thickness",
7829 "Surface thickness used to detect intersection when using screen-tracing");
7837 "Raytrace Max Roughness",
7838 "Maximum roughness to use the tracing pipeline for. Higher "
7839 "roughness surfaces will use fast GI approximation. A value of 1 will "
7840 "disable fast GI approximation.");
7847 prop,
"Screen-Trace Precision",
"Precision of the screen space ray-tracing");
7859 {128,
"128", 0,
"128 px",
""},
7860 {256,
"256", 0,
"256 px",
""},
7861 {512,
"512", 0,
"512 px",
""},
7862 {1024,
"1024", 0,
"1024 px",
""},
7863 {2048,
"2048", 0,
"2048 px",
""},
7864 {4096,
"4096", 0,
"4096 px",
""},
7865 {0,
nullptr, 0,
nullptr,
nullptr},
7869 {16,
"16", 0,
"16 MB",
""},
7870 {32,
"32", 0,
"32 MB",
""},
7871 {64,
"64", 0,
"64 MB",
""},
7872 {128,
"128", 0,
"128 MB",
""},
7873 {256,
"256", 0,
"256 MB",
""},
7874 {512,
"512", 0,
"512 MB",
""},
7875 {1024,
"1024", 0,
"1 GB",
""},
7876 {0,
nullptr, 0,
nullptr,
nullptr},
7880 {8,
"8", 0,
"8 px",
""},
7881 {16,
"16", 0,
"16 px",
""},
7882 {32,
"32", 0,
"32 px",
""},
7883 {64,
"64", 0,
"64 px",
""},
7884 {0,
nullptr, 0,
nullptr,
nullptr},
7892 "Use light probes to find scene intersection"},
7897 "Raytrace against the depth buffer. Fallback to light probes for invalid rays."},
7898 {0,
nullptr, 0,
nullptr,
nullptr},
7903 "AMBIENT_OCCLUSION_ONLY",
7905 "Ambient Occlusion",
7906 "Use ambient occlusion instead of full global illumination"},
7908 "GLOBAL_ILLUMINATION",
7910 "Global Illumination",
7911 "Compute global illumination taking into account light bouncing off surrounding objects"},
7912 {0,
nullptr, 0,
nullptr,
nullptr},
7923 "Number of times the light is reinjected inside light grids, "
7924 "0 disable indirect diffuse light");
7937 "Irradiance Visibility Size",
7938 "Size of the shadow map applied to each irradiance sample");
7944 "Clamp pixel intensity to reduce noise inside glossy reflections "
7945 "from reflection cubemaps (0 to disable)");
7952 "Irradiance Pool Size",
7953 "Size of the irradiance pool, "
7954 "a bigger pool size allows for more irradiance grid in the scene "
7955 "but might not fit into GPU memory and decrease performance");
7977 "Viewport Denoising",
7978 "Denoise image using temporal reprojection "
7979 "(can leave some ghosting)");
7987 prop,
"Tracing Method",
"Select the tracing method used to find scene-ray intersections");
7993 "Jittered Shadows (Viewport)",
7994 "Enable jittered shadows on the viewport. (Jittered shadows are always "
7995 "enabled for final renders).");
8001 "Clamp Surface Direct",
8002 "If non-zero, the maximum value for lights contribution on a surface. "
8003 "Higher values will be scaled down to avoid too "
8004 "much noise and slow convergence at the cost of accuracy. "
8005 "Used by light objects.");
8012 "Clamp Surface Indirect",
8013 "If non-zero, the maximum value for indirect lighting on surface. "
8014 "Higher values will be scaled down to avoid too "
8015 "much noise and slow convergence at the cost of accuracy. "
8016 "Used by ray-tracing and light-probes.");
8024 "Clamp Volume Direct",
8025 "If non-zero, the maximum value for lights contribution in volumes. "
8026 "Higher values will be scaled down to avoid too "
8027 "much noise and slow convergence at the cost of accuracy. "
8028 "Used by light objects.");
8035 "Clamp Volume Indirect",
8036 "If non-zero, the maximum value for indirect lighting in volumes. "
8037 "Higher values will be scaled down to avoid too "
8038 "much noise and slow convergence at the cost of accuracy. "
8039 "Used by light-probes.");
8063 "Control the quality of the volumetric effects. "
8064 "Higher resolution uses more memory.");
8071 "Number of steps to compute volumetric effects. "
8072 "Higher step count increase VRAM usage and quality.");
8079 prop,
"Exponential Sampling",
"Distribute more samples closer to the camera");
8085 "Volume Max Ray Depth",
8086 "Maximum surface intersection count used by the accurate volume "
8087 "intersection method. Will create artifact if it is exceeded. "
8088 "Higher count increases VRAM usage.");
8103 "Volumetric Shadows",
8104 "Cast shadows from volumetric materials onto volumetric materials (Very expensive)");
8111 prop,
"Volumetric Shadow Samples",
"Number of samples to compute volumetric shadowing");
8118 "Volume Custom Range",
8119 "Enable custom start and end clip distances for volume computation");
8126 "Ambient Occlusion",
8127 "Enable ambient occlusion to simulate medium scale indirect shadowing");
8142 prop,
"Distance",
"Distance of object that contribute to the ambient occlusion effect");
8153 "Fast GI Approximation",
8154 "Use faster global illumination technique for high roughness surfaces");
8162 "Geometric thickness of the surfaces when computing fast GI and ambient occlusion. "
8163 "Reduces light leaking and missing contact occlusion.");
8173 "Angular thickness of the surfaces when computing fast GI and ambient occlusion. "
8174 "Reduces energy loss and missing occlusion of far geometry.");
8208 "If non-zero, the maximum distance at which other surfaces will "
8209 "contribute to the fast GI approximation");
8215 prop,
"Bias",
"Bias the shading normal to reduce self intersection artifacts");
8226 "Control the quality of the fast GI lighting. "
8227 "Higher resolution uses more memory.");
8235 prop,
"Max Size",
"Max size of the bokeh shape for the depth of field (lower is faster)");
8242 prop,
"Sprite Threshold",
"Brightness threshold for using sprite base depth of field");
8250 "Neighbor Rejection",
8251 "Maximum brightness to consider when rejecting bokeh sprites "
8252 "based on neighborhood (lower is faster)");
8262 "Jitter camera position to create accurate blurring "
8263 "using render samples (only for final render)");
8270 "Apply blur to each jittered sample to reduce "
8271 "under-sampling artifacts");
8280 "Lower values will reduce background"
8281 " bleeding onto foreground elements");
8297 "Controls accuracy of motion blur, "
8298 "more steps means longer render time");
8315 "Size of the shadow pool, "
8316 "a bigger pool size allows for more shadows in the scene "
8317 "but might not fit into GPU memory");
8324 prop,
"Shadow Ray Count",
"Amount of shadow ray to trace for each light");
8331 prop,
"Shadow Step Count",
"Amount of shadow map sample per shadow ray");
8338 "Minimum light intensity for a light to contribute to the lighting");
8349 "Internally render past the image border to avoid "
8350 "screen-space effects disappearing");
8357 "Percentage of render size to add as overscan to the "
8358 "internal render buffers");
8366 prop,
"Reflection Trace Options",
"EEVEE settings for tracing reflections");
8378 prop,
"Shadows Resolution Scale",
"Resolution percentage of shadow maps");
8398 "Anti-Aliasing Threshold",
8399 "Threshold for edge detection algorithm (higher values might over-blur "
8400 "some part of the image)");
8415 "Fast interactive editing through native Hydra integration"},
8420 "Export scene through USD file, for accurate comparison with USD file export"},
8421 {0,
nullptr, 0,
nullptr,
nullptr},
8431 prop,
"Export Method",
"How to export the Blender scene to the Hydra render engine");
8444 {0,
"NONE", 0,
"None",
"No distance attenuation"},
8445 {1,
"INVERSE", 0,
"Inverse",
"Inverse distance model"},
8446 {2,
"INVERSE_CLAMPED", 0,
"Inverse Clamped",
"Inverse distance model with clamping"},
8447 {3,
"LINEAR", 0,
"Linear",
"Linear distance model"},
8448 {4,
"LINEAR_CLAMPED", 0,
"Linear Clamped",
"Linear distance model with clamping"},
8449 {5,
"EXPONENT", 0,
"Exponential",
"Exponential distance model"},
8453 "Exponential Clamped",
8454 "Exponential distance model with clamping"},
8455 {0,
nullptr, 0,
nullptr,
nullptr},
8459 {0,
"NONE", 0,
"Play Every Frame",
"Do not sync, play every frame"},
8460 {
SCE_FRAME_DROP,
"FRAME_DROP", 0,
"Frame Dropping",
"Drop frames if playback is too slow"},
8461 {
AUDIO_SYNC,
"AUDIO_SYNC", 0,
"Sync to Audio",
"Sync to audio playback, dropping frames"},
8462 {0,
nullptr, 0,
nullptr,
nullptr},
8469 "Scene data-block, consisting in objects and "
8470 "defining time and render related settings");
8502 "rna_Scene_objects_begin",
8503 "rna_Scene_objects_next",
8504 "rna_Scene_objects_end",
8505 "rna_Scene_objects_get",
8521 "Current frame, to update animation data from Python frame_set() instead");
8538 prop,
"rna_Scene_frame_float_get",
"rna_Scene_frame_float_set",
nullptr);
8565 "Number of frames to skip forward while rendering/playing back each frame");
8573 prop,
"Current Frame Final",
"Current frame with subframe and time remapping applied");
8579 "Lock Frame Selection",
8580 "Don't allow frame to be selected with mouse outside of frame range");
8590 "Use Preview Range",
8591 "Use an alternative start/end frame range for animation playback and view renders");
8600 prop,
"Preview Range Start Frame",
"Alternative start frame for UI playback");
8608 prop,
"Preview Range End Frame",
"Alternative end frame for UI playback");
8616 prop,
"Show Subframe",
"Show current scene subframe and allow set it using interface tools");
8623 prop,
"Only Show Selected",
"Only include channels relating to selected objects and data");
8643 "Whether there is any action referenced by NLA being edited (strictly read-only)");
8651 prop,
"Frame Dropping",
"Play back dropping frames if frame display is too slow");
8658 "Custom Simulation Range",
8659 "Use a simulation range that is different from the scene range for "
8660 "simulation nodes that don't override the frame range themselves");
8710 "rna_Scene_all_keyingsets_begin",
8711 "rna_Scene_all_keyingsets_next",
8712 "rna_iterator_listbase_end",
8713 "rna_iterator_listbase_get",
8722 "All Keying Sets available for use (Builtins and Absolute Keying Sets for this Scene)");
8780 prop,
"Timeline Markers",
"Markers used in all timelines for the current scene");
8786 "rna_Scene_transform_orientation_slots_begin",
8787 "rna_iterator_array_next",
8788 "rna_iterator_array_end",
8789 "rna_iterator_array_get",
8790 "rna_Scene_transform_orientation_slots_length",
8808 prop,
"Play Audio",
"Play back of audio from Sequence Editor, otherwise mute audio");
8817 "Play back and sync with audio clock, dropping frames if frame display is too slow");
8824 prop,
"Audio Scrubbing",
"Play audio from Sequence Editor while scrubbing");
8832 prop,
"Speed of Sound",
"Speed of sound for Doppler effect calculation");
8847 prop,
"Distance Model",
"Distance model for distance attenuation calculation");
8858 func =
RNA_def_function(srna,
"update_render_engine",
"rna_Scene_update_render_engine");
8863 func =
RNA_def_function(srna,
"statistics",
"rna_Scene_statistics_string_get");
8865 parm =
RNA_def_pointer(func,
"view_layer",
"ViewLayer",
"View Layer",
"");
8867 parm =
RNA_def_string(func,
"statistics",
nullptr, 0,
"Statistics",
"");
8875 prop,
nullptr,
nullptr,
nullptr,
"rna_GPencil_datablocks_annotations_poll");
8879 prop,
"Annotations",
"Grease Pencil data-block used for annotations in the 3D view");
8888 "Active Movie Clip",
8889 "Active Movie Clip that can be used by motion tracking constraints "
8890 "or as a camera's background image");
8898 prop,
"View Settings",
"Color management settings applied on image before saving");
8904 prop,
"Display Settings",
"Settings of device saved image would be displayed on");
8910 prop,
"Sequencer Color Space Settings",
"Settings of color space sequencer is working in");
8927 "Scene root collection that owns all the objects and other collections "
8928 "instantiated in the scene");
struct KeyingSet * BKE_keyingset_add(struct ListBase *list, const char idname[], const char name[], short flag, short keyingflag)
void BKE_rotMode_change_values(float quat[4], float eul[3], float axis[3], float *angle, short oldMode, short newMode)
void BKE_brush_scale_size(int *r_brush_size, float new_unprojected_radius, float old_unprojected_radius)
void BKE_brush_scale_unprojected_radius(float *unprojected_radius, int new_brush_size, int old_brush_size)
#define FOREACH_COLLECTION_OBJECT_RECURSIVE_END
#define FOREACH_SCENE_OBJECT_END
void BKE_scene_objects_iterator_end(BLI_Iterator *iter)
#define FOREACH_COLLECTION_OBJECT_RECURSIVE_BEGIN(_collection, _object)
#define FOREACH_SCENE_OBJECT_BEGIN(scene, _instance)
void BKE_scene_objects_iterator_begin(BLI_Iterator *iter, void *data_in)
void BKE_scene_objects_iterator_next(BLI_Iterator *iter)
Depsgraph * CTX_data_depsgraph_pointer(const bContext *C)
Object * CTX_data_active_object(const bContext *C)
Scene * CTX_data_scene(const bContext *C)
Main * CTX_data_main(const bContext *C)
View3D * CTX_wm_view3d(const bContext *C)
ViewLayer * CTX_data_view_layer(const bContext *C)
struct FreestyleModuleConfig * BKE_freestyle_module_add(struct FreestyleConfig *config)
struct FreestyleLineSet * BKE_freestyle_lineset_add(struct Main *bmain, struct FreestyleConfig *config, const char *name)
struct FreestyleSettings FreestyleSettings
short BKE_freestyle_lineset_get_active_index(struct FreestyleConfig *config)
bool BKE_freestyle_lineset_delete(struct FreestyleConfig *config, struct FreestyleLineSet *lineset)
struct FreestyleLineSet * BKE_freestyle_lineset_get_active(struct FreestyleConfig *config)
void BKE_freestyle_lineset_set_active_index(struct FreestyleConfig *config, short index)
bool BKE_freestyle_module_delete(struct FreestyleConfig *config, struct FreestyleModuleConfig *module_conf)
ImBuf * BKE_image_acquire_ibuf(Image *ima, ImageUser *iuser, void **r_lock)
void BKE_image_release_ibuf(Image *ima, ImBuf *ibuf, void *lock)
bool BKE_image_is_stereo(const Image *ima)
void BKE_image_signal(Main *bmain, Image *ima, ImageUser *iuser, int signal)
void BKE_view_layer_rename_lightgroup(Scene *scene, ViewLayer *view_layer, ViewLayerLightgroup *lightgroup, const char *name)
ViewLayer * BKE_view_layer_find_with_aov(Scene *scene, ViewLayerAOV *aov)
void BKE_view_layer_synced_ensure(const Scene *scene, ViewLayer *view_layer)
void BKE_view_layer_verify_aov(RenderEngine *engine, Scene *scene, ViewLayer *view_layer)
ViewLayer * BKE_view_layer_find_with_lightgroup(Scene *scene, ViewLayerLightgroup *lightgroup)
ViewLayer * BKE_view_layer_add(Scene *scene, const char *name, ViewLayer *view_layer_source, int type)
Object * BKE_view_layer_active_object_get(const ViewLayer *view_layer)
void BKE_view_layer_rename(Main *bmain, Scene *scene, ViewLayer *view_layer, const char *newname)
blender::Vector< Object * > BKE_view_layer_array_from_objects_in_edit_mode_unique_data(const Scene *scene, ViewLayer *view_layer, const View3D *v3d)
void id_lib_extern(ID *id)
ID * BKE_id_owner_get(ID *id, const bool debug_relationship_assert=true)
void BKE_main_id_tag_listbase(ListBase *lb, int tag, bool value)
bool BKE_id_is_in_global_main(ID *id)
Mesh * BKE_mesh_from_object(Object *ob)
Paint * BKE_paint_get_active(Scene *sce, ViewLayer *view_layer)
Brush * BKE_paint_brush(Paint *paint)
void BKE_paint_invalidate_overlay_all()
int BKE_ptcache_object_reset(struct Scene *scene, struct Object *ob, int mode)
#define PTCACHE_RESET_DEPSGRAPH
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_report(ReportList *reports, eReportType type, const char *message)
bool BKE_scene_has_view_layer(const Scene *scene, const ViewLayer *layer)
int BKE_render_num_threads(const RenderData *r)
#define SETLOOPER_SET_ONLY(_sce_basis, _sce_iter, _base)
TransformOrientation * BKE_scene_transform_orientation_find(const Scene *scene, int index)
int BKE_scene_orientation_slot_get_index(const TransformOrientationSlot *orient_slot)
bool BKE_scene_use_spherical_stereo(Scene *scene)
void BKE_scene_orientation_slot_set_index(TransformOrientationSlot *orient_slot, int orientation)
bool BKE_scene_remove_render_view(Scene *scene, SceneRenderView *srv)
SceneRenderView * BKE_scene_add_render_view(Scene *sce, const char *name)
float BKE_scene_frame_to_ctime(const Scene *scene, int frame)
int BKE_unit_base_of_type_get(int system, int type)
const char * BKE_unit_identifier_get(const void *usys_pt, int index)
bool BKE_unit_is_suppressed(const void *usys_pt, int index)
void BKE_unit_system_get(int system, int type, const void **r_usys_pt, int *r_len)
const char * BKE_unit_display_name_get(const void *usys_pt, int index)
#define BLI_assert_unreachable()
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
#define LISTBASE_FOREACH(type, var, list)
bool BLI_listbase_move_index(ListBase *listbase, int from, int to) ATTR_NONNULL()
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
bool BLI_remlink_safe(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
int BLI_listbase_count(const struct ListBase *listbase) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE int max_ii(int a, int b)
void normalize_m4_m4(float rmat[4][4], const float mat[4][4]) ATTR_NONNULL()
void copy_m4_m4(float m1[4][4], const float m2[4][4])
MINLINE void copy_v3_v3(float r[3], const float a[3])
size_t BLI_str_escape(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL(1
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL(1
#define STRNCPY_UTF8(dst, src)
#define BLI_STR_UTF8_MULTIPLICATION_SIGN
void BLI_uniquename(const struct ListBase *list, void *vlink, const char *defname, char delim, int name_offset, size_t name_maxncpy) ATTR_NONNULL(1
int BLI_system_num_threads_override_get(void)
#define BLENDER_MAX_THREADS
#define BLT_I18NCONTEXT_EDITOR_VIEW3D
#define BLT_I18NCONTEXT_ID_WORLD
#define BLT_I18NCONTEXT_ID_CURVES
#define BLT_I18NCONTEXT_ID_CURVE_LEGACY
#define BLT_I18NCONTEXT_ID_SOUND
#define BLT_I18NCONTEXT_UNIT
#define BLT_I18NCONTEXT_ID_SCENE
void DEG_id_tag_update(ID *id, unsigned int flags)
void DEG_id_tag_update_ex(Main *bmain, ID *id, unsigned int flags)
void DEG_relations_tag_update(Main *bmain)
Object * DEG_get_evaluated_object(const Depsgraph *depsgraph, Object *object)
@ ID_RECALC_AUDIO_LISTENER
@ ID_RECALC_SEQUENCER_STRIPS
#define MAX_BRUSH_PIXEL_RADIUS
Object groups, one object can be in many groups at once.
@ FREESTYLE_CONTROL_EDITOR_MODE
@ FREESTYLE_CONTROL_SCRIPT_MODE
@ FREESTYLE_LINESET_FE_AND
@ FREESTYLE_LINESET_ENABLED
@ FREESTYLE_LINESET_FM_NOT
@ FREESTYLE_LINESET_FE_NOT
@ FREESTYLE_LINESET_FM_BOTH
@ FREESTYLE_LINESET_GR_NOT
@ FREESTYLE_FE_SILHOUETTE
@ FREESTYLE_FE_RIDGE_VALLEY
@ FREESTYLE_FE_EXTERNAL_CONTOUR
@ FREESTYLE_FE_SUGGESTIVE_CONTOUR
@ FREESTYLE_FE_MATERIAL_BOUNDARY
@ FREESTYLE_SEL_VISIBILITY
@ FREESTYLE_SEL_EDGE_TYPES
@ FREESTYLE_SEL_IMAGE_BORDER
@ FREESTYLE_SEL_FACE_MARK
@ FREESTYLE_FACE_SMOOTHNESS_FLAG
@ FREESTYLE_MATERIAL_BOUNDARIES_FLAG
@ FREESTYLE_RIDGES_AND_VALLEYS_FLAG
@ FREESTYLE_VIEW_MAP_CACHE
@ FREESTYLE_SUGGESTIVE_CONTOURS_FLAG
@ FREESTYLE_AS_RENDER_PASS
@ VIEW_LAYER_CRYPTOMATTE_MATERIAL
@ VIEW_LAYER_CRYPTOMATTE_ASSET
@ VIEW_LAYER_CRYPTOMATTE_ACCURATE
@ VIEW_LAYER_CRYPTOMATTE_OBJECT
@ EEVEE_RENDER_PASS_VOLUME_LIGHT
@ EEVEE_RENDER_PASS_TRANSPARENT
@ eModifierType_ParticleSystem
Object is a sort of wrapper for general info.
#define OB_TYPE_IS_GEOMETRY(_type)
Types and defines for representing Rigid Body entities.
@ WT_VGROUP_BONE_DEFORM_OFF
@ CURVE_PAINT_SURFACE_PLANE_NORMAL_SURFACE
@ CURVE_PAINT_SURFACE_PLANE_VIEW
@ CURVE_PAINT_SURFACE_PLANE_NORMAL_VIEW
@ SCE_WORKSPACE_TOOL_DEFAULT
@ SCE_WORKSPACE_TOOL_FALLBACK
@ SCE_XFORM_SKIP_CHILDREN
@ UVCALC_TRANSFORM_CORRECT
@ UVCALC_TRANSFORM_CORRECT_KEEP_CONNECTED
@ SCE_COMPOSITOR_PRECISION_FULL
@ SCE_COMPOSITOR_PRECISION_AUTO
@ CURVE_PAINT_FIT_METHOD_REFIT
@ CURVE_PAINT_FIT_METHOD_SPLIT
@ RAYTRACE_EEVEE_METHOD_SCREEN
@ RAYTRACE_EEVEE_METHOD_PROBE
@ UNIFIED_PAINT_BRUSH_LOCK_SIZE
@ UNIFIED_PAINT_INPUT_SAMPLES
@ SEQ_SNAP_TO_PREVIEW_CENTER
@ SEQ_SNAP_TO_STRIPS_PREVIEW
@ SEQ_SNAP_TO_PREVIEW_BORDERS
@ SEQ_SNAP_TO_CURRENT_FRAME
@ SCER_LOCK_FRAME_SELECTION
@ SEQ_SNAP_CURRENT_FRAME_TO_STRIPS
@ R_BAKE_TARGET_VERTEX_COLORS
@ R_BAKE_TARGET_IMAGE_TEXTURES
@ R_IMF_JP2_FLAG_CINE_PRESET
@ S3D_ANAGLYPH_YELLOWBLUE
@ S3D_ANAGLYPH_GREENMAGENTA
@ R_LINE_THICKNESS_ABSOLUTE
@ R_LINE_THICKNESS_RELATIVE
@ S3D_SIDEBYSIDE_CROSSEYED
@ FFMPEG_AUTOSPLIT_OUTPUT
@ FFMPEG_USE_MAX_B_FRAMES
#define PAINT_MAX_INPUT_SAMPLES
@ SCE_DISPLAY_AA_SAMPLES_32
@ SCE_DISPLAY_AA_SAMPLES_8
@ SCE_DISPLAY_AA_SAMPLES_11
@ SCE_DISPLAY_AA_SAMPLES_5
@ SCE_DISPLAY_AA_SAMPLES_16
@ CURVE_PAINT_PROJECT_CURSOR
@ CURVE_PAINT_PROJECT_SURFACE
@ SCE_VIEWS_FORMAT_STEREO_3D
@ SCE_VIEWS_FORMAT_MULTIVIEW
@ RAYTRACE_EEVEE_USE_DENOISE
@ R_BAKE_VIEW_FROM_ABOVE_SURFACE
@ R_BAKE_VIEW_FROM_ACTIVE_CAMERA
@ GP_SCULPT_MASK_SELECTMODE_POINT
@ GP_SCULPT_MASK_SELECTMODE_STROKE
@ GP_SCULPT_MASK_SELECTMODE_SEGMENT
@ R_IMF_IMTYPE_MULTILAYER
@ GP_VERTEX_MASK_SELECTMODE_SEGMENT
@ GP_VERTEX_MASK_SELECTMODE_STROKE
@ GP_VERTEX_MASK_SELECTMODE_POINT
#define SCE_SNAP_TO_VERTEX
@ CURVE_PAINT_FLAG_DEPTH_STROKE_ENDPOINTS
@ CURVE_PAINT_FLAG_DEPTH_STROKE_OFFSET_ABS
@ CURVE_PAINT_FLAG_CORNERS_DETECT
@ CURVE_PAINT_FLAG_PRESSURE_RADIUS
@ CURVE_PAINT_FLAG_DEPTH_ONLY_SELECTED
@ SCE_CUSTOM_SIMULATION_RANGE
@ R_SEQ_OVERRIDE_SCENE_SETTINGS
@ R_IMF_TIFF_CODEC_PACKBITS
@ R_IMF_TIFF_CODEC_DEFLATE
@ S3D_INTERLACE_CHECKERBOARD
@ OB_DRAW_GROUPUSER_ACTIVE
@ GP_PROJECT_DEPTH_STROKE_ENDPOINTS
@ GP_PROJECT_DEPTH_STROKE
@ GP_PROJECT_DEPTH_STROKE_FIRST
@ GP_PROJECT_DEPTH_ONLY_SELECTED
@ SCE_SNAP_TO_INCLUDE_EDITED
@ SCE_SNAP_TO_INCLUDE_NONEDITED
@ SCE_SNAP_BACKFACE_CULLING
@ SCE_SNAP_KEEP_ON_SAME_OBJECT
@ SCE_SNAP_TO_ONLY_SELECTABLE
@ SIMPLIFY_GPENCIL_ON_PLAY
@ SIMPLIFY_GPENCIL_MODIFIER
@ SIMPLIFY_GPENCIL_ENABLE
@ SCE_EEVEE_FAST_GI_ENABLED
@ SCE_EEVEE_SHADOW_ENABLED
@ SCE_EEVEE_VOLUME_CUSTOM_RANGE
@ SCE_EEVEE_VOLUMETRIC_SHADOWS
@ SCE_EEVEE_SHADOW_JITTERED_VIEWPORT
@ SCE_EEVEE_TAA_REPROJECTION
#define STEREO_RIGHT_NAME
@ GP_TOOL_FLAG_RETAIN_LAST
@ GP_TOOL_FLAG_THUMBNAIL_LIST
@ GP_TOOL_FLAG_PAINT_ONBACK
@ GP_TOOL_FLAG_AUTOMERGE_STROKE
@ GP_TOOL_FLAG_CREATE_WEIGHTS
@ GP_USE_MULTI_FRAME_EDITING
@ SCE_SNAP_TRANSFORM_MODE_SCALE
@ SCE_SNAP_TRANSFORM_MODE_ROTATE
@ SCE_SNAP_TRANSFORM_MODE_TRANSLATE
@ FFM_CHANNELS_SURROUND51
@ FFM_CHANNELS_SURROUND71
#define USER_UNIT_ADAPTIVE
@ SCE_COMPOSITOR_DEVICE_GPU
@ SCE_COMPOSITOR_DEVICE_CPU
@ SCE_SNAP_SOURCE_CLOSEST
@ R_IMF_COLOR_MANAGEMENT_FOLLOW_SCENE
@ R_IMF_COLOR_MANAGEMENT_OVERRIDE
@ R_BAKE_PASS_FILTER_DIFFUSE
@ R_BAKE_PASS_FILTER_NONE
@ R_BAKE_PASS_FILTER_COLOR
@ R_BAKE_PASS_FILTER_INDIRECT
@ R_BAKE_PASS_FILTER_DIRECT
@ R_BAKE_PASS_FILTER_GLOSSY
@ R_BAKE_PASS_FILTER_EMIT
@ R_BAKE_PASS_FILTER_TRANSM
@ SCE_PASS_SUBSURFACE_INDIRECT
@ SCE_PASS_SUBSURFACE_COLOR
@ SCE_PASS_DIFFUSE_DIRECT
@ SCE_PASS_GLOSSY_INDIRECT
@ SCE_PASS_TRANSM_INDIRECT
@ SCE_PASS_DIFFUSE_INDIRECT
@ SCE_PASS_SUBSURFACE_DIRECT
@ RAYTRACE_EEVEE_DENOISE_BILATERAL
@ RAYTRACE_EEVEE_DENOISE_SPATIAL
@ RAYTRACE_EEVEE_DENOISE_TEMPORAL
@ SCE_SNAP_INDIVIDUAL_NEAREST
@ SCE_SNAP_INDIVIDUAL_PROJECT
#define FRAMENUMBER_MIN_CLAMP(cfra)
@ AUTOKEY_FLAG_LAYERED_RECORD
@ AUTOKEY_FLAG_ONLYKEYINGSET
@ V3D_PLACE_ORIENT_DEFAULT
@ V3D_PLACE_ORIENT_SURFACE
@ V3D_AROUND_CENTER_BOUNDS
@ V3D_AROUND_CENTER_MEDIAN
@ V3D_AROUND_LOCAL_ORIGINS
@ V3D_PLACE_DEPTH_CURSOR_VIEW
@ V3D_PLACE_DEPTH_CURSOR_PLANE
@ V3D_PLACE_DEPTH_SURFACE
const char * ED_info_statistics_string(Main *bmain, Scene *scene, ViewLayer *view_layer)
void EDBM_selectmode_set(BMEditMesh *em)
void ED_node_tree_propagate_change(const bContext *C, Main *bmain, bNodeTree *ntree)
void ED_node_composit_default(const bContext *C, Scene *scene)
void ED_render_engine_changed(Main *bmain, bool update_scene_data)
bool ED_scene_view_layer_delete(Main *bmain, Scene *scene, ViewLayer *layer, ReportList *reports) ATTR_NONNULL(1
void ED_uvedit_selectmode_clean_multi(bContext *C)
void FRS_free_view_map_cache(void)
Contains defines and structs used throughout the imbuf module.
Read Guarded memory(de)allocation.
#define RE_BAKE_DISPLACEMENT
#define RNA_POINTER_INVALIDATE(ptr)
const EnumPropertyItem * rna_TransformOrientation_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *prop, bool *r_free)
#define RNA_TRANSLATION_PREC_DEFAULT
@ PROPOVERRIDE_OVERRIDABLE_LIBRARY
@ PROPOVERRIDE_NO_COMPARISON
#define RNA_ENUM_ITEM_HEADING(name, description)
#define ND_SPACE_SEQUENCER
#define ND_RENDER_OPTIONS
#define ND_DRAW_RENDER_VIEWPORT
ListBase builtin_keyingsets
const Depsgraph * depsgraph
node_ attributes set("label", ss.str())
draw_view in_light_buf[] float
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_cache_cleanup(Scene *scene)
RenderEngineType * RE_engines_find(const char *idname)
RenderEngine * RE_engine_create(RenderEngineType *type)
void RE_engine_free(RenderEngine *engine)
int ANIM_scene_get_keyingset_index(Scene *scene, KeyingSet *keyingset)
KeyingSet * ANIM_scene_get_active_keyingset(const Scene *scene)
void MEM_freeN(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
void scene_simulation_states_reset(Scene &scene)
void ntreeCompositUpdateRLayers(bNodeTree *ntree)
static struct PyModuleDef module
void rna_iterator_listbase_begin(CollectionPropertyIterator *iter, ListBase *lb, IteratorSkipFunc skip)
void rna_iterator_array_begin(CollectionPropertyIterator *iter, void *ptr, int itemsize, int length, bool free_ptr, IteratorSkipFunc skip)
PointerRNA rna_pointer_inherit_refine(const PointerRNA *ptr, StructRNA *type, void *data)
void rna_def_animdata_common(StructRNA *srna)
static const EnumPropertyItem curve_type_items[]
void RNA_enum_items_add(EnumPropertyItem **items, int *totitem, const EnumPropertyItem *item)
void RNA_def_struct_name_property(StructRNA *srna, PropertyRNA *prop)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, const int maxlen, const char *ui_name, const char *ui_description)
void RNA_def_property_pointer_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_struct_path_func(StructRNA *srna, const char *path)
void RNA_define_animate_sdna(bool animate)
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t bit)
void RNA_def_parameter_clear_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void RNA_def_property_string_funcs(PropertyRNA *prop, const char *get, const char *length, const char *set)
void RNA_def_property_float_default(PropertyRNA *prop, float value)
void RNA_def_function_return(FunctionRNA *func, PropertyRNA *ret)
void RNA_def_property_enum_default(PropertyRNA *prop, int value)
void RNA_def_property_float_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
void RNA_def_property_string_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_ui_icon(PropertyRNA *prop, int icon, int consecutive)
void RNA_def_property_srna(PropertyRNA *prop, const char *type)
void RNA_def_property_collection_funcs(PropertyRNA *prop, const char *begin, const char *next, const char *end, const char *get, const char *length, const char *lookupint, const char *lookupstring, const char *assignint)
void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description)
void RNA_def_property_boolean_default(PropertyRNA *prop, bool value)
void RNA_def_property_boolean_funcs(PropertyRNA *prop, const char *get, const char *set)
void RNA_def_property_multi_array(PropertyRNA *prop, int dimension, const int length[])
void RNA_def_property_int_default(PropertyRNA *prop, int value)
const float rna_default_axis_angle[4]
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
void RNA_def_struct_sdna(StructRNA *srna, const char *structname)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
void RNA_def_struct_clear_flag(StructRNA *srna, int flag)
void RNA_def_property_array(PropertyRNA *prop, int length)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
PropertyRNA * RNA_def_pointer(StructOrFunctionRNA *cont_, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
void RNA_def_property_struct_type(PropertyRNA *prop, const char *type)
void RNA_def_property_collection_sdna(PropertyRNA *prop, const char *structname, const char *propname, const char *lengthpropname)
void RNA_def_function_ui_description(FunctionRNA *func, const char *description)
void RNA_def_property_update(PropertyRNA *prop, int noteflag, const char *func)
const int rna_matrix_dimsize_4x4[]
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
void RNA_def_property_enum_funcs(PropertyRNA *prop, const char *get, const char *set, const char *item)
void RNA_def_property_enum_bitflag_sdna(PropertyRNA *prop, const char *structname, const char *propname)
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
void RNA_enum_item_end(EnumPropertyItem **items, int *totitem)
void RNA_def_function_flag(FunctionRNA *func, int flag)
void RNA_def_property_clear_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_property_pointer_funcs(PropertyRNA *prop, const char *get, const char *set, const char *type_fn, const char *poll)
void RNA_def_property_enum_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_enum_item_add(EnumPropertyItem **items, int *totitem, const EnumPropertyItem *item)
void RNA_def_property_int_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
const int rna_matrix_dimsize_3x3[]
void RNA_def_struct_ui_icon(StructRNA *srna, int icon)
void RNA_def_property_translation_context(PropertyRNA *prop, const char *context)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_enum_item_add_separator(EnumPropertyItem **items, int *totitem)
void RNA_def_property_float_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_ui_range(PropertyRNA *prop, double min, double max, double step, int precision)
void RNA_def_property_int_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_float_array_default(PropertyRNA *prop, const float *array)
PropertyRNA * RNA_def_int(StructOrFunctionRNA *cont_, const char *identifier, const int default_value, const int hardmin, const int hardmax, const char *ui_name, const char *ui_description, const int softmin, const int softmax)
void RNA_def_property_boolean_negative_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t booleanbit)
void RNA_def_struct_nested(BlenderRNA *brna, StructRNA *srna, const char *structname)
void RNA_def_property_override_flag(PropertyRNA *prop, PropertyOverrideFlag flag)
void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
const EnumPropertyItem rna_enum_beztriple_keyframe_type_items[]
void rna_Scene_use_view_map_cache_update(Main *bmain, Scene *scene, PointerRNA *ptr)
void rna_FreestyleSettings_module_remove(ID *id, FreestyleSettings *config, ReportList *reports, PointerRNA *module_ptr)
PointerRNA rna_FreestyleSettings_active_lineset_get(PointerRNA *ptr)
int rna_FreestyleSettings_active_lineset_index_get(PointerRNA *ptr)
int rna_ViewLayer_active_aov_index_get(PointerRNA *ptr)
void rna_Scene_render_update(Main *bmain, Scene *scene, PointerRNA *ptr)
size_t rna_ViewLayer_path_buffer_get(const ViewLayer *view_layer, char *r_rna_path, const size_t rna_path_buffer_size)
void RNA_api_scene(StructRNA *srna)
void rna_Scene_freestyle_update(Main *bmain, Scene *scene, PointerRNA *ptr)
FreestyleLineSet * rna_FreestyleSettings_lineset_add(ID *id, FreestyleSettings *config, Main *bmain, const char *name)
void rna_ViewLayer_active_aov_index_set(PointerRNA *ptr, int value)
void rna_FreestyleLineSet_linestyle_set(PointerRNA *ptr, PointerRNA value, ReportList *reports)
void rna_FreestyleSettings_lineset_remove(ID *id, FreestyleSettings *config, ReportList *reports, PointerRNA *lineset_ptr)
void rna_ViewLayer_active_aov_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax)
void rna_FreestyleSettings_active_lineset_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax)
void RNA_api_scene_render(StructRNA *srna)
void rna_ViewLayer_override_update(Main *bmain, Scene *activescene, PointerRNA *ptr)
FreestyleModuleConfig * rna_FreestyleSettings_module_add(ID *id, FreestyleSettings *config)
PointerRNA rna_FreestyleLineSet_linestyle_get(PointerRNA *ptr)
void rna_ViewLayer_name_set(PointerRNA *ptr, const char *value)
int rna_ViewLayer_active_lightgroup_index_get(PointerRNA *ptr)
void rna_ViewLayer_active_lightgroup_index_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax)
void rna_FreestyleSettings_active_lineset_index_set(PointerRNA *ptr, int value)
void rna_ViewLayer_active_lightgroup_index_set(PointerRNA *ptr, int value)
void rna_ViewLayer_pass_update(Main *bmain, Scene *activescene, PointerRNA *ptr)
const EnumPropertyItem rna_enum_axis_xyz_items[]
const EnumPropertyItem rna_enum_object_rotation_mode_items[]
const EnumPropertyItem rna_enum_object_axis_items[]
const EnumPropertyItem rna_enum_dummy_DEFAULT_items[]
const EnumPropertyItem rna_enum_mesh_select_mode_uv_items[]
static void rna_def_raytrace_eevee(BlenderRNA *brna)
static void rna_def_view3d_cursor(BlenderRNA *brna)
static void rna_def_scene_ffmpeg_settings(BlenderRNA *brna)
void rna_def_freestyle_settings(BlenderRNA *brna)
const EnumPropertyItem rna_enum_image_color_depth_items[]
const EnumPropertyItem rna_enum_image_type_items[]
static void rna_def_scene_keying_sets_all(BlenderRNA *brna, PropertyRNA *cprop)
static void rna_def_display_safe_areas(BlenderRNA *brna)
const EnumPropertyItem rna_enum_proportional_falloff_curve_only_items[]
static void rna_def_timeline_markers(BlenderRNA *brna, PropertyRNA *cprop)
static void rna_def_scene_gpencil(BlenderRNA *brna)
static const EnumPropertyItem plane_depth_items[]
static const EnumPropertyItem eevee_resolution_scale_items[]
static const EnumPropertyItem plane_orientation_items[]
const EnumPropertyItem rna_enum_views_format_multilayer_items[]
const EnumPropertyItem rna_enum_mesh_select_mode_items[]
static void rna_def_curve_paint_settings(BlenderRNA *brna)
static void rna_def_scene_keying_sets(BlenderRNA *brna, PropertyRNA *cprop)
static void rna_def_scene_display(BlenderRNA *brna)
static void rna_def_tool_settings(BlenderRNA *brna)
void rna_def_view_layer_common(BlenderRNA *brna, StructRNA *srna, const bool scene)
static void rna_def_freestyle_linesets(BlenderRNA *brna, PropertyRNA *cprop)
const EnumPropertyItem rna_enum_stereo3d_display_items[]
const EnumPropertyItem rna_enum_normal_swizzle_items[]
static const EnumPropertyItem rna_enum_scene_display_aa_methods[]
static void rna_def_scene_objects(BlenderRNA *brna, PropertyRNA *cprop)
static void rna_def_scene_eevee(BlenderRNA *brna)
static void rna_def_view_layer_lightgroups(BlenderRNA *brna, PropertyRNA *cprop)
static const EnumPropertyItem snap_uv_element_items[]
#define R_IMF_VIEWS_ENUM_MV
static void rna_def_selected_uv_element(BlenderRNA *brna)
static void rna_def_transform_orientation_slot(BlenderRNA *brna)
const EnumPropertyItem rna_enum_grease_pencil_selectmode_items[]
const EnumPropertyItem rna_enum_proportional_falloff_items[]
void RNA_def_scene(BlenderRNA *brna)
const EnumPropertyItem rna_enum_snap_animation_element_items[]
const EnumPropertyItem rna_enum_snap_node_element_items[]
static void rna_def_gpencil_interpolate(BlenderRNA *brna)
static void rna_def_scene_hydra(BlenderRNA *brna)
static void rna_def_bake_data(BlenderRNA *brna)
static void rna_def_sequencer_tool_settings(BlenderRNA *brna)
#define R_IMF_VIEWS_ENUM_IND
static const EnumPropertyItem rna_enum_snap_element_base_items[]
static void rna_def_view_layer_lightgroup(BlenderRNA *brna)
static void rna_def_transform_orientation(BlenderRNA *brna)
static void rna_def_scene_image_format_data(BlenderRNA *brna)
const EnumPropertyItem rna_enum_bake_pass_filter_type_items[]
static void rna_def_statvis(BlenderRNA *brna)
const EnumPropertyItem rna_enum_snap_source_items[]
const EnumPropertyItem rna_enum_snap_element_items[]
const EnumPropertyItem rna_enum_bake_save_mode_items[]
static void rna_def_scene_render_view(BlenderRNA *brna)
static void rna_def_view_layer_aovs(BlenderRNA *brna, PropertyRNA *cprop)
static const EnumPropertyItem snap_to_items[]
static const EnumPropertyItem rna_enum_view_layer_aov_type_items[]
static const EnumPropertyItem rna_enum_bake_view_from_items[]
const EnumPropertyItem rna_enum_bake_margin_type_items[]
static void rna_def_view_layer_eevee(BlenderRNA *brna)
const EnumPropertyItem rna_enum_bake_target_items[]
static void rna_def_freestyle_modules(BlenderRNA *brna, PropertyRNA *cprop)
const EnumPropertyItem rna_enum_curve_fit_method_items[]
const EnumPropertyItem rna_enum_views_format_items[]
const EnumPropertyItem rna_enum_transform_pivot_full_items[]
static void rna_def_render_views(BlenderRNA *brna, PropertyRNA *cprop)
const EnumPropertyItem rna_enum_normal_space_items[]
static void rna_def_unified_paint_settings(BlenderRNA *brna)
const EnumPropertyItem rna_enum_views_format_multiview_items[]
#define IMAGE_TYPE_ITEMS_IMAGE_ONLY
const EnumPropertyItem rna_enum_transform_orientation_items[]
const EnumPropertyItem rna_enum_stereo3d_anaglyph_type_items[]
const EnumPropertyItem rna_enum_stereo3d_interlace_type_items[]
#define R_IMF_VIEWS_ENUM_S3D
#define RNA_SNAP_ELEMENTS_BASE
static const EnumPropertyItem * rna_enum_snap_element_individual_items
static void rna_def_view_layer_aov(BlenderRNA *brna)
static void rna_def_unit_settings(BlenderRNA *brna)
static void rna_def_image_format_stereo3d_format(BlenderRNA *brna)
const EnumPropertyItem rna_enum_image_color_mode_items[]
static void rna_def_scene_render_data(BlenderRNA *brna)
static void rna_def_view_layers(BlenderRNA *brna, PropertyRNA *cprop)
const EnumPropertyItem rna_enum_shading_type_items[]
void SEQ_sound_update_length(Main *bmain, Scene *scene)
static const EnumPropertyItem scale_fit_methods[]
void RE_FreePersistentData(const Scene *scene)
ListBaseIterator listbase
union CollectionPropertyIterator::@1329 internal
struct ModifierData * next
struct Collection * instance_collection
ObjectRuntimeHandle * runtime
struct ParticleSystem * next
struct ImageFormatData im_format
struct FFMpegCodecData ffcodecdata
void(* update_render_passes)(struct RenderEngine *engine, struct Scene *scene, struct ViewLayer *view_layer)
ViewLayerLightgroup * active_lightgroup
ViewLayerAOV * active_aov
struct bNodeSocket * next
const c_style_mat & ptr() const
void WM_main_add_notifier(uint type, void *reference)
ViewLayer * WM_window_get_active_view_layer(const wmWindow *win)
Scene * WM_window_get_active_scene(const wmWindow *win)
void WM_windows_scene_data_sync(const ListBase *win_lb, Scene *scene)