36 #ifdef WITH_CXX_GUARDEDALLOC
76 unsigned int resolution[2];
80 viewer_border->
xmin < viewer_border->
xmax &&
81 viewer_border->
ymin < viewer_border->
ymax;
83 editingtree->
stats_draw(editingtree->
sdh,
TIP_(
"Compositing | Determining resolution"));
88 executionGroup->determineResolution(resolution);
95 executionGroup->setRenderBorder(
100 if (use_viewer_border) {
101 executionGroup->setViewerBorder(
102 viewer_border->
xmin, viewer_border->
xmax, viewer_border->
ymin, viewer_border->
ymax);
114 this->m_operations.clear();
119 this->m_groups.clear();
125 m_operations = operations;
131 unsigned int order = 0;
133 if (operation->get_flags().is_read_buffer_operation) {
145 if (operation->get_flags().is_write_buffer_operation) {
146 operation->setbNodeTree(bTree);
147 operation->initExecution();
155 if (operation->get_flags().is_read_buffer_operation) {
166 if (!operation->get_flags().is_write_buffer_operation) {
167 operation->setbNodeTree(bTree);
168 operation->initExecution();
174 const int chunk_size)
177 execution_group->setChunksize(chunk_size);
178 execution_group->initExecution();
185 editingtree->
stats_draw(editingtree->
sdh,
TIP_(
"Compositing | Initializing execution"));
197 if (!this->
getContext().isFastCalculation()) {
204 editingtree->
stats_draw(editingtree->
sdh,
TIP_(
"Compositing | De-initializing execution"));
207 operation->deinitExecution();
211 execution_group->deinitExecution();
218 if (execution_group->get_flags().is_output &&
219 execution_group->getRenderPriority() == priority) {
220 execution_group->execute(
this);
#define NTREE_VIEWER_BORDER
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint order
Read Guarded memory(de)allocation.
Platform independent time functions.
void setFastCalculation(bool fastCalculation)
void setViewSettings(const ColorManagedViewSettings *viewSettings)
set view settings of color color management
void setbNodeTree(bNodeTree *bnodetree)
set the bnodetree of the context
void setDisplaySettings(const ColorManagedDisplaySettings *displaySettings)
set display settings of color color management
void setScene(Scene *scene)
const bNodeTree * getbNodeTree() const
get the bnodetree of the context
void setHasActiveOpenCLDevices(bool hasAvtiveOpenCLDevices)
set has this system active openclDevices?
void setPreviewHash(bNodeInstanceHash *previews)
set the preview image hash table
void setQuality(eCompositorQuality quality)
set the quality
void setViewName(const char *viewName)
set the active rendering view
void setRendering(bool rendering)
set the rendering field of the context
void setRenderData(RenderData *rd)
set the scene of the context
static void execute_started(const ExecutionSystem *system)
Class ExecutionGroup is a group of Operations that are executed as one. This grouping is used to comb...
const CompositorContext & getContext() const
get the reference to the compositor context
void execute()
execute this system
void set_operations(const Vector< NodeOperation * > &operations, const Vector< ExecutionGroup * > &groups)
ExecutionSystem(RenderData *rd, Scene *scene, bNodeTree *editingtree, bool rendering, bool fastcalculation, const ColorManagedViewSettings *viewSettings, const ColorManagedDisplaySettings *displaySettings, const char *viewName)
Create a new ExecutionSystem and initialize it with the editingtree.
void convertToOperations(ExecutionSystem *system)
NodeOperation contains calculation logic.
void setOffset(unsigned int offset)
void updateMemoryBuffer()
eCompositorPriority
Possible priority settings.
eCompositorQuality
Possible quality settings.
@ Low
Low quality setting.
@ High
High quality setting.
@ Medium
Medium quality setting.
static void init_execution_groups_for_execution(Vector< ExecutionGroup * > &groups, const int chunk_size)
static void link_write_buffers(Vector< NodeOperation * > &operations)
static void init_write_operations_for_execution(Vector< NodeOperation * > &operations, const bNodeTree *bTree)
static void update_read_buffer_offset(Vector< NodeOperation * > &operations)
static void init_non_write_operations_for_execution(Vector< NodeOperation * > &operations, const bNodeTree *bTree)
struct bNodeInstanceHash * previews
void(* stats_draw)(void *, const char *str)
static bool has_gpu_devices()
Are there OpenCL capable GPU devices initialized? the result of this method is stored in the Composit...
static void finish()
wait for all work to be completed.
static void stop()
stop the execution All created thread by the start method are destroyed.
static void start(CompositorContext &context)
Start the execution this methods will start the WorkScheduler. Inside this method all threads are ini...