Blender V4.3
Scene Class Reference

#include <DNA_scene_types.h>

Inherits NodeOwner.

Public Types

enum  MotionType { MOTION_NONE = 0 , MOTION_PASS , MOTION_BLUR }
 

Public Member Functions

 Scene (const SceneParams &params, Device *device)
 
 ~Scene ()
 
void device_update (Device *device, Progress &progress)
 
bool need_global_attribute (AttributeStandard std)
 
void need_global_attributes (AttributeRequestSet &attributes)
 
MotionType need_motion () const
 
float motion_shutter_time ()
 
bool need_update ()
 
bool need_reset (const bool check_camera=true)
 
void reset ()
 
void device_free ()
 
void collect_statistics (RenderStats *stats)
 
void enable_update_stats ()
 
bool load_kernels (Progress &progress)
 
bool update (Progress &progress)
 
bool has_shadow_catcher ()
 
void tag_shadow_catcher_modified ()
 
template<typename T , typename... Args>
Tcreate_node (Args &&...args)
 
template<typename T >
void delete_node (T *node)
 
template<typename T >
void delete_node (T *node, const NodeOwner *owner)
 
template<typename T >
void delete_nodes (const set< T * > &nodes)
 
template<typename T >
void delete_nodes (const set< T * > &nodes, const NodeOwner *owner)
 
template<>
Lightcreate_node ()
 
template<>
Meshcreate_node ()
 
template<>
Haircreate_node ()
 
template<>
Volumecreate_node ()
 
template<>
PointCloudcreate_node ()
 
template<>
Objectcreate_node ()
 
template<>
ParticleSystemcreate_node ()
 
template<>
Shadercreate_node ()
 
template<>
AlembicProcedural * create_node ()
 
template<>
Passcreate_node ()
 
template<>
void delete_node_impl (Light *node)
 
template<>
void delete_node_impl (Mesh *node)
 
template<>
void delete_node_impl (Hair *node)
 
template<>
void delete_node_impl (Volume *node)
 
template<>
void delete_node_impl (PointCloud *node)
 
template<>
void delete_node_impl (Geometry *node)
 
template<>
void delete_node_impl (Object *node)
 
template<>
void delete_node_impl (ParticleSystem *node)
 
template<>
void delete_node_impl (Shader *shader)
 
template<>
void delete_node_impl (Procedural *node)
 
template<>
void delete_node_impl (AlembicProcedural *node)
 
template<>
void delete_node_impl (Pass *node)
 
template<>
void delete_nodes (const set< Light * > &nodes, const NodeOwner *owner)
 
template<>
void delete_nodes (const set< Geometry * > &nodes, const NodeOwner *owner)
 
template<>
void delete_nodes (const set< Object * > &nodes, const NodeOwner *owner)
 
template<>
void delete_nodes (const set< ParticleSystem * > &nodes, const NodeOwner *owner)
 
template<>
void delete_nodes (const set< Shader * > &nodes, const NodeOwner *)
 
template<>
void delete_nodes (const set< Procedural * > &nodes, const NodeOwner *owner)
 
template<>
void delete_nodes (const set< Pass * > &nodes, const NodeOwner *owner)
 
template<>
Lightcreate_node ()
 
template<>
Meshcreate_node ()
 
template<>
Objectcreate_node ()
 
template<>
Haircreate_node ()
 
template<>
Volumecreate_node ()
 
template<>
PointCloudcreate_node ()
 
template<>
ParticleSystemcreate_node ()
 
template<>
Shadercreate_node ()
 
template<>
AlembicProcedural * create_node ()
 
template<>
Passcreate_node ()
 
template<>
void delete_node_impl (Light *node)
 
template<>
void delete_node_impl (Mesh *node)
 
template<>
void delete_node_impl (Volume *node)
 
template<>
void delete_node_impl (PointCloud *node)
 
template<>
void delete_node_impl (Hair *node)
 
template<>
void delete_node_impl (Geometry *node)
 
template<>
void delete_node_impl (Object *node)
 
template<>
void delete_node_impl (ParticleSystem *node)
 
template<>
void delete_node_impl (Shader *node)
 
template<>
void delete_node_impl (Procedural *node)
 
template<>
void delete_node_impl (AlembicProcedural *node)
 
template<>
void delete_node_impl (Pass *node)
 
template<>
void delete_nodes (const set< Light * > &nodes, const NodeOwner *owner)
 
template<>
void delete_nodes (const set< Geometry * > &nodes, const NodeOwner *owner)
 
template<>
void delete_nodes (const set< Object * > &nodes, const NodeOwner *owner)
 
template<>
void delete_nodes (const set< ParticleSystem * > &nodes, const NodeOwner *owner)
 
template<>
void delete_nodes (const set< Shader * > &nodes, const NodeOwner *owner)
 
template<>
void delete_nodes (const set< Procedural * > &nodes, const NodeOwner *owner)
 
template<>
void delete_nodes (const set< Pass * > &nodes, const NodeOwner *owner)
 
- Public Member Functions inherited from NodeOwner
virtual ~NodeOwner ()
 

Public Attributes

ID id
 
struct AnimDataadt
 
DrawDataList drawdata
 
struct Objectcamera
 
struct Worldworld
 
struct Sceneset
 
