142 PARTICLE_MODIFIED = (1 << 0),
143 GEOMETRY_MANAGER = (1 << 1),
144 MOTION_BLUR_MODIFIED = (1 << 2),
145 OBJECT_ADDED = (1 << 3),
146 OBJECT_REMOVED = (1 << 4),
147 OBJECT_MODIFIED = (1 << 5),
148 HOLDOUT_MODIFIED = (1 << 6),
149 TRANSFORM_MODIFIED = (1 << 7),
150 VISIBILITY_MODIFIED = (1 << 8),
167 void device_update_flags(
Device *device,
171 bool bounds_valid =
true);
178 bool need_update()
const;
182 string get_cryptomatte_objects(
Scene *scene);
183 string get_cryptomatte_assets(
Scene *scene);
void device_update_object_transform_task(UpdateObjectTransformState *state)
bool device_update_object_transform_pop_work(UpdateObjectTransformState *state, int *start_index, int *num_objects)
#define CCL_NAMESPACE_END
#define NODE_SOCKET_API_ARRAY(type_, name)
#define NODE_SOCKET_API(type_, name)
ccl_device_inline uint particle_index(KernelGlobals kg, int particle)
unsigned __int64 uint64_t
void compute_bounds(bool motion_blur)
int motion_step(float time) const
NODE_DECLARE BoundBox bounds
bool usable_as_light() const
int get_device_index() const
void apply_transform(bool apply_to_motion)
friend class ObjectManager
float compute_volume_step_size() const
static const uint MAX_MOTION_STEPS
bool has_light_linking() const
bool is_traceable() const
uint visibility_for_tracing() const
void tag_update(Scene *scene)
float motion_time(int step) const
bool has_shadow_linking() const
struct LightgroupMembership * lightgroup