|
Blender
V2.93
|
#include <COM_KeyingScreenOperation.h>
Inherits blender::compositor::NodeOperation.
Classes | |
| struct | TileData |
| struct | TriangulationData |
Public Member Functions | |
| KeyingScreenOperation () | |
| void | initExecution () override |
| void | deinitExecution () override |
| void * | initializeTileData (rcti *rect) override |
| void | deinitializeTileData (rcti *rect, void *data) override |
| void | setMovieClip (MovieClip *clip) |
| void | setTrackingObject (const char *object) |
| void | setFramenumber (int framenumber) |
| void | executePixel (float output[4], int x, int y, void *data) override |
| calculate a single pixel 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 |
| NodeOperationOutput * | getOutputSocket (unsigned int index=0) |
| NodeOperationInput * | getInputSocket (unsigned int index) |
| virtual bool | isOutputOperation (bool) const |
| isOutputOperation determines whether this operation is an output of the ExecutionSystem during rendering or editing. More... | |
| void | setbNodeTree (const bNodeTree *tree) |
| virtual void | executeRegion (rcti *, unsigned int) |
| when a chunk is executed by a CPUDevice, this method is called More... | |
| 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... | |
| virtual eCompositorPriority | getRenderPriority () const |
| get the render priority of this node. 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 MemoryBuffer * | getInputMemoryBuffer (MemoryBuffer **) |
| virtual std::unique_ptr< MetaData > | getMetaData () |
Protected Types | |
| typedef struct blender::compositor::KeyingScreenOperation::TriangulationData | TriangulationData |
| typedef struct blender::compositor::KeyingScreenOperation::TileData | TileData |
Protected Member Functions | |
| void | determineResolution (unsigned int resolution[2], unsigned int preferredResolution[2]) override |
| TriangulationData * | buildVoronoiTriangulation () |
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) |
| SocketReader * | getInputSocketReader (unsigned int inputSocketindex) |
| NodeOperation * | getInputOperation (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 | executePixelFiltered (float[4], float, float, float[2], float[2]) |
| calculate a single pixel using an EWA filter More... | |
Protected Attributes | |
| MovieClip * | m_movieClip |
| int | m_framenumber |
| TriangulationData * | m_cachedTriangulation |
| char | m_trackingObject [64] |
Protected Attributes inherited from blender::compositor::NodeOperation | |
| unsigned int | m_width |
| unsigned int | m_height |
| NodeOperationFlags | flags |
Class with implementation of green screen gradient rasterization
Definition at line 37 of file COM_KeyingScreenOperation.h.
|
protected |
|
protected |
| blender::compositor::KeyingScreenOperation::KeyingScreenOperation | ( | ) |
|
protected |
Definition at line 73 of file COM_KeyingScreenOperation.cc.
References Freestyle::a, add_v2_v2v2(), add_v3_v3(), BKE_movieclip_get_ibuf(), BKE_movieclip_remap_scene_to_clip_frame(), BKE_movieclip_user_set_frame(), BKE_tracking_get_active_tracks(), BKE_tracking_get_pattern_imbuf(), BKE_tracking_marker_get(), BKE_tracking_object_get_named(), BKE_tracking_object_get_tracks(), BLI_freelistN(), BLI_voronoi_compute(), BLI_voronoi_triangulate(), Freestyle::c, VoronoiSite::co, VoronoiSite::color, ListBase::first, MovieTrackingMarker::flag, blender::compositor::NodeOperation::getHeight(), blender::compositor::NodeOperation::getWidth(), height, IMB_freeImBuf(), IN_RANGE_INCL, INIT_MINMAX2, m_framenumber, m_movieClip, m_trackingObject, MARKER_DISABLED, max, MEM_callocN, MEM_freeN, min, minmax_v2v2_v2(), mul_v3_fl(), MovieTrackingTrack::next, MovieTrackingTrack::offset, pos, MovieTrackingMarker::pos, ImBuf::rect, ImBuf::rect_float, srgb_to_linearrgb(), MovieClip::tracking, blender::compositor::KeyingScreenOperation::TriangulationData::triangles, blender::compositor::KeyingScreenOperation::TriangulationData::triangles_AABB, blender::compositor::KeyingScreenOperation::TriangulationData::triangles_total, blender::compositor::KeyingScreenOperation::TriangulationData::triangulated_points, blender::compositor::KeyingScreenOperation::TriangulationData::triangulated_points_total, width, ImBuf::x, rcti::xmax, rcti::xmin, ImBuf::y, rcti::ymax, rcti::ymin, and zero_v3().
Referenced by initializeTileData().
|
overridevirtual |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 50 of file COM_KeyingScreenOperation.cc.
References m_cachedTriangulation, MEM_freeN, blender::compositor::KeyingScreenOperation::TriangulationData::triangles, blender::compositor::KeyingScreenOperation::TriangulationData::triangles_AABB, and blender::compositor::KeyingScreenOperation::TriangulationData::triangulated_points.
|
overridevirtual |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 281 of file COM_KeyingScreenOperation.cc.
References data, MEM_freeN, and blender::compositor::KeyingScreenOperation::TileData::triangles.
|
overrideprotectedvirtual |
Determine the output resolution. The resolution is retrieved from the Renderer
Reimplemented from blender::compositor::NodeOperation.
Definition at line 292 of file COM_KeyingScreenOperation.cc.
References BKE_movieclip_get_size(), BKE_movieclip_remap_scene_to_clip_frame(), BKE_movieclip_user_set_frame(), height, m_framenumber, m_movieClip, and width.
|
overridevirtual |
calculate a single pixel
| result | is a float[4] array to store the result |
| x | the x-coordinate of the pixel to calculate in image space |
| y | the y-coordinate of the pixel to calculate in image space |
| inputBuffers | chunks that can be read by their ReadBufferOperation. |
| chunkData | chunk specific data a during execution time. |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 312 of file COM_KeyingScreenOperation.cc.
References Freestyle::a, barycentric_coords_v2(), barycentric_inside_triangle_v2(), Freestyle::c, data, float(), IN_RANGE_INCL, m_cachedTriangulation, m_movieClip, output, blender::compositor::KeyingScreenOperation::TriangulationData::triangles, blender::compositor::KeyingScreenOperation::TileData::triangles, blender::compositor::KeyingScreenOperation::TriangulationData::triangles_AABB, blender::compositor::KeyingScreenOperation::TileData::triangles_total, blender::compositor::KeyingScreenOperation::TriangulationData::triangulated_points, w(), x, rcti::xmax, rcti::xmin, y, rcti::ymax, and rcti::ymin.
|
overridevirtual |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 44 of file COM_KeyingScreenOperation.cc.
References blender::compositor::NodeOperation::initMutex(), and m_cachedTriangulation.
|
overridevirtual |
Reimplemented from blender::compositor::NodeOperation.
Definition at line 229 of file COM_KeyingScreenOperation.cc.
References BLI_rcti_isect(), buildVoronoiTriangulation(), blender::compositor::NodeOperation::lockMutex(), m_cachedTriangulation, m_movieClip, MEM_callocN, MEM_mallocN, MEM_reallocN, blender::compositor::KeyingScreenOperation::TileData::triangles, blender::compositor::KeyingScreenOperation::TriangulationData::triangles_AABB, blender::compositor::KeyingScreenOperation::TriangulationData::triangles_total, blender::compositor::KeyingScreenOperation::TileData::triangles_total, and blender::compositor::NodeOperation::unlockMutex().
|
inline |
Definition at line 81 of file COM_KeyingScreenOperation.h.
Referenced by blender::compositor::KeyingScreenNode::convertToOperations().
|
inline |
Definition at line 73 of file COM_KeyingScreenOperation.h.
Referenced by blender::compositor::KeyingScreenNode::convertToOperations().
|
inline |
Definition at line 77 of file COM_KeyingScreenOperation.h.
References BLI_strncpy().
Referenced by blender::compositor::KeyingScreenNode::convertToOperations().
|
protected |
Definition at line 53 of file COM_KeyingScreenOperation.h.
Referenced by deinitExecution(), executePixel(), initExecution(), and initializeTileData().
|
protected |
Definition at line 52 of file COM_KeyingScreenOperation.h.
Referenced by buildVoronoiTriangulation(), determineResolution(), and KeyingScreenOperation().
|
protected |
Definition at line 51 of file COM_KeyingScreenOperation.h.
Referenced by buildVoronoiTriangulation(), determineResolution(), executePixel(), initializeTileData(), and KeyingScreenOperation().
|
protected |
Definition at line 54 of file COM_KeyingScreenOperation.h.
Referenced by buildVoronoiTriangulation(), and KeyingScreenOperation().