ListBase base DNA_DEPRECATED
 
struct Base *basact DNA_DEPRECATED
 
void * _pad1
 
View3DCursor cursor
 
unsigned int lay DNA_DEPRECATED
 
int layact DNA_DEPRECATED
 
char _pad2 [4]
 
short flag
 
char use_nodes
 
char _pad3 [1]
 
struct bNodeTreenodetree
 
struct Editinged
 
struct ToolSettingstoolsettings
 
void * _pad4
 
struct DisplaySafeAreas safe_areas
 
struct RenderData r
 
struct AudioData audio
 
ListBase markers
 
ListBase transform_spaces
 
TransformOrientationSlot orientation_slots [4]
 
void * sound_scene
 
void * playback_handle
 
void * sound_scrub_handle
 
void * speaker_handles
 
void * fps_info
 
struct GHashdepsgraph_hash
 
char _pad7 [4]
 
int active_keyingset
 
ListBase keyingsets
 
struct UnitSettings unit
 
struct bGPdatagpd
 
struct MovieClipclip
 
struct PhysicsSettings physics_settings
 
void * _pad8
 
struct CustomData_MeshMasks customdata_mask
 
struct CustomData_MeshMasks customdata_mask_modal
 
ColorManagedViewSettings view_settings
 
ColorManagedDisplaySettings display_settings
 
ColorManagedColorspaceSettings sequencer_colorspace_settings
 
struct RigidBodyWorldrigidbody_world
 
struct PreviewImagepreview
 
ListBase view_layers
 
struct Collectionmaster_collection
 
IDPropertylayer_properties
 
int simulation_frame_start
 
int simulation_frame_end
 
struct SceneDisplay display
 
struct SceneEEVEE eevee
 
struct SceneGpencil grease_pencil_settings
 
struct SceneHydra hydra
 
SceneRuntimeHandleruntime
 
void * _pad9
 
string name
 
map< ustring, intlightgroups
 
BVHbvh
 
Cameracamera
 
Cameradicing_camera
 
LookupTableslookup_tables
 
Filmfilm
 
Backgroundbackground
 
Integratorintegrator
 
vector< Object * > objects
 
vector< Geometry * > geometry
 
vector< Shader * > shaders
 
vector< Light * > lights
 
vector< ParticleSystem * > particle_systems
 
vector< Pass * > passes
 
vector< Procedural * > procedurals
 
ImageManagerimage_manager
 
LightManagerlight_manager
 
ShaderManagershader_manager
 
GeometryManagergeometry_manager
 
ObjectManagerobject_manager
 
ParticleSystemManagerparticle_system_manager
 
BakeManagerbake_manager
 
ProceduralManagerprocedural_manager
 
Shaderdefault_surface
 
Shaderdefault_volume
 
Shaderdefault_light
 
Shaderdefault_background
 
Shaderdefault_empty
 
Devicedevice
 
DeviceScene dscene
 
SceneParams params
 
thread_mutex mutex
 
SceneUpdateStatsupdate_stats
 

Protected Member Functions

bool need_data_update ()
 
void free_memory (bool final)
 
void update_kernel_features ()
 
int get_max_closure_count ()
 
int get_volume_stack_size () const
 
template<typename T >
void delete_node_impl (T *node)
 

Protected Attributes

bool kernels_loaded
 
uint loaded_kernel_features
 
bool has_shadow_catcher_ = false
 
bool shadow_catcher_modified_ = true
 
int max_closure_global
 

Detailed Description

Member Enumeration Documentation

◆ MotionType

Enumerator
MOTION_NONE 
MOTION_PASS 
MOTION_BLUR 

Definition at line 177 of file scene.h.

Constructor & Destructor Documentation

◆ Scene()

◆ ~Scene()

Scene::~Scene ( )

Definition at line 79 of file scene.cpp.

References free_memory().

Member Function Documentation

◆ collect_statistics()

void Scene::collect_statistics ( RenderStats * stats)

◆ create_node() [1/21]

template<>
Light * Scene::create_node ( )

Definition at line 748 of file scene.cpp.

References LightManager::LIGHT_ADDED, light_manager, lights, node, and LightManager::tag_update().

Referenced by Scene().

◆ create_node() [2/21]

template<>
Mesh * Scene::create_node ( )

◆ create_node() [3/21]

template<>
Hair * Scene::create_node ( )

◆ create_node() [4/21]

template<>
Volume * Scene::create_node ( )

◆ create_node() [5/21]

template<>
PointCloud * Scene::create_node ( )

◆ create_node() [6/21]

template<>
Object * Scene::create_node ( )

◆ create_node() [7/21]

template<>
ParticleSystem * Scene::create_node ( )

◆ create_node() [8/21]

template<>
Shader * Scene::create_node ( )

◆ create_node() [9/21]

template<>
AlembicProcedural * Scene::create_node ( )

Definition at line 820 of file scene.cpp.

References node, procedural_manager, procedurals, and ProceduralManager::tag_update().

◆ create_node() [10/21]

template<>
Pass * Scene::create_node ( )

Definition at line 833 of file scene.cpp.

References node.

◆ create_node() [11/21]

template<>
Light * Scene::create_node ( )

◆ create_node() [12/21]

template<>
Mesh * Scene::create_node ( )

