diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-08-28 17:55:59 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-08-28 17:55:59 +0400 |
commit | bae896691aa3d7bb2a75292da3cc490894996b01 (patch) | |
tree | 9c3703f11ccdf76c575c2ea18b70dee1ff665913 /intern/cycles/blender/blender_sync.cpp | |
parent | d48e4fc92be346810baa8cac595ab0a735882a87 (diff) |
Cycles:
* Add alpha pass output, to use set Transparent option in Film panel.
* Add Holdout closure (OSL terminology), this is like the Sky option in the
internal renderer, objects with this closure show the background / zero
alpha.
* Add option to use Gaussian instead of Box pixel filter in the UI.
* Remove camera response curves for now, they don't really belong here in
the pipeline, should be moved to compositor.
* Output full float values for rendering now, previously was only byte precision.
* Add a patch from Thomas to get a preview passes option, but still disabled
because it isn't quite working right yet.
* CUDA: don't compile shader graph evaluation inline.
* Convert tabs to spaces in python files.
Diffstat (limited to 'intern/cycles/blender/blender_sync.cpp')
-rw-r--r-- | intern/cycles/blender/blender_sync.cpp | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index a6eeb5ec1ae..ccfc3bb2bf1 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -18,6 +18,7 @@ #include "background.h" #include "film.h" +#include "../render/filter.h" #include "graph.h" #include "integrator.h" #include "light.h" @@ -149,10 +150,18 @@ void BlenderSync::sync_film() Film prevfilm = *film; film->exposure = get_float(cscene, "exposure"); - film->response = get_enum_identifier(cscene, "response_curve"); if(film->modified(prevfilm)) film->tag_update(scene); + + Filter *filter = scene->filter; + Filter prevfilter = *filter; + + filter->filter_type = (FilterType)RNA_enum_get(&cscene, "filter_type"); + filter->filter_width = (filter->filter_type == FILTER_BOX)? 1.0f: get_float(cscene, "filter_width"); + + if(filter->modified(prevfilter)) + filter->tag_update(scene); } /* Scene Parameters */ @@ -190,11 +199,22 @@ SessionParams BlenderSync::get_session_params(BL::Scene b_scene, bool background foreach(DeviceType dt, types) if(dt == dtype) params.device_type = dtype; + + /* Background */ + params.background = background; + + /* passes */ + if(background) { + params.passes = get_int(cscene, "passes"); + } + else { + params.passes = get_int(cscene, "preview_passes"); + if(params.passes == 0) + params.passes = INT_MAX; + } /* other parameters */ params.threads = b_scene.render().threads(); - params.background = background; - params.passes = (background)? get_int(cscene, "passes"): INT_MAX; params.tile_size = get_int(cscene, "debug_tile_size"); params.min_size = get_int(cscene, "debug_min_size"); params.cancel_timeout = get_float(cscene, "debug_cancel_timeout"); |