Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/render/object.h
| Show First 20 Lines • Show All 107 Lines • ▼ Show 20 Lines | public: | ||||
| void device_free(Device *device, DeviceScene *dscene); | void device_free(Device *device, DeviceScene *dscene); | ||||
| void tag_update(Scene *scene); | void tag_update(Scene *scene); | ||||
| void apply_static_transforms(DeviceScene *dscene, Scene *scene, uint *object_flag, Progress& progress); | void apply_static_transforms(DeviceScene *dscene, Scene *scene, uint *object_flag, Progress& progress); | ||||
| protected: | protected: | ||||
| /* Global state of object transform update. */ | /* Global state of object transform update. */ | ||||
| struct UpdateObejctTransformState { | struct UpdateObjectTransformState { | ||||
| /* Global state used by device_update_object_transform(). | /* Global state used by device_update_object_transform(). | ||||
| * Common for both threaded and non-threaded update. | * Common for both threaded and non-threaded update. | ||||
| */ | */ | ||||
| /* Type of the motion required by the scene settings. */ | /* Type of the motion required by the scene settings. */ | ||||
| Scene::MotionType need_motion; | Scene::MotionType need_motion; | ||||
| /* Mapping from particle system to a index in packed particle array. | /* Mapping from particle system to a index in packed particle array. | ||||
| Show All 22 Lines | struct UpdateObjectTransformState { | ||||
| /* Some locks to keep everything thread-safe. */ | /* Some locks to keep everything thread-safe. */ | ||||
| thread_spin_lock queue_lock; | thread_spin_lock queue_lock; | ||||
| thread_spin_lock surface_area_lock; | thread_spin_lock surface_area_lock; | ||||
| /* First unused object index in the queue. */ | /* First unused object index in the queue. */ | ||||
| int queue_start_object; | int queue_start_object; | ||||
| }; | }; | ||||
| void device_update_object_transform(UpdateObejctTransformState *state, | void device_update_object_transform(UpdateObjectTransformState *state, | ||||
| Object *ob, | Object *ob, | ||||
| const int object_index); | const int object_index); | ||||
| void device_update_object_transform_task(UpdateObejctTransformState *state); | void device_update_object_transform_task(UpdateObjectTransformState *state); | ||||
| bool device_update_object_transform_pop_work( | bool device_update_object_transform_pop_work( | ||||
| UpdateObejctTransformState *state, | UpdateObjectTransformState *state, | ||||
| int *start_index, | int *start_index, | ||||
| int *num_objects); | int *num_objects); | ||||
| }; | }; | ||||
| CCL_NAMESPACE_END | CCL_NAMESPACE_END | ||||
| #endif /* __OBJECT_H__ */ | #endif /* __OBJECT_H__ */ | ||||