26 class AlembicProcedural;
47 class CurveSystemManager;
287 node->set_owner(
this);
299 assert(
node->get_owner() ==
this);
307 assert(
node->get_owner() == owner);
356 template<>
Light *Scene::create_node<Light>();
358 template<>
Mesh *Scene::create_node<Mesh>();
360 template<>
Object *Scene::create_node<Object>();
362 template<>
Hair *Scene::create_node<Hair>();
364 template<>
Volume *Scene::create_node<Volume>();
370 template<>
Shader *Scene::create_node<Shader>();
372 template<> AlembicProcedural *Scene::create_node<AlembicProcedural>();
374 template<>
Pass *Scene::create_node<Pass>();
device_vector< DecomposedTransform > object_motion
device_vector< uint > points_shader
device_vector< float2 > prim_time
device_vector< uint > patches
device_vector< float4 > points
device_vector< uint > prim_visibility
device_vector< uint4 > tri_vindex
device_vector< KernelShader > shaders
device_vector< float4 > attributes_float4
device_vector< KernelCurveSegment > curve_segments
device_vector< float2 > attributes_float2
device_vector< Transform > object_motion_pass
device_vector< float > object_volume_step
device_vector< AttributeMap > attributes_map
device_vector< KernelCurve > curves
device_vector< int > object_node
device_vector< float2 > light_background_marginal_cdf
device_vector< packed_float3 > attributes_float3
DeviceScene(Device *device)
device_vector< float > lookup_table
device_vector< int > prim_object
device_vector< uint > object_prim_offset
device_vector< float4 > curve_keys
device_vector< packed_float3 > tri_vnormal
device_vector< float > ies_lights
device_vector< float2 > light_background_conditional_cdf
device_vector< KernelParticle > particles
device_vector< KernelLightDistribution > light_distribution
device_vector< int4 > bvh_leaf_nodes
device_vector< float > sample_pattern_lut
device_vector< uint > tri_shader
device_vector< packed_float3 > tri_verts
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< 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) const
bool use_bvh_compact_structure
ShadingSystem shadingsystem
#define CCL_NAMESPACE_END
SyclQueue void void size_t num_bytes void
T clamp(const T &a, const T &min, const T &max)
CCL_NAMESPACE_BEGIN typedef KernelBVHLayout BVHLayout
BakeManager * bake_manager
T * create_node(Args &&...args)
bool need_global_attribute(AttributeStandard std)
ParticleSystemManager * particle_system_manager
vector< Geometry * > geometry
MotionType need_motion() const
void need_global_attributes(AttributeRequestSet &attributes)
bool update(Progress &progress)
vector< Shader * > shaders
vector< Procedural * > procedurals
int get_max_closure_count()
bool load_kernels(Progress &progress, bool lock_scene=true)
LookupTables * lookup_tables
void tag_shadow_catcher_modified()
void free_memory(bool final)
vector< ParticleSystem * > particle_systems
ImageManager * image_manager
void enable_update_stats()
Shader * default_background
uint loaded_kernel_features
vector< Object * > objects
ObjectManager * object_manager
void delete_node(T *node)
bool shadow_catcher_modified_
void update_kernel_features()
void delete_nodes(const set< T * > &nodes)
bool has_shadow_catcher()
ProceduralManager * procedural_manager
ShaderManager * shader_manager
void delete_node_impl(T *node)
LightManager * light_manager
int get_volume_stack_size() const
void delete_node(T *node, const NodeOwner *owner)
map< ustring, int > lightgroups
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_NAMESPACE_BEGIN typedef std::mutex thread_mutex