◆ create_node() [13/21]

template<>
Object * Scene::create_node ( )

◆ create_node() [14/21]

template<>
Hair * Scene::create_node ( )

◆ create_node() [15/21]

template<>
Volume * Scene::create_node ( )

◆ create_node() [16/21]

template<>
PointCloud * Scene::create_node ( )

◆ create_node() [17/21]

template<>
ParticleSystem * Scene::create_node ( )

◆ create_node() [18/21]

template<>
Shader * Scene::create_node ( )

◆ create_node() [19/21]

template<>
AlembicProcedural * Scene::create_node ( )

◆ create_node() [20/21]

template<>
Pass * Scene::create_node ( )

◆ create_node() [21/21]

template<typename T , typename... Args>
T * Scene::create_node ( Args &&... args)
inline

Definition at line 203 of file scene.h.

References node, and T.

Referenced by session_init().

◆ delete_node() [1/2]

template<typename T >
void Scene::delete_node ( T * node)
inline

Definition at line 216 of file scene.h.

References delete_node_impl().

◆ delete_node() [2/2]

template<typename T >
void Scene::delete_node ( T * node,
const NodeOwner * owner )
inline

Definition at line 224 of file scene.h.

References delete_node_impl().

◆ delete_node_impl() [1/25]

template<>
void Scene::delete_node_impl ( AlembicProcedural * node)

Definition at line 924 of file scene.cpp.

References delete_node_impl().

◆ delete_node_impl() [2/25]

template<>
void Scene::delete_node_impl ( AlembicProcedural * node)

◆ delete_node_impl() [3/25]

template<>
void Scene::delete_node_impl ( Geometry * node)

◆ delete_node_impl() [4/25]

template<>
void Scene::delete_node_impl ( Geometry * node)

◆ delete_node_impl() [5/25]

template<>
void Scene::delete_node_impl ( Hair * node)

◆ delete_node_impl() [6/25]

template<>
void Scene::delete_node_impl ( Hair * node)

◆ delete_node_impl() [7/25]

template<>
void Scene::delete_node_impl ( Light * node)

◆ delete_node_impl() [8/25]

template<>
void Scene::delete_node_impl ( Light * node)

◆ delete_node_impl() [9/25]

template<>
void Scene::delete_node_impl ( Mesh * node)

◆ delete_node_impl() [10/25]

template<>
void Scene::delete_node_impl ( Mesh * node)

◆ delete_node_impl() [11/25]

template<>
void Scene::delete_node_impl ( Object * node)

◆ delete_node_impl() [12/25]

template<>
void Scene::delete_node_impl ( Object * node)

◆ delete_node_impl() [13/25]

template<>
void Scene::delete_node_impl ( ParticleSystem * node)

◆ delete_node_impl() [14/25]

template<>
void Scene::delete_node_impl ( ParticleSystem * node)

◆ delete_node_impl() [15/25]

template<>
void Scene::delete_node_impl ( Pass * node)

Definition at line 933 of file scene.cpp.

References delete_node_from_array().

◆ delete_node_impl() [16/25]

template<>
void Scene::delete_node_impl ( Pass * node)

◆ delete_node_impl() [17/25]

template<>
void Scene::delete_node_impl ( PointCloud * node)

◆ delete_node_impl() [18/25]

template<>
void Scene::delete_node_impl ( PointCloud * node)

◆ delete_node_impl() [19/25]

template<>
void Scene::delete_node_impl ( Procedural * node)

◆ delete_node_impl() [20/25]

template<>
void Scene::delete_node_impl ( Procedural * node)

◆ delete_node_impl() [21/25]

template<>
void Scene::delete_node_impl ( Shader * node)

◆ delete_node_impl() [22/25]

template<>
void Scene::delete_node_impl ( Shader * shader)

Definition at line 912 of file scene.cpp.

◆ delete_node_impl() [23/25]

template<typename T >
void Scene::delete_node_impl ( T * node)
inlineprotected

Definition at line 268 of file scene.h.

References node.

Referenced by delete_node(), delete_node(), and delete_node_impl().

◆ delete_node_impl() [24/25]

template<>
void Scene::delete_node_impl ( Volume * node)

◆ delete_node_impl() [25/25]

template<>
void Scene::delete_node_impl ( Volume * node)

◆ delete_nodes() [1/16]

template<>
void Scene::delete_nodes ( const set< Geometry * > & nodes,
const NodeOwner * owner )

◆ delete_nodes() [2/16]

template<>
void Scene::delete_nodes ( const set< Geometry * > & nodes,
const NodeOwner * owner )

◆ delete_nodes() [3/16]

template<>
void Scene::delete_nodes ( const set< Light * > & nodes,
const NodeOwner * owner )

◆ delete_nodes() [4/16]

template<>
void Scene::delete_nodes ( const set< Light * > & nodes,
const NodeOwner * owner )

◆ delete_nodes() [5/16]

template<>
void Scene::delete_nodes ( const set< Object * > & nodes,
const NodeOwner * owner )

◆ delete_nodes() [6/16]

template<>
void Scene::delete_nodes ( const set< Object * > & nodes,
const NodeOwner * owner )

◆ delete_nodes() [7/16]

template<>
void Scene::delete_nodes ( const set< ParticleSystem * > & nodes,
const NodeOwner * owner )

