forked from bartvdbraak/blender
updated render settings to support recent changes.
options like saveBuffers are available from Python and threads can be set from 1 to 8 usefull for python based renderfarms.
This commit is contained in:
parent
9c1ae55017
commit
dcc834f3fa
@ -181,7 +181,7 @@ def imageFromObjectsOrtho(objects, path, width, height, smooth, alpha= True, cam
|
|||||||
|
|
||||||
Blender.Window.RedrawAll()
|
Blender.Window.RedrawAll()
|
||||||
|
|
||||||
render_context.threads= True # good for dual core cpu's
|
render_context.threads= 2 # good for dual core cpu's
|
||||||
render_context.render()
|
render_context.render()
|
||||||
render_context.saveRenderedImage(path)
|
render_context.saveRenderedImage(path)
|
||||||
Render.CloseRenderWindow()
|
Render.CloseRenderWindow()
|
||||||
|
@ -54,7 +54,7 @@ boolean attributes.
|
|||||||
- MBLUR: Motion blur enabled
|
- MBLUR: Motion blur enabled
|
||||||
- UNIFIED: Unified Renderer enabled
|
- UNIFIED: Unified Renderer enabled
|
||||||
- RAYTRACING: Ray tracing enabled
|
- RAYTRACING: Ray tracing enabled
|
||||||
- THREADS: Render in two threads enabled
|
- THREADS: Render in two threads enabled (Deprecated, use L{RenderData.threads})
|
||||||
|
|
||||||
@type SceModes: readonly dictionary
|
@type SceModes: readonly dictionary
|
||||||
@var SceModes: Constant dict used for with L{RenderData.sceneMode} bitfield attribute.
|
@var SceModes: Constant dict used for with L{RenderData.sceneMode} bitfield attribute.
|
||||||
@ -62,6 +62,8 @@ Values can be ORed together. Individual bits can also be set/cleared with
|
|||||||
boolean attributes.
|
boolean attributes.
|
||||||
- SEQUENCER: Enables sequencer output rendering.
|
- SEQUENCER: Enables sequencer output rendering.
|
||||||
- EXTENSION: Adds extensions to the output when rendering animations.
|
- EXTENSION: Adds extensions to the output when rendering animations.
|
||||||
|
- SAVE_BUFFERS: Save render tiles to disk to save memory.
|
||||||
|
- FREE_IMAGES: Free images used by textures after each render.
|
||||||
|
|
||||||
@type FramingModes: readonly dictionary
|
@type FramingModes: readonly dictionary
|
||||||
@var FramingModes: Constant dict used for with L{RenderData.gameFrame}
|
@var FramingModes: Constant dict used for with L{RenderData.gameFrame}
|
||||||
@ -215,9 +217,8 @@ class RenderData:
|
|||||||
Valid values are 0 (display in image editor view), 1 (display in render
|
Valid values are 0 (display in image editor view), 1 (display in render
|
||||||
window), or 2 (display full screen).
|
window), or 2 (display full screen).
|
||||||
@type displayMode: int
|
@type displayMode: int
|
||||||
@ivar threads: Render in two threads enabled.
|
@ivar threads: Number of threads to render, clamed [1-8]
|
||||||
Also see B{THREADS} in L{Modes} constant dict.
|
@type threads: int
|
||||||
@type threads: boolean
|
|
||||||
@ivar backbufPath: Path to a background image (setting loads image).
|
@ivar backbufPath: Path to a background image (setting loads image).
|
||||||
@type backbufPath: string
|
@type backbufPath: string
|
||||||
@ivar toonShading: Toon edge shading enabled.
|
@ivar toonShading: Toon edge shading enabled.
|
||||||
@ -229,18 +230,33 @@ class RenderData:
|
|||||||
@ivar gameFrameColor: RGB color triplet for bars.
|
@ivar gameFrameColor: RGB color triplet for bars.
|
||||||
Values are clamped in the range [0.0,1.0].
|
Values are clamped in the range [0.0,1.0].
|
||||||
@type gameFrameColor: list of RGB 3 floats
|
@type gameFrameColor: list of RGB 3 floats
|
||||||
@ivar extensions: Add extensions to output (when rendering animations).
|
@ivar saveBuffers: Save tiles for all renderlayers to disk saving memory.
|
||||||
Also see B{EXTENSION} in L{SceModes} constant dict.
|
Also see B{SAVE_BUFFERS} in L{SceModes} constant dict.
|
||||||
@type extensions: boolean
|
@type saveBuffers: boolean
|
||||||
@ivar sizeY: Image height (in pixels).
|
@ivar sizeY: Image height (in pixels).
|
||||||
Values are clamped to the range [4,10000].
|
Values are clamped to the range [4,10000].
|
||||||
@type sizeY: int
|
@type sizeY: int
|
||||||
@ivar renderer: Rendering engine choice.
|
@ivar renderer: Rendering engine choice.
|
||||||
Valid values are 0 (internal) or 1 (Yafray).
|
Valid values are 0 (internal) or 1 (Yafray).
|
||||||
@type renderer: int
|
@type renderer: int
|
||||||
|
|
||||||
@ivar sequencer: Enables sequencer output rendering.
|
@ivar sequencer: Enables sequencer output rendering.
|
||||||
Also see B{SEQUENCER} in L{SceModes} constant dict.
|
Also see B{SEQUENCER} in L{SceModes} constant dict.
|
||||||
@type sequencer: boolean
|
@type sequencer: boolean
|
||||||
|
@ivar extensions: Add extensions to output (when rendering animations).
|
||||||
|
Also see B{EXTENSION} in L{SceModes} constant dict.
|
||||||
|
@type extensions: boolean
|
||||||
|
@ivar compositor: 'Do Compositor' enabled.
|
||||||
|
@type compositor: boolean
|
||||||
|
@ivar freeImages: 'Do Compositor' enabled.
|
||||||
|
@type freeImages: boolean
|
||||||
|
@ivar singleLayer: Only render the active layer.
|
||||||
|
@type singleLayer: boolean
|
||||||
|
@ivar saveBuffers: Save render buffers to disk while rendering, saves memory.
|
||||||
|
@type saveBuffers: boolean
|
||||||
|
@ivar compositeFree: Free nodes that are not used while composite.
|
||||||
|
@type compositeFree: boolean
|
||||||
|
|
||||||
@ivar panorama: Panorama rendering enabled.
|
@ivar panorama: Panorama rendering enabled.
|
||||||
Also see B{PANORAMA} in L{Modes} constant dict.
|
Also see B{PANORAMA} in L{Modes} constant dict.
|
||||||
@type panorama: boolean
|
@type panorama: boolean
|
||||||
|
@ -540,12 +540,6 @@ PyObject *RenderData_EnableBackbuf( BPy_RenderData * self, PyObject * args )
|
|||||||
&self->renderContext->bufflag );
|
&self->renderContext->bufflag );
|
||||||
}
|
}
|
||||||
|
|
||||||
PyObject *RenderData_EnableThreads( BPy_RenderData * self, PyObject * args )
|
|
||||||
{
|
|
||||||
return M_Render_BitToggleInt( args, R_THREADS,
|
|
||||||
&self->renderContext->mode );
|
|
||||||
}
|
|
||||||
|
|
||||||
PyObject *RenderData_EnableExtensions( BPy_RenderData * self, PyObject * args )
|
PyObject *RenderData_EnableExtensions( BPy_RenderData * self, PyObject * args )
|
||||||
{
|
{
|
||||||
return M_Render_BitToggleShort( args, R_EXTENSION,
|
return M_Render_BitToggleShort( args, R_EXTENSION,
|
||||||
@ -1968,6 +1962,28 @@ static int RenderData_setSet( BPy_RenderData *self, PyObject *value )
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
PyObject *RenderData_getThreads( BPy_RenderData * self )
|
||||||
|
{
|
||||||
|
return PyInt_FromLong( (long) self->renderContext->threads );
|
||||||
|
}
|
||||||
|
|
||||||
|
static int RenderData_setThreads( BPy_RenderData *self, PyObject *value )
|
||||||
|
{
|
||||||
|
int threads;
|
||||||
|
|
||||||
|
if( !PyInt_CheckExact( value ) )
|
||||||
|
return EXPP_ReturnIntError( PyExc_TypeError, "Error, threads must be an int" );
|
||||||
|
|
||||||
|
threads = PyInt_AsLong( value );
|
||||||
|
if (threads<1) threads = 1;
|
||||||
|
else if (threads>8) threads = 8;
|
||||||
|
|
||||||
|
self->renderContext->threads = (short)threads;
|
||||||
|
EXPP_allqueue( REDRAWBUTSSCENE, 0 );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
/* BPy_RenderData attribute def */
|
/* BPy_RenderData attribute def */
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
@ -2032,24 +2048,47 @@ static PyGetSetDef BPy_RenderData_getseters[] = {
|
|||||||
(void *)R_RAYTRACE},
|
(void *)R_RAYTRACE},
|
||||||
/* R_GAUSS unused */
|
/* R_GAUSS unused */
|
||||||
/* R_FBUF unused */
|
/* R_FBUF unused */
|
||||||
|
/* R_THREADS unused */
|
||||||
{"threads",
|
{"threads",
|
||||||
(getter)RenderData_getModeBit, (setter)RenderData_setModeBit,
|
(getter)RenderData_getThreads, (setter)RenderData_setThreads,
|
||||||
"Render in two threads enabled",
|
"Number of threads used to render",
|
||||||
(void *)R_THREADS},
|
NULL},
|
||||||
/* R_SPEED unused */
|
/* R_SPEED unused */
|
||||||
{"mode",
|
{"mode",
|
||||||
(getter)RenderData_getMode, (setter)RenderData_setMode,
|
(getter)RenderData_getMode, (setter)RenderData_setMode,
|
||||||
"Mode bitfield",
|
"Mode bitfield",
|
||||||
NULL},
|
NULL},
|
||||||
|
|
||||||
{"extensions",
|
/* scene modes */
|
||||||
(getter)RenderData_getSceModeBits, (setter)RenderData_setSceModeBits,
|
|
||||||
"Add extensions to output (when rendering animations) enabled",
|
|
||||||
(void *)R_EXTENSION},
|
|
||||||
{"sequencer",
|
{"sequencer",
|
||||||
(getter)RenderData_getSceModeBits, (setter)RenderData_setSceModeBits,
|
(getter)RenderData_getSceModeBits, (setter)RenderData_setSceModeBits,
|
||||||
"'Do Sequence' enabled",
|
"'Do Sequence' enabled",
|
||||||
(void *)R_DOSEQ},
|
(void *)R_DOSEQ},
|
||||||
|
{"extensions",
|
||||||
|
(getter)RenderData_getSceModeBits, (setter)RenderData_setSceModeBits,
|
||||||
|
"Add extensions to output (when rendering animations) enabled",
|
||||||
|
(void *)R_EXTENSION},
|
||||||
|
{"compositor",
|
||||||
|
(getter)RenderData_getSceModeBits, (setter)RenderData_setSceModeBits,
|
||||||
|
"'Do Compositor' enabled.",
|
||||||
|
(void *)R_DOCOMP},
|
||||||
|
{"freeImages",
|
||||||
|
(getter)RenderData_getSceModeBits, (setter)RenderData_setSceModeBits,
|
||||||
|
"Free texture images after render.",
|
||||||
|
(void *)R_FREE_IMAGE},
|
||||||
|
{"singleLayer",
|
||||||
|
(getter)RenderData_getSceModeBits, (setter)RenderData_setSceModeBits,
|
||||||
|
"Only render the active layer.",
|
||||||
|
(void *)R_SINGLE_LAYER},
|
||||||
|
{"saveBuffers",
|
||||||
|
(getter)RenderData_getSceModeBits, (setter)RenderData_setSceModeBits,
|
||||||
|
"Save render buffers to disk while rendering, saves memory.",
|
||||||
|
(void *)R_EXR_TILE_FILE},
|
||||||
|
{"compositeFree",
|
||||||
|
(getter)RenderData_getSceModeBits, (setter)RenderData_setSceModeBits,
|
||||||
|
"Free nodes that are not used while composite.",
|
||||||
|
(void *)R_COMP_FREE},
|
||||||
|
|
||||||
{"sceneMode",
|
{"sceneMode",
|
||||||
(getter)RenderData_getSceMode, (setter)RenderData_setSceMode,
|
(getter)RenderData_getSceMode, (setter)RenderData_setSceMode,
|
||||||
"Scene mode bitfield",
|
"Scene mode bitfield",
|
||||||
@ -2213,9 +2252,6 @@ static PyMethodDef BPy_RenderData_methods[] = {
|
|||||||
{"enableBackbuf", ( PyCFunction ) RenderData_EnableBackbuf,
|
{"enableBackbuf", ( PyCFunction ) RenderData_EnableBackbuf,
|
||||||
METH_VARARGS,
|
METH_VARARGS,
|
||||||
"(bool) - enable/disable the backbuf image"},
|
"(bool) - enable/disable the backbuf image"},
|
||||||
{"enableThreads", ( PyCFunction ) RenderData_EnableThreads,
|
|
||||||
METH_VARARGS,
|
|
||||||
"(bool) - enable/disable threaded rendering"},
|
|
||||||
{"setFtypePath", ( PyCFunction ) RenderData_SetFtypePath, METH_VARARGS,
|
{"setFtypePath", ( PyCFunction ) RenderData_SetFtypePath, METH_VARARGS,
|
||||||
"(string) - get/set the path to output the Ftype file"},
|
"(string) - get/set the path to output the Ftype file"},
|
||||||
{"getFtypePath", ( PyCFunction ) RenderData_getFtypePath, METH_NOARGS,
|
{"getFtypePath", ( PyCFunction ) RenderData_getFtypePath, METH_NOARGS,
|
||||||
|
Loading…
Reference in New Issue
Block a user