diff options
Diffstat (limited to 'intern/cycles/render/object.h')
-rw-r--r-- | intern/cycles/render/object.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/intern/cycles/render/object.h b/intern/cycles/render/object.h index cbbff0d4c6d..7c84c2de4fb 100644 --- a/intern/cycles/render/object.h +++ b/intern/cycles/render/object.h @@ -23,8 +23,8 @@ #include "util/util_array.h" #include "util/util_boundbox.h" #include "util/util_param.h" -#include "util/util_transform.h" #include "util/util_thread.h" +#include "util/util_transform.h" #include "util/util_types.h" #include "util/util_vector.h" @@ -32,7 +32,7 @@ CCL_NAMESPACE_BEGIN class Device; class DeviceScene; -class Mesh; +class Geometry; class ParticleSystem; class Progress; class Scene; @@ -46,7 +46,7 @@ class Object : public Node { public: NODE_DECLARE - Mesh *mesh; + Geometry *geometry; Transform tfm; BoundBox bounds; uint random_id; @@ -81,6 +81,9 @@ class Object : public Node { int motion_step(float time) const; void update_motion(); + /* Maximum number of motion steps supported (due to Embree). */ + static const uint MAX_MOTION_STEPS = 129; + /* Check whether object is traceable and it worth adding it to * kernel scene. */ @@ -94,6 +97,9 @@ class Object : public Node { /* Returns the index that is used in the kernel for this object. */ int get_device_index() const; + /* Compute step size from attributes, shaders, transforms. */ + float compute_volume_step_size() const; + protected: /* Specifies the position of the object in scene->objects and * in the device vectors. Gets set in device_update. */ |