◆ delete_nodes() [8/16]

template<>
void Scene::delete_nodes ( const set< ParticleSystem * > & nodes,
const NodeOwner * owner )

◆ delete_nodes() [9/16]

template<>
void Scene::delete_nodes ( const set< Pass * > & nodes,
const NodeOwner * owner )

Definition at line 1002 of file scene.cpp.

References remove_nodes_in_set().

◆ delete_nodes() [10/16]

template<>
void Scene::delete_nodes ( const set< Pass * > & nodes,
const NodeOwner * owner )

◆ delete_nodes() [11/16]

template<>
void Scene::delete_nodes ( const set< Procedural * > & nodes,
const NodeOwner * owner )

◆ delete_nodes() [12/16]

template<>
void Scene::delete_nodes ( const set< Procedural * > & nodes,
const NodeOwner * owner )

◆ delete_nodes() [13/16]

template<>
void Scene::delete_nodes ( const set< Shader * > & nodes,
const NodeOwner *  )

Definition at line 988 of file scene.cpp.

◆ delete_nodes() [14/16]

template<>
void Scene::delete_nodes ( const set< Shader * > & nodes,
const NodeOwner * owner )

◆ delete_nodes() [15/16]

template<typename T >
void Scene::delete_nodes ( const set< T * > & nodes)
inline

Definition at line 234 of file scene.h.

References delete_nodes().

Referenced by delete_nodes(), and HdCyclesSession::SyncAovBindings().

◆ delete_nodes() [16/16]

template<typename T >
void Scene::delete_nodes ( const set< T * > & nodes,
const NodeOwner * owner )

◆ device_free()

void Scene::device_free ( )

Definition at line 454 of file scene.cpp.

References free_memory().

◆ device_update()

◆ enable_update_stats()

void Scene::enable_update_stats ( )

Definition at line 465 of file scene.cpp.

References update_stats.

◆ free_memory()

◆ get_max_closure_count()

int Scene::get_max_closure_count ( )
protected

◆ get_volume_stack_size()

int Scene::get_volume_stack_size ( ) const
protected

Definition at line 682 of file scene.cpp.

References MAX_VOLUME_STACK_SIZE, min, objects, and VLOG_WORK.

Referenced by device_update().

◆ has_shadow_catcher()

bool Scene::has_shadow_catcher ( )

Definition at line 726 of file scene.cpp.

References has_shadow_catcher_, objects, and shadow_catcher_modified_.

◆ load_kernels()

◆ motion_shutter_time()

float Scene::motion_shutter_time ( )

Definition at line 375 of file scene.cpp.

References MOTION_PASS, and need_motion().

◆ need_data_update()

◆ need_global_attribute()

◆ need_global_attributes()

void Scene::need_global_attributes ( AttributeRequestSet & attributes)

Definition at line 405 of file scene.cpp.

References ATTR_STD_NONE, ATTR_STD_NUM, and need_global_attribute().

◆ need_motion()

Scene::MotionType Scene::need_motion ( ) const

◆ need_reset()

bool Scene::need_reset ( const bool check_camera = true)

Definition at line 429 of file scene.cpp.

References need_data_update().

Referenced by need_update().

◆ need_update()

bool Scene::need_update ( )

Definition at line 414 of file scene.cpp.

References need_reset().

Referenced by update(), and update_kernel_features().

◆ reset()

◆ tag_shadow_catcher_modified()

void Scene::tag_shadow_catcher_modified ( )

Definition at line 743 of file scene.cpp.

References shadow_catcher_modified_.

◆ update()

bool Scene::update ( Progress & progress)

Definition at line 574 of file scene.cpp.

References device, device_update(), MEM_GUARDED_CALL, need_update(), and Progress::set_status().

◆ update_kernel_features()

Member Data Documentation

◆ _pad1

void* Scene::_pad1

Definition at line 2006 of file DNA_scene_types.h.

◆ _pad2

char Scene::_pad2[4]

Definition at line 2015 of file DNA_scene_types.h.

◆ _pad3

char Scene::_pad3[1]

Definition at line 2021 of file DNA_scene_types.h.

◆ _pad4

void* Scene::_pad4

Definition at line 2030 of file DNA_scene_types.h.

◆ _pad7

char Scene::_pad7[4]

Definition at line 2054 of file DNA_scene_types.h.

◆ _pad8

void* Scene::_pad8

Definition at line 2078 of file DNA_scene_types.h.

◆ _pad9

void* Scene::_pad9

Definition at line 2118 of file DNA_scene_types.h.

◆ active_keyingset

int Scene::active_keyingset

Index of the active KeyingSet. first KeyingSet has index 1, 'none' active is 0, 'add new' is -1

Definition at line 2061 of file DNA_scene_types.h.

◆ adt

◆ audio

struct AudioData Scene::audio

◆ background

Background* Scene::background

Definition at line 127 of file scene.h.

Referenced by free_memory().

◆ bake_manager

BakeManager* Scene::bake_manager

Definition at line 146 of file scene.h.

Referenced by device_update(), free_memory(), need_data_update(), Scene(), and update_kernel_features().

◆ bvh

BVH* Scene::bvh

Definition at line 122 of file scene.h.

Referenced by free_memory().

◆ camera [1/2]

