diff options
author | Lukas Stockner <lukas.stockner@freenet.de> | 2017-11-14 09:21:07 +0300 |
---|---|---|
committer | Lukas Stockner <lukas.stockner@freenet.de> | 2017-11-17 18:39:45 +0300 |
commit | a0c02e4d1b87f4e83c0dfe794f28482030be9896 (patch) | |
tree | ad2b5bdcdb89831d7db2964cf9dc56fc84124b4c /intern/cycles/render/film.cpp | |
parent | f78e963858afb6f556e1b4c6d6b02a95ba11834b (diff) |
Cycles: Add Volume Direct and Volume Indirect passes for volume-scattered light
No color pass because it's hard to define what to use as color in a volume.
Reviewers: sergey, brecht
Differential Revision: https://developer.blender.org/D2903
Diffstat (limited to 'intern/cycles/render/film.cpp')
-rw-r--r-- | intern/cycles/render/film.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/intern/cycles/render/film.cpp b/intern/cycles/render/film.cpp index 5acc6a9299d..82fea67f001 100644 --- a/intern/cycles/render/film.cpp +++ b/intern/cycles/render/film.cpp @@ -147,6 +147,11 @@ void Pass::add(PassType type, array<Pass>& passes) pass.exposure = true; pass.divide_type = PASS_SUBSURFACE_COLOR; break; + case PASS_VOLUME_DIRECT: + case PASS_VOLUME_INDIRECT: + pass.components = 4; + pass.exposure = true; + break; default: assert(false); @@ -390,6 +395,9 @@ void Film::device_update(Device *device, DeviceScene *dscene, Scene *scene) case PASS_SUBSURFACE_INDIRECT: kfilm->pass_subsurface_indirect = kfilm->pass_stride; break; + case PASS_VOLUME_INDIRECT: + kfilm->pass_volume_indirect = kfilm->pass_stride; + break; case PASS_DIFFUSE_DIRECT: kfilm->pass_diffuse_direct = kfilm->pass_stride; break; @@ -402,6 +410,9 @@ void Film::device_update(Device *device, DeviceScene *dscene, Scene *scene) case PASS_SUBSURFACE_DIRECT: kfilm->pass_subsurface_direct = kfilm->pass_stride; break; + case PASS_VOLUME_DIRECT: + kfilm->pass_volume_direct = kfilm->pass_stride; + break; #ifdef WITH_CYCLES_DEBUG case PASS_BVH_TRAVERSED_NODES: |