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:
-rw-r--r--intern/cycles/blender/addon/__init__.py2
-rw-r--r--intern/cycles/blender/addon/engine.py4
-rw-r--r--intern/cycles/blender/blender_python.cpp13
3 files changed, 14 insertions, 5 deletions
diff --git a/intern/cycles/blender/addon/__init__.py b/intern/cycles/blender/addon/__init__.py
index 64e4a8391d1..57025388bda 100644
--- a/intern/cycles/blender/addon/__init__.py
+++ b/intern/cycles/blender/addon/__init__.py
@@ -59,7 +59,7 @@ class CyclesRender(bpy.types.RenderEngine):
None, None, None, use_osl)
else:
if not self.session:
- engine.create(self, data, scene)
+ engine.create(self, data, scene, background=bpy.app.background)
else:
engine.reset(self, data, scene)
diff --git a/intern/cycles/blender/addon/engine.py b/intern/cycles/blender/addon/engine.py
index e1d82db25e1..492a254b9b9 100644
--- a/intern/cycles/blender/addon/engine.py
+++ b/intern/cycles/blender/addon/engine.py
@@ -28,7 +28,7 @@ def init():
_cycles.init(path, user_path)
-def create(engine, data, scene, region=None, v3d=None, rv3d=None, preview_osl=False):
+def create(engine, data, scene, region=None, v3d=None, rv3d=None, preview_osl=False, background=False):
import bpy
import _cycles
@@ -42,7 +42,7 @@ def create(engine, data, scene, region=None, v3d=None, rv3d=None, preview_osl=Fa
if rv3d:
rv3d = rv3d.as_pointer()
- engine.session = _cycles.create(engine.as_pointer(), userpref, data, scene, region, v3d, rv3d, preview_osl)
+ engine.session = _cycles.create(engine.as_pointer(), userpref, data, scene, region, v3d, rv3d, preview_osl, background)
def free(engine):
diff --git a/intern/cycles/blender/blender_python.cpp b/intern/cycles/blender/blender_python.cpp
index 37191bb797a..120d6b0d4de 100644
--- a/intern/cycles/blender/blender_python.cpp
+++ b/intern/cycles/blender/blender_python.cpp
@@ -90,10 +90,13 @@ static PyObject *init_func(PyObject *self, PyObject *args)
static PyObject *create_func(PyObject *self, PyObject *args)
{
PyObject *pyengine, *pyuserpref, *pydata, *pyscene, *pyregion, *pyv3d, *pyrv3d;
- int preview_osl;
+ int preview_osl, background;
- if(!PyArg_ParseTuple(args, "OOOOOOOi", &pyengine, &pyuserpref, &pydata, &pyscene, &pyregion, &pyv3d, &pyrv3d, &preview_osl))
+ if(!PyArg_ParseTuple(args, "OOOOOOOii", &pyengine, &pyuserpref, &pydata, &pyscene,
+ &pyregion, &pyv3d, &pyrv3d, &preview_osl, &background))
+ {
return NULL;
+ }
/* RNA */
PointerRNA engineptr;
@@ -143,6 +146,12 @@ static PyObject *create_func(PyObject *self, PyObject *args)
RNA_boolean_set(&cscene, "use_progressive_refine", true);
}
+ /* Use more optimal tile order when rendering from the command line. */
+ if(background) {
+ PointerRNA cscene = RNA_pointer_get(&sceneptr, "cycles");
+ RNA_enum_set(&cscene, "tile_order", (int)TILE_BOTTOM_TO_TOP);
+ }
+
/* offline session or preview render */
session = new BlenderSession(engine, userpref, data, scene);
}