Camera* Scene::camera

Definition at line 123 of file scene.h.

◆ camera [2/2]

◆ clip

struct MovieClip* Scene::clip

Active movie clip.

Definition at line 2073 of file DNA_scene_types.h.

Referenced by actedit_get_context(), followtrack_context_init(), and followtrack_tracking_clip_get().

◆ cursor

◆ customdata_mask

struct CustomData_MeshMasks Scene::customdata_mask

XXX: runtime flag for drawing, actually belongs in the window, only used by BKE_object_handle_update()

Definition at line 2083 of file DNA_scene_types.h.

Referenced by scene_blend_read_data(), and screen_opengl_render_init().

◆ customdata_mask_modal

struct CustomData_MeshMasks Scene::customdata_mask_modal

XXX: same as customdata_mask but for temp operator use (viewport renders).

Definition at line 2085 of file DNA_scene_types.h.

Referenced by scene_blend_read_data(), screen_opengl_render_end(), and screen_opengl_render_init().

◆ default_background

Shader* Scene::default_background

Definition at line 153 of file scene.h.

◆ default_empty

Shader* Scene::default_empty

Definition at line 154 of file scene.h.

◆ default_light

Shader* Scene::default_light

Definition at line 152 of file scene.h.

◆ default_surface

Shader* Scene::default_surface

Definition at line 150 of file scene.h.

◆ default_volume

Shader* Scene::default_volume

Definition at line 151 of file scene.h.

◆ depsgraph_hash

struct GHash* Scene::depsgraph_hash

None of the dependency graph vars is mean to be saved.

Definition at line 2053 of file DNA_scene_types.h.

Referenced by scene_blend_read_data(), and scene_copy_data().

◆ device

Device* Scene::device

Definition at line 157 of file scene.h.

Referenced by device_update(), free_memory(), load_kernels(), Scene(), update(), and update_kernel_features().

◆ dicing_camera

Camera* Scene::dicing_camera

Definition at line 124 of file scene.h.

Referenced by free_memory(), reset(), and Scene().

◆ display

◆ display_settings

◆ DNA_DEPRECATED [1/4]

ListBase base Scene::DNA_DEPRECATED

Definition at line 2003 of file DNA_scene_types.h.

◆ DNA_DEPRECATED [2/4]

struct Base* basact Scene::DNA_DEPRECATED

Active base.

Definition at line 2005 of file DNA_scene_types.h.

◆ DNA_DEPRECATED [3/4]

unsigned int lay Scene::DNA_DEPRECATED

Bit-flags for layer visibility (deprecated).

Definition at line 2012 of file DNA_scene_types.h.

◆ DNA_DEPRECATED [4/4]

int layact Scene::DNA_DEPRECATED

Active layer (deprecated).

Definition at line 2014 of file DNA_scene_types.h.

◆ drawdata

DrawDataList Scene::drawdata

Engines draw data, must be immediately after AnimData. See IdDdtTemplate and DRW_drawdatalist_from_id to understand this requirement.

Definition at line 1996 of file DNA_scene_types.h.

◆ dscene

DeviceScene Scene::dscene

Definition at line 158 of file scene.h.

Referenced by device_update(), free_memory(), load_kernels(), Scene(), and update_kernel_features().

◆ ed

◆ eevee

◆ film

Film* Scene::film

Definition at line 126 of file scene.h.

Referenced by free_memory().

◆ flag

◆ fps_info

void* Scene::fps_info

(runtime) info/cache used for presenting playback frame-rate info to the user.

Definition at line 2050 of file DNA_scene_types.h.

Referenced by scene_blend_read_data(), and scene_copy_data().

◆ geometry

vector<Geometry *> Scene::geometry

Definition at line 132 of file scene.h.

◆ geometry_manager

◆ gpd

struct bGPdata* Scene::gpd

Grease Pencil - Annotations.

Definition at line 2069 of file DNA_scene_types.h.

Referenced by animdata_filter_dopesheet_scene(), and BKE_scene_duplicate().

◆ grease_pencil_settings

struct SceneGpencil Scene::grease_pencil_settings

Definition at line 2114 of file DNA_scene_types.h.

Referenced by GPENCIL_antialiasing_init().

◆ has_shadow_catcher_

bool Scene::has_shadow_catcher_ = false
protected

Definition at line 256 of file scene.h.

Referenced by has_shadow_catcher().

◆ hydra

struct SceneHydra Scene::hydra

Definition at line 2115 of file DNA_scene_types.h.

Referenced by blender::render::hydra::Engine::sync().

◆ id

ID Scene::id

Definition at line 1989 of file DNA_scene_types.h.

Referenced by BKE_blendfile_library_relocate(), BKE_scene_add(), BKE_scene_duplicate(), Freestyle::BlenderStrokeRenderer::BlenderStrokeRenderer(), blo_do_versions_250(), blo_do_versions_pre250(), box_select_graphcurves(), box_select_graphkeys(), blender::deg::DepsgraphRelationBuilder::build_animdata_force(), blender::deg::DepsgraphRelationBuilder::build_object_data_geometry(), blender::deg::DepsgraphRelationBuilder::build_object_from_view_layer_base(), blender::deg::DepsgraphRelationBuilder::build_object_pointcache(), blender::deg::AbstractBuilderPipeline::build_step_finalize(), blender::deg::DepsgraphRelationBuilder::build_view_layer_collections(), calcEdgeSlide_mval_range(), UnitConverter::calculate_scale(), check_valid_compositing_camera(), cmp_node_rlayer_create_outputs(), blender::ed::outliner::collection_duplicate_exec(), blender::ed::space_node::compo_startjob(), create_ghost_curves(), createTransGraphEditData(), cryptomatte_init_from_node_render(), blender::deg::deg_create_eval_copy(), DEG_get_evaluated_scene(), DEG_graph_tag_relations_update(), do_lasso_select_objects(), do_lasso_select_pose(), do_object_box_select(), blender::ed::outliner::do_outliner_item_mode_toggle_generic(), do_pose_box_select(), draw_seq_text_get_source(), driver_get_target_context_property(), blender::draw::drw_particle_update_ptcache(), blender::draw::drw_particle_update_ptcache_edit(), DRW_shader_from_material(), DRW_shader_from_world(), ED_node_composit_default(), ED_scene_sequencer_add(), blender::ed::outliner::TreeElementViewLayerBase::expand(), DocumentExporter::exportCurrentScene(), eyedropper_cryptomatte_sample_render_fl(), DocumentImporter::finish(), freeSeqData(), FRS_do_stroke_rendering(), get_graph_keyframe_extents(), get_nearest_fcurve_verts_list(), blender::seq::get_seq_base_path(), gizmo_preselect_edgering_test_select(), gizmo_render_border_prop_matrix_set(), insert_graph_keys(), knifetool_init_obinfo(), lib_link_scenes_check_set(), blender::ed::object::make_links_scene_exec(), mirror_graph_keys(), blender::nodes::node_composite_render_layer_cc::node_composit_poll_rlayers(), blender::ed::space_node::node_render_changed_exec(), blender::bke::node_tree_iterator_step(), OVERLAY_edit_particle_cache_populate(), RE_bake_engine(), RE_engine_render(), RE_RenderAnim(), recalcData_cursor_2D_impl(), recalcData_cursor_view3d(), recalcData_sequencer(), recalcData_sequencer_image(), remove_sequencer_fcurves(), blender::render::hydra::FinalEngine::render(), render_endjob(), render_result_exr_file_cache_path(), ringsel_find_edge(), saveTransform(), scene_blend_read_after_liblink(), scene_blend_read_data(), scene_blend_write(), scene_copy_data(), scene_keyframes_loop(), scene_to_keylist(), screen_animation_step_invoke(), seq_add_set_name(), blender::deg::seq_build_prop_cb(), seq_prefetch_frames(), sequencer_clipboard_paste_exec(), sequencer_paste_animation(), sequencer_write_copy_paste_file(), blender::ed::outliner::singleuser_world_fn(), snap_graph_keys(), strip_draw_context_curve_get(), sum_selected_keyframes(), blender::seq::thumbnail_cache_invalidate_strip(), transform_convert_mesh_crazyspace_detect(), view3d_circle_select_exec(), and wm_event_do_handlers().

◆ image_manager

◆ integrator

Integrator* Scene::integrator

◆ kernels_loaded

bool Scene::kernels_loaded
protected

Definition at line 251 of file scene.h.

Referenced by load_kernels().

◆ keyingsets

ListBase Scene::keyingsets

KeyingSets for this scene.

Definition at line 2063 of file DNA_scene_types.h.

Referenced by scene_blend_read_data(), scene_blend_write(), and scene_copy_data().

◆ layer_properties

IDProperty* Scene::layer_properties

Settings to be override by work-spaces.

Definition at line 2103 of file DNA_scene_types.h.

Referenced by scene_blend_read_data(), and scene_blend_write().

◆ light_manager

LightManager* Scene::light_manager

◆ lightgroups

map<ustring, int> Scene::lightgroups

Definition at line 119 of file scene.h.

◆ lights

vector<Light *> Scene::lights

◆ loaded_kernel_features

uint Scene::loaded_kernel_features
protected

Definition at line 252 of file scene.h.

Referenced by load_kernels().

◆ lookup_tables

LookupTables* Scene::lookup_tables

Definition at line 125 of file scene.h.

Referenced by device_update(), free_memory(), need_data_update(), and Scene().

◆ markers

◆ master_collection

◆ max_closure_global

int Scene::max_closure_global
protected

Definition at line 260 of file scene.h.

Referenced by get_max_closure_count().

◆ mutex

thread_mutex Scene::mutex

◆ name

string Scene::name

Definition at line 116 of file scene.h.

Referenced by BlenderSession::create_session().

◆ nodetree

◆ object_manager

ObjectManager* Scene::object_manager

◆ objects

◆ orientation_slots

TransformOrientationSlot Scene::orientation_slots[4]

First is the [scene, translate, rotate, scale].

Definition at line 2042 of file DNA_scene_types.h.

Referenced by initTransInfo().

◆ params

SceneParams Scene::params

Definition at line 161 of file scene.h.

Referenced by Scene(), and update_kernel_features().

◆ particle_system_manager

ParticleSystemManager* Scene::particle_system_manager

◆ particle_systems

vector<ParticleSystem *> Scene::particle_systems

Definition at line 135 of file scene.h.

Referenced by create_node(), delete_node_impl(), delete_nodes(), and free_memory().

◆ passes

vector<Pass *> Scene::passes

Definition at line 136 of file scene.h.

◆ physics_settings

struct PhysicsSettings Scene::physics_settings

◆ playback_handle

void* Scene::playback_handle

Definition at line 2045 of file DNA_scene_types.h.

◆ preview

struct PreviewImage* Scene::preview

◆ procedural_manager

ProceduralManager* Scene::procedural_manager

◆ procedurals

vector<Procedural *> Scene::procedurals

Definition at line 137 of file scene.h.

Referenced by create_node(), delete_node_impl(), delete_nodes(), and free_memory().

◆ r

struct RenderData Scene::r

Definition at line 2035 of file DNA_scene_types.h.

Referenced by actkeys_framejump_exec(), actkeys_previewrange_exec(), ANIM_frame_channel_y_extents(), blender::ed::object::bake_simulation::bake_geometry_nodes_startjob(), blender::ed::object::bake_targets_output_external(), BKE_image_format_init_for_write(), BKE_image_get_size(), BKE_scene_add_render_view(), BKE_scene_duplicate(), Freestyle::BlenderStrokeRenderer::BlenderStrokeRenderer(), blo_do_versions_250(), blo_do_versions_pre250(), btw_smooth_graph_keys(), btw_smooth_invoke(), btw_smooth_modal_update(), constraintTransLim(), createTransSeqImageData(), do_render_compositor_scene(), do_render_compositor_scenes(), do_render_full_pipeline(), do_render_sequencer(), do_sequence_proxy(), do_versions_after_linking_280(), do_versions_image_settings_2_60(), do_versions_nodetree_multi_file_output_format_2_62_1(), draw_backdrops(), draw_timeline_backdrop(), blender::draw::DRW_curves_pos_buffer_get(), DRW_hair_pos_buffer_get(), DRW_shgroup_hair_create_sub(), dynamicPaint_bakeImageSequence(), ed_marker_add_exec(), ED_markers_draw(), ED_view3d_has_depth_buffer_updated(), blender::fill_scene_timeline(), get_keyframe_extents(), get_nlastrip_extents(), blender::render::Context::get_precision(), blender::draw::compositor::Context::get_render_data(), blender::ed::greasepencil::grease_pencil_copy_keyframes(), blender::ed::greasepencil::grease_pencil_paste_keyframes(), blender::ed::greasepencil::grease_pencil_primitive_invoke(), image_get_render_result(), image_save_single(), blender::eevee::Film::init(), blender::eevee::Sampling::init(), blender::eevee::VelocityModule::init(), blender::io::hydra::VolumeModifierData::init(), init_view(), initSeqSlide(), initTimeScale(), insert_grease_pencil_key(), nlaedit_add_sound_exec(), nlaedit_split_exec(), blender::ed::space_node::node_render_changed_exec(), object_preview_render(), CamerasExporter::operator()(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::PaintOperationExecutor(), particles_fluid_step(), pose_slide_init(), blender::ed::space_node::preview_prepare_scene(), preview_prepare_scene(), psys_get_particle_state(), pyrna_struct_keyframe_parse(), RE_bake_engine(), RE_engine_render(), RE_PreviewRender(), recalcData_sequencer_image(), blender::render::hydra::FinalEngine::render(), render_endjob(), render_engine_supports_ray_visibility(), render_startjob(), renderresult_stampinfo(), scene_blend_read_data(), scene_blend_write(), scene_copy_data(), screen_opengl_is_multiview(), screen_opengl_render_anim_init(), screen_opengl_views_setup(), screen_render_single_layer_set(), SEQ_add_reload_new_file(), SEQ_add_scene_strip(), SEQ_get_seqbase_from_sequence(), seq_get_text_strip_cb(), seq_prefetch_frames(), seq_prefetch_need_suspend(), seq_prefetch_update_area(), SEQ_sound_update_bounds(), SEQ_time_sequence_get_fps(), sequencer_clipboard_paste_exec(), sequencer_scene_frame_range_update_exec(), sequencer_view_zoom_ratio_exec(), sequencer_write_copy_paste_file(), set_frame_range(), shader_preview_render(), shader_preview_texture(), blender::ed::object::bake_simulation::simulate_to_frame_startjob(), sound_mixdown_exec(), blender::eevee::VelocityModule::step_camera_sync(), blender::render::hydra::Engine::tasks(), and track_markers_endjob().

◆ rigidbody_world

struct RigidBodyWorld* Scene::rigidbody_world

◆ runtime

SceneRuntimeHandle* Scene::runtime

Definition at line 2117 of file DNA_scene_types.h.

Referenced by scene_blend_read_data(), and scene_copy_data().

◆ safe_areas

struct DisplaySafeAreas Scene::safe_areas

Definition at line 2031 of file DNA_scene_types.h.

◆ sequencer_colorspace_settings

ColorManagedColorspaceSettings Scene::sequencer_colorspace_settings

Definition at line 2090 of file DNA_scene_types.h.

Referenced by BKE_scene_duplicate(), and scene_copy_data().

◆ set

struct Scene* Scene::set

◆ shader_manager

◆ shaders

vector<Shader *> Scene::shaders

Definition at line 133 of file scene.h.

◆ shadow_catcher_modified_

bool Scene::shadow_catcher_modified_ = true
protected

Definition at line 257 of file scene.h.

Referenced by has_shadow_catcher(), and tag_shadow_catcher_modified().

◆ simulation_frame_end

int Scene::simulation_frame_end

Definition at line 2110 of file DNA_scene_types.h.

◆ simulation_frame_start

int Scene::simulation_frame_start

Frame range used for simulations in geometry nodes by default, if SCE_CUSTOM_SIMULATION_RANGE is set. Individual simulations can overwrite this though.

Definition at line 2109 of file DNA_scene_types.h.

◆ sound_scene

void* Scene::sound_scene

Definition at line 2044 of file DNA_scene_types.h.

Referenced by seq_update_scene_strip_sound(), and sound_mixdown_exec().

◆ sound_scrub_handle

void* Scene::sound_scrub_handle

Definition at line 2046 of file DNA_scene_types.h.

◆ speaker_handles

void* Scene::speaker_handles

Definition at line 2047 of file DNA_scene_types.h.

◆ toolsettings

struct ToolSettings* Scene::toolsettings

Default allocated now.

Definition at line 2029 of file DNA_scene_types.h.

Referenced by add_vertex_invoke(), annotation_paint_strokeend(), annotation_stroke_addpoint(), annotation_stroke_newfrombuffer(), BKE_paint_ensure_from_paintmode(), BKE_paint_get_active(), BKE_paint_get_active_from_context(), BKE_paint_get_active_from_paintmode(), BKE_paint_init(), BKE_scene_duplicate(), blo_do_versions_pre250(), blender::ed::curves::curve_draw_event_add_first(), curve_draw_event_add_first(), curve_draw_exec(), blender::ed::curves::curve_draw_exec_precalc(), curve_draw_exec_precalc(), blender::ed::curves::curve_draw_init(), curve_draw_init(), curve_draw_invoke(), blender::ed::curves::curves_draw_exec(), blender::ed::curves::curves_draw_invoke(), do_grease_pencil_box_select(), do_lasso_select_grease_pencil(), do_lasso_select_mesh(), do_mesh_box_select(), ed_grease_pencil_select_pick(), ed_marker_make_links_scene_exec(), edbm_dupli_extrude_cursor_invoke(), edbm_select_linked_pick_invoke(), edbm_shortest_path_pick_invoke(), blender::ed::sculpt_paint::AddOperationExecutor::execute(), blender::ed::sculpt_paint::CombOperationExecutor::execute(), blender::ed::sculpt_paint::CurvesEffectOperationExecutor::execute(), blender::ed::sculpt_paint::DeleteOperationExecutor::execute(), blender::ed::sculpt_paint::DensityAddOperationExecutor::execute(), blender::ed::sculpt_paint::DensitySubtractOperationExecutor::execute(), blender::ed::sculpt_paint::PinchOperationExecutor::execute(), blender::ed::sculpt_paint::PuffOperationExecutor::execute(), blender::ed::sculpt_paint::SelectionPaintOperationExecutor::execute(), blender::ed::sculpt_paint::SlideOperationExecutor::execute(), blender::ed::sculpt_paint::SmoothOperationExecutor::execute(), blender::ed::sculpt_paint::SnakeHookOperatorExecutor::execute(), graphkeys_click_insert_exec(), blender::ed::sculpt_paint::grease_pencil_brush_cursor_draw(), grease_pencil_circle_select(), grease_pencil_object_cache_populate(), blender::ed::greasepencil::grease_pencil_primitive_invoke(), blender::ed::greasepencil::grease_pencil_primitive_update_curves(), image_main_region_listener(), initTransInfo(), is_selection_visible(), mesh_circle_select(), blender::workbench::ObjectState::ObjectState(), blender::ed::outliner::outliner_draw_mode_column(), OVERLAY_edit_mesh_cache_init(), OVERLAY_paint_cache_init(), blender::ed::sculpt_paint::paint_cursor_context_init(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::PaintOperationExecutor(), project_paint_op(), psys_cache_paths(), psys_update_path_cache(), scene_blend_read_data(), scene_blend_write(), scene_copy_data(), scene_undo_preserve(), blender::ed::greasepencil::selection_update(), SEQ_transform_seqbase_shuffle_time(), special_aftertrans_update__mesh(), blender::ed::object::vertex_group_deselect_exec(), blender::ed::object::vertex_group_select_exec(), view3d_interactive_add_modal(), blender::ed::greasepencil::weight_sample_invoke(), and weight_sample_invoke().

◆ transform_spaces

ListBase Scene::transform_spaces

Definition at line 2039 of file DNA_scene_types.h.

Referenced by scene_blend_read_data(), scene_blend_write(), and scene_copy_data().

◆ unit

◆ update_stats

SceneUpdateStats* Scene::update_stats

Definition at line 167 of file scene.h.

Referenced by device_update(), enable_update_stats(), and free_memory().

◆ use_nodes

char Scene::use_nodes

Definition at line 2020 of file DNA_scene_types.h.

Referenced by do_render_compositor(), and DRW_is_viewport_compositor_enabled().

◆ view_layers

◆ view_settings

◆ world


The documentation for this class was generated from the following files: