diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-10-27 11:16:04 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-10-28 00:43:06 +0300 |
commit | 6a529e14f4c25fc20b797799b602472d3a22a0f9 (patch) | |
tree | d94d60107dc8540312c7f3a217e01a7f4174216e /intern/cycles/render/camera.h | |
parent | c07c066685658fc5a9f070ab9f9e8fb97926568a (diff) |
Cycles: Support user-defined shutter curve
Previously shutter was instantly opening, staying opened for the shutter time
period of time and then instantly closing. This isn't quite how real cameras
are working, where shutter is opening with some curve. Now it is possible to
define user curve for how much shutter is opened across the sampling period
of time.
This could be used for example to make motion blur trails softer.
Diffstat (limited to 'intern/cycles/render/camera.h')
-rw-r--r-- | intern/cycles/render/camera.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/intern/cycles/render/camera.h b/intern/cycles/render/camera.h index 53bd4f0bc14..1c26afafeff 100644 --- a/intern/cycles/render/camera.h +++ b/intern/cycles/render/camera.h @@ -50,6 +50,8 @@ public: /* motion blur */ float shuttertime; MotionPosition motion_position; + float shutter_curve[RAMP_TABLE_SIZE]; + size_t shutter_table_offset; /* depth of field */ float focaldistance; @@ -132,7 +134,7 @@ public: void device_update(Device *device, DeviceScene *dscene, Scene *scene); void device_update_volume(Device *device, DeviceScene *dscene, Scene *scene); - void device_free(Device *device, DeviceScene *dscene); + void device_free(Device *device, DeviceScene *dscene, Scene *scene); bool modified(const Camera& cam); bool motion_modified(const Camera& cam); |