Blender  V2.93
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
blender::compositor::OutputOpenExrMultiLayerOperation Class Reference

#include <COM_OutputFileOperation.h>

Inherits blender::compositor::NodeOperation.

Inherited by blender::compositor::OutputOpenExrMultiLayerMultiViewOperation.

Public Member Functions

 OutputOpenExrMultiLayerOperation (const Scene *scene, const RenderData *rd, const bNodeTree *tree, const char *path, char exr_codec, bool exr_half_float, const char *viewName)
 
void add_layer (const char *name, DataType datatype, bool use_layer)
 
void executeRegion (rcti *rect, unsigned int tileNumber) override
 when a chunk is executed by a CPUDevice, this method is called More...
 
bool isOutputOperation (bool) const override
 isOutputOperation determines whether this operation is an output of the ExecutionSystem during rendering or editing. More...
 
void initExecution () override
 
void deinitExecution () override
 
eCompositorPriority getRenderPriority () const override
 get the render priority of this node. More...
 
- Public Member Functions inherited from blender::compositor::NodeOperation
virtual ~NodeOperation ()
 
void set_name (const std::string name)
 
const std::string get_name () const
 
void set_id (const int id)
 
const int get_id () const
 
const NodeOperationFlags get_flags () const
 
unsigned int getNumberOfInputSockets () const
 
unsigned int getNumberOfOutputSockets () const
 
NodeOperationOutputgetOutputSocket (unsigned int index=0)
 
NodeOperationInputgetInputSocket (unsigned int index)
 
virtual void determineResolution (unsigned int resolution[2], unsigned int preferredResolution[2])
 determine the resolution of this node More...
 
void setbNodeTree (const bNodeTree *tree)
 
virtual void executeOpenCLRegion (OpenCLDevice *, rcti *, unsigned int, MemoryBuffer **, MemoryBuffer *)
 when a chunk is executed by an OpenCLDevice, this method is called More...
 
virtual void executeOpenCL (OpenCLDevice *, MemoryBuffer *, cl_mem, MemoryBuffer **, std::list< cl_mem > *, std::list< cl_kernel > *)
 custom handle to add new tasks to the OpenCL command queue in order to execute a chunk on an GPUDevice. More...
 
void setResolution (unsigned int resolution[2])
 set the resolution More...
 
virtual bool isActiveViewerOutput () const
 is this operation the active viewer output user can select an ViewerNode to be active (the result of this node will be drawn on the backdrop). More...
 
virtual bool determineDependingAreaOfInterest (rcti *input, ReadBufferOperation *readOperation, rcti *output)
 
void setResolutionInputSocketIndex (unsigned int index)
 set the index of the input socket that will determine the resolution of this operation More...
 
bool isBraked () const
 
void updateDraw ()
 
unsigned int getWidth () const
 
unsigned int getHeight () const
 
void readSampled (float result[4], float x, float y, PixelSampler sampler)
 
void readFiltered (float result[4], float x, float y, float dx[2], float dy[2])
 
void read (float result[4], int x, int y, void *chunkData)
 
virtual void * initializeTileData (rcti *)
 
virtual void deinitializeTileData (rcti *, void *)
 
virtual MemoryBuffergetInputMemoryBuffer (MemoryBuffer **)
 
virtual std::unique_ptr< MetaDatagetMetaData ()
 

Protected Member Functions

StampDatacreateStampData () const
 
- Protected Member Functions inherited from blender::compositor::NodeOperation
 NodeOperation ()
 
void addInputSocket (DataType datatype, ResizeMode resize_mode=ResizeMode::Center)
 
void addOutputSocket (DataType datatype)
 
void setWidth (unsigned int width)
 
void setHeight (unsigned int height)
 
SocketReadergetInputSocketReader (unsigned int inputSocketindex)
 
NodeOperationgetInputOperation (unsigned int inputSocketindex)
 
void deinitMutex ()
 
void initMutex ()
 
void lockMutex ()
 
void unlockMutex ()
 
void setComplex (bool complex)
 set whether this operation is complex More...
 
virtual void executePixelSampled (float[4], float, float, PixelSampler)
 calculate a single pixel More...
 
virtual void executePixel (float output[4], int x, int y, void *)
 calculate a single pixel More...
 
virtual void executePixelFiltered (float[4], float, float, float[2], float[2])
 calculate a single pixel using an EWA filter More...
 

Protected Attributes

const Scenem_scene
 
const RenderDatam_rd
 
const bNodeTreem_tree
 
char m_path [FILE_MAX]
 
char m_exr_codec
 
bool m_exr_half_float
 
Vector< OutputOpenExrLayerm_layers
 
const char * m_viewName
 
- Protected Attributes inherited from blender::compositor::NodeOperation
unsigned int m_width
 
unsigned int m_height
 
NodeOperationFlags flags
 

Detailed Description

Definition at line 89 of file COM_OutputFileOperation.h.

Constructor & Destructor Documentation

◆ OutputOpenExrMultiLayerOperation()

blender::compositor::OutputOpenExrMultiLayerOperation::OutputOpenExrMultiLayerOperation ( const Scene scene,
const RenderData rd,
const bNodeTree tree,
const char *  path,
char  exr_codec,
bool  exr_half_float,
const char *  viewName 
)

Member Function Documentation

◆ add_layer()

void blender::compositor::OutputOpenExrMultiLayerOperation::add_layer ( const char *  name,
DataType  datatype,
bool  use_layer 
)

◆ createStampData()

StampData * blender::compositor::OutputOpenExrMultiLayerOperation::createStampData ( ) const
protected

◆ deinitExecution()

void blender::compositor::OutputOpenExrMultiLayerOperation::deinitExecution ( )
overridevirtual

◆ executeRegion()

void blender::compositor::OutputOpenExrMultiLayerOperation::executeRegion ( rcti ,
unsigned int   
)
overridevirtual

when a chunk is executed by a CPUDevice, this method is called

Parameters
rectthe rectangle of the chunk (location and size)
chunkNumberthe chunkNumber to be calculated
memoryBuffersall input MemoryBuffer's needed

Reimplemented from blender::compositor::NodeOperation.

Definition at line 373 of file COM_OutputFileOperation.cc.

References blender::compositor::OutputOpenExrLayer::datatype, blender::compositor::OutputOpenExrLayer::imageInput, m_layers, m_tree, blender::compositor::OutputOpenExrLayer::outputBuffer, and blender::compositor::write_buffer_rect().

◆ getRenderPriority()

eCompositorPriority blender::compositor::OutputOpenExrMultiLayerOperation::getRenderPriority ( ) const
inlineoverridevirtual

get the render priority of this node.

Note
only applicable for output operations like ViewerOperation
Returns
eCompositorPriority

Reimplemented from blender::compositor::NodeOperation.

Definition at line 121 of file COM_OutputFileOperation.h.

References blender::compositor::Low.

◆ initExecution()

void blender::compositor::OutputOpenExrMultiLayerOperation::initExecution ( )
overridevirtual

◆ isOutputOperation()

bool blender::compositor::OutputOpenExrMultiLayerOperation::isOutputOperation ( bool  ) const
inlineoverridevirtual

isOutputOperation determines whether this operation is an output of the ExecutionSystem during rendering or editing.

Default behavior if not overridden, this operation will not be evaluated as being an output of the ExecutionSystem.

See also
ExecutionSystem
Parameters
rendering[true false] true: rendering false: editing
Returns
bool the result of this method

Reimplemented from blender::compositor::NodeOperation.

Definition at line 115 of file COM_OutputFileOperation.h.

Member Data Documentation

◆ m_exr_codec

char blender::compositor::OutputOpenExrMultiLayerOperation::m_exr_codec
protected

◆ m_exr_half_float

bool blender::compositor::OutputOpenExrMultiLayerOperation::m_exr_half_float
protected

◆ m_layers

Vector<OutputOpenExrLayer> blender::compositor::OutputOpenExrMultiLayerOperation::m_layers
protected

◆ m_path

char blender::compositor::OutputOpenExrMultiLayerOperation::m_path[FILE_MAX]
protected

◆ m_rd

const RenderData* blender::compositor::OutputOpenExrMultiLayerOperation::m_rd
protected

◆ m_scene

const Scene* blender::compositor::OutputOpenExrMultiLayerOperation::m_scene
protected

Definition at line 91 of file COM_OutputFileOperation.h.

Referenced by createStampData(), and OutputOpenExrMultiLayerOperation().

◆ m_tree

const bNodeTree* blender::compositor::OutputOpenExrMultiLayerOperation::m_tree
protected

Definition at line 93 of file COM_OutputFileOperation.h.

Referenced by executeRegion(), and OutputOpenExrMultiLayerOperation().

◆ m_viewName

const char* blender::compositor::OutputOpenExrMultiLayerOperation::m_viewName
protected

The documentation for this class was generated from the following files: