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>2012-11-09 12:46:53 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2012-11-09 12:46:53 +0400
commit76525d53982dc783d9f1bf33223e0e7a2b412c60 (patch)
tree87d7c753daf11cefe166f79bb096a9e1d206074c /intern/cycles/blender/addon/engine.py
parenteff734203ff7a0f4a4f97015c9f1f59632c75abf (diff)
Cycles: persistent images option
This option enables keeping loaded images in the memory in-between of rendering. Implemented by keeping render engine alive for until Render structure is being freed. Cycles will free all data when render finishes, optionally keeping image manager untouched. All shaders, meshes, objects will be re-allocated next time rendering happens. Cycles cession and scene will be re-created from scratch if render/ scene parameters were changed. This will also allow to keep compiled OSL shaders in memory without need to re-compile them again. P.S. Performance panel could be cleaned up a bit, not so much happy with it's vertical alignment currently but not sure how to make it look better. P.P.S. Currently the only way to free images from the device is to disable Persistent Images option and start rendering.
Diffstat (limited to 'intern/cycles/blender/addon/engine.py')
-rw-r--r--intern/cycles/blender/addon/engine.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/intern/cycles/blender/addon/engine.py b/intern/cycles/blender/addon/engine.py
index e4f80cb4d5d..ca5cbee9325 100644
--- a/intern/cycles/blender/addon/engine.py
+++ b/intern/cycles/blender/addon/engine.py
@@ -61,6 +61,13 @@ def render(engine):
_cycles.render(engine.session)
+def reset(engine, data, scene):
+ import _cycles
+ data = data.as_pointer()
+ scene = scene.as_pointer()
+ _cycles.reset(engine.session, data, scene)
+
+
def update(engine, data, scene):
import _cycles
_cycles.sync(engine.session)