39 class AlembicProcedural;
59 class CurveSystemManager;
305 node->set_owner(
this);
317 assert(
node->get_owner() ==
this);
325 assert(
node->get_owner() == owner);
371 template<>
Light *Scene::create_node<Light>();
373 template<>
Mesh *Scene::create_node<Mesh>();
375 template<>
Object *Scene::create_node<Object>();
377 template<>
Hair *Scene::create_node<Hair>();
379 template<>
Volume *Scene::create_node<Volume>();
383 template<>
Shader *Scene::create_node<Shader>();
385 template<> AlembicProcedural *Scene::create_node<AlembicProcedural>();
CCL_NAMESPACE_BEGIN typedef KernelBVHLayout BVHLayout
device_vector< DecomposedTransform > object_motion
device_vector< float4 > tri_vnormal
device_vector< float4 > prim_tri_verts
device_vector< float2 > prim_time
device_vector< uint > patches
device_vector< uint > prim_visibility
device_vector< uint4 > tri_vindex
device_vector< KernelShader > shaders
device_vector< uint > prim_tri_index
device_vector< float2 > attributes_float2
device_vector< Transform > object_motion_pass
device_vector< uint4 > attributes_map
device_vector< float > object_volume_step
device_vector< float4 > curves
device_vector< int > object_node
device_vector< float2 > light_background_marginal_cdf
DeviceScene(Device *device)
device_vector< float > lookup_table
device_vector< int > prim_object
device_vector< float4 > curve_keys
device_vector< float > ies_lights
device_vector< float2 > light_background_conditional_cdf
device_vector< KernelParticle > particles
device_vector< KernelLightDistribution > light_distribution
device_vector< uint > sample_pattern_lut
device_vector< int4 > bvh_leaf_nodes
device_vector< uint > tri_shader
device_vector< uint > object_flag
device_vector< DecomposedTransform > camera_motion
device_vector< float > attributes_float
device_vector< int4 > svm_nodes
device_vector< float2 > tri_patch_uv
device_vector< uint > tri_patch
device_vector< int > prim_type
device_vector< float4 > attributes_float3
device_vector< KernelLight > lights
device_vector< int4 > bvh_nodes
device_vector< KernelObject > objects
device_vector< int > prim_index
device_vector< uchar4 > attributes_uchar4
bool use_bvh_unaligned_nodes
bool use_bvh_spatial_split
CurveShapeType hair_shape
bool modified(const SceneParams ¶ms)
ShadingSystem shadingsystem
#define CCL_NAMESPACE_END
BakeManager * bake_manager
T * create_node(Args &&... args)
bool need_global_attribute(AttributeStandard std)
ParticleSystemManager * particle_system_manager
vector< Geometry * > geometry
void need_global_attributes(AttributeRequestSet &attributes)
vector< Shader * > shaders
vector< Procedural * > procedurals
int get_max_closure_count()
bool load_kernels(Progress &progress, bool lock_scene=true)
LookupTables * lookup_tables
DeviceRequestedFeatures get_requested_device_features()
void free_memory(bool final)
vector< ParticleSystem * > particle_systems
ImageManager * image_manager
void enable_update_stats()
Shader * default_background
vector< Object * > objects
ObjectManager * object_manager
void delete_node(T *node)
void delete_nodes(const set< T * > &nodes)
ProceduralManager * procedural_manager
ShaderManager * shader_manager
DeviceRequestedFeatures loaded_kernel_features
void delete_node_impl(T *node)
LightManager * light_manager
bool update(Progress &progress, bool &kernel_switch_needed)
void delete_node(T *node, const NodeOwner *owner)
void collect_statistics(RenderStats *stats)
SceneUpdateStats * update_stats
GeometryManager * geometry_manager
void delete_nodes(const set< T * > &nodes, const NodeOwner *owner)
float motion_shutter_time()
Scene(const SceneParams ¶ms, Device *device)
void device_update(Device *device, Progress &progress)
ccl_device_inline int clamp(int a, int mn, int mx)
CCL_NAMESPACE_BEGIN typedef std::mutex thread_mutex