Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2014-06-19 14:21:17 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2014-06-20 15:32:45 +0400
commitca0c0e754931df011ff5421a57e02f8bdfa4559a (patch)
treec28374646a16be488ab649ea3ddf3a8e6210ac28 /source/blender/freestyle/intern
parent98af2622602e0760a887b4e61e18a9a507066b05 (diff)
Implement resolution divider in the Blender Internal
Currently resolution divider is not exposed to the interface yet, and i'm not even sure it needs to be exposed because it's somewhat weird configuration. Need to check how often artists are changing start resolution in Cycles. Pretty much straightforward implementation with the only weak part: render result is getting re-allocated and upscaled when current resolution is finished. Not sure how to make it faster actually. Maybe it's just a matter of making upscale fast enough. Needed to fix some possible memory leak happening in Freestyle when canceling rendering on a special stage -- it was missing temp bmain free, Reviewers: campbellbarton, dingto CC: sebastian_k, fsiddi, venomgfx Differential Revision: https://developer.blender.org/D609
Diffstat (limited to 'source/blender/freestyle/intern')
-rw-r--r--source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp36
1 files changed, 18 insertions, 18 deletions
diff --git a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
index 49c3fdce251..4d60b54c348 100644
--- a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
+++ b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
@@ -611,25 +611,25 @@ Render *FRS_do_stroke_rendering(Render *re, SceneRenderLayer *srl, int render)
if (G.debug & G_DEBUG_FREESTYLE) {
cout << "Break" << endl;
}
- return NULL;
}
-
- // render and composite Freestyle result
- if (controller->_ViewMap) {
- // render strokes
- re->i.infostr = "Freestyle: Stroke rendering";
- re->stats_draw(re->sdh, &re->i);
- re->i.infostr = NULL;
- freestyle_scene = re->scene;
- controller->DrawStrokes();
- freestyle_render = controller->RenderStrokes(re, true);
- controller->CloseFile();
- freestyle_scene = NULL;
-
- // composite result
- FRS_composite_result(re, srl, freestyle_render);
- RE_FreeRenderResult(freestyle_render->result);
- freestyle_render->result = NULL;
+ else {
+ // render and composite Freestyle result
+ if (controller->_ViewMap) {
+ // render strokes
+ re->i.infostr = "Freestyle: Stroke rendering";
+ re->stats_draw(re->sdh, &re->i);
+ re->i.infostr = NULL;
+ freestyle_scene = re->scene;
+ controller->DrawStrokes();
+ freestyle_render = controller->RenderStrokes(re, true);
+ controller->CloseFile();
+ freestyle_scene = NULL;
+
+ // composite result
+ FRS_composite_result(re, srl, freestyle_render);
+ RE_FreeRenderResult(freestyle_render->result);
+ freestyle_render->result = NULL;
+ }
}
// Free temp main (currently only text blocks are stored there)