|
Blender
V2.93
|
a MemoryBuffer contains access to the data of a chunk More...
#include <COM_MemoryBuffer.h>
Public Member Functions | |
| MemoryBuffer (MemoryProxy *memoryProxy, const rcti &rect, MemoryBufferState state) | |
| construct new temporarily MemoryBuffer for an area More... | |
| MemoryBuffer (DataType datatype, const rcti &rect) | |
| construct new temporarily MemoryBuffer for an area More... | |
| MemoryBuffer (const MemoryBuffer &src) | |
| ~MemoryBuffer () | |
| destructor More... | |
| uint8_t | get_num_channels () |
| float * | getBuffer () |
| get the data of this MemoryBuffer More... | |
| void | wrap_pixel (int &x, int &y, MemoryBufferExtend extend_x, MemoryBufferExtend extend_y) |
| void | wrap_pixel (float &x, float &y, MemoryBufferExtend extend_x, MemoryBufferExtend extend_y) |
| void | read (float *result, int x, int y, MemoryBufferExtend extend_x=MemoryBufferExtend::Clip, MemoryBufferExtend extend_y=MemoryBufferExtend::Clip) |
| void | readNoCheck (float *result, int x, int y, MemoryBufferExtend extend_x=MemoryBufferExtend::Clip, MemoryBufferExtend extend_y=MemoryBufferExtend::Clip) |
| void | writePixel (int x, int y, const float color[4]) |
| void | addPixel (int x, int y, const float color[4]) |
| void | readBilinear (float *result, float x, float y, MemoryBufferExtend extend_x=MemoryBufferExtend::Clip, MemoryBufferExtend extend_y=MemoryBufferExtend::Clip) |
| void | readEWA (float *result, const float uv[2], const float derivatives[2][2]) |
| bool | isTemporarily () const |
| is this MemoryBuffer a temporarily buffer (based on an area, not on a chunk) More... | |
| void | fill_from (const MemoryBuffer &src) |
| add the content from otherBuffer to this MemoryBuffer More... | |
| const rcti & | get_rect () const |
| get the rect of this MemoryBuffer More... | |
| const int | getWidth () const |
| get the width of this MemoryBuffer More... | |
| const int | getHeight () const |
| get the height of this MemoryBuffer More... | |
| void | clear () |
| clear the buffer. Make all pixels black transparent. More... | |
| float | get_max_value () const |
| float | get_max_value (const rcti &rect) const |
a MemoryBuffer contains access to the data of a chunk
Definition at line 52 of file COM_MemoryBuffer.h.
| blender::compositor::MemoryBuffer::MemoryBuffer | ( | MemoryProxy * | memoryProxy, |
| const rcti & | rect, | ||
| MemoryBufferState | state | ||
| ) |
construct new temporarily MemoryBuffer for an area
Definition at line 25 of file COM_MemoryBuffer.cc.
References blender::compositor::COM_data_type_num_channels(), blender::compositor::MemoryProxy::getDataType(), MEM_mallocN_aligned, and state.
construct new temporarily MemoryBuffer for an area
Definition at line 36 of file COM_MemoryBuffer.cc.
References blender::compositor::COM_data_type_num_channels(), MEM_mallocN_aligned, and blender::compositor::Temporary.
| blender::compositor::MemoryBuffer::MemoryBuffer | ( | const MemoryBuffer & | src | ) |
Copy constructor
Definition at line 47 of file COM_MemoryBuffer.cc.
References blender::compositor::Temporary.
| blender::compositor::MemoryBuffer::~MemoryBuffer | ( | ) |
| void blender::compositor::MemoryBuffer::addPixel | ( | int | x, |
| int | y, | ||
| const float | color[4] | ||
| ) |
Definition at line 132 of file COM_MemoryBuffer.cc.
References getWidth(), x, rcti::xmax, rcti::xmin, y, rcti::ymax, and rcti::ymin.
Referenced by blender::compositor::GlareGhostOperation::generateGlare().
| void blender::compositor::MemoryBuffer::clear | ( | ) |
clear the buffer. Make all pixels black transparent.
Definition at line 53 of file COM_MemoryBuffer.cc.
Referenced by blender::compositor::GlareStreaksOperation::generateGlare().
| void blender::compositor::MemoryBuffer::fill_from | ( | const MemoryBuffer & | src | ) |
add the content from otherBuffer to this MemoryBuffer
| otherBuffer | source buffer |
Definition at line 101 of file COM_MemoryBuffer.cc.
References getWidth(), MAX2, MIN2, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by blender::compositor::WriteBufferOperation::executeOpenCLRegion(), and get_max_value().
| float blender::compositor::MemoryBuffer::get_max_value | ( | ) | const |
Definition at line 58 of file COM_MemoryBuffer.cc.
References result, and size().
Referenced by blender::compositor::VariableSizeBokehBlurOperation::executeOpenCL(), and get_max_value().
Definition at line 76 of file COM_MemoryBuffer.cc.
References BLI_assert, BLI_rcti_is_empty(), BLI_rcti_isect(), fill_from(), and get_max_value().
|
inline |
Definition at line 106 of file COM_MemoryBuffer.h.
Referenced by blender::compositor::OpenCLDevice::determineImageFormat(), blender::compositor::WriteBufferOperation::executeRegion(), and blender::compositor::FastGaussianBlurOperation::IIR_gauss().
|
inline |
get the rect of this MemoryBuffer
Definition at line 294 of file COM_MemoryBuffer.h.
Referenced by blender::compositor::OpenCLDevice::COM_clAttachMemoryBufferOffsetToKernelParameter(), blender::compositor::convolve(), blender::compositor::BufferLineAccumulator< fxu, fxv, fyu, fyv >::eval(), blender::compositor::BokehBlurOperation::executePixel(), blender::compositor::DilateErodeThresholdOperation::executePixel(), blender::compositor::DilateDistanceOperation::executePixel(), blender::compositor::ErodeDistanceOperation::executePixel(), blender::compositor::GaussianAlphaXBlurOperation::executePixel(), blender::compositor::GaussianAlphaYBlurOperation::executePixel(), blender::compositor::GaussianBokehBlurOperation::executePixel(), blender::compositor::GaussianXBlurOperation::executePixel(), blender::compositor::GaussianYBlurOperation::executePixel(), and blender::compositor::GlareStreaksOperation::generateGlare().
|
inline |
get the data of this MemoryBuffer
Definition at line 115 of file COM_MemoryBuffer.h.
Referenced by blender::compositor::CalculateMeanOperation::calculateMean(), blender::compositor::convolve(), blender::compositor::BufferLineAccumulator< fxu, fxv, fyu, fyv >::eval(), blender::compositor::WriteBufferOperation::executeOpenCLRegion(), blender::compositor::AntiAliasOperation::executePixel(), blender::compositor::BokehBlurOperation::executePixel(), blender::compositor::DilateErodeThresholdOperation::executePixel(), blender::compositor::DilateDistanceOperation::executePixel(), blender::compositor::ErodeDistanceOperation::executePixel(), blender::compositor::GaussianAlphaXBlurOperation::executePixel(), blender::compositor::GaussianAlphaYBlurOperation::executePixel(), blender::compositor::GaussianBokehBlurOperation::executePixel(), blender::compositor::GaussianBlurReferenceOperation::executePixel(), blender::compositor::GaussianXBlurOperation::executePixel(), blender::compositor::GaussianYBlurOperation::executePixel(), blender::compositor::IDMaskOperation::executePixel(), blender::compositor::KeyingBlurOperation::executePixel(), blender::compositor::KeyingClipOperation::executePixel(), blender::compositor::VariableSizeBokehBlurOperation::executePixel(), blender::compositor::WriteBufferOperation::executeRegion(), blender::compositor::DenoiseOperation::generateDenoise(), blender::compositor::GlareGhostOperation::generateGlare(), blender::compositor::GlareSimpleStarOperation::generateGlare(), blender::compositor::GlareStreaksOperation::generateGlare(), blender::compositor::VectorBlurOperation::generateVectorBlur(), blender::compositor::FastGaussianBlurOperation::IIR_gauss(), blender::compositor::BufferLineAccumulator< fxu, fxv, fyu, fyv >::init_buffer_iterator(), blender::compositor::CalculateStandardDeviationOperation::initializeTileData(), blender::compositor::DilateStepOperation::initializeTileData(), blender::compositor::ErodeStepOperation::initializeTileData(), blender::compositor::DoubleEdgeMaskOperation::initializeTileData(), blender::compositor::FastGaussianBlurValueOperation::initializeTileData(), blender::compositor::InpaintSimpleOperation::initializeTileData(), blender::compositor::NormalizeOperation::initializeTileData(), blender::compositor::TonemapOperation::initializeTileData(), and blender::compositor::VectorBlurOperation::initializeTileData().
|
inline |
get the height of this MemoryBuffer
Definition at line 310 of file COM_MemoryBuffer.h.
References BLI_rcti_size_y().
Referenced by blender::compositor::CalculateMeanOperation::calculateMean(), blender::compositor::OpenCLDevice::COM_clEnqueueRange(), blender::compositor::convolve(), blender::compositor::WriteBufferOperation::executeOpenCLRegion(), blender::compositor::AntiAliasOperation::executePixel(), blender::compositor::KeyingBlurOperation::executePixel(), blender::compositor::KeyingClipOperation::executePixel(), blender::compositor::VariableSizeBokehBlurOperation::executePixel(), blender::compositor::DenoiseOperation::generateDenoise(), blender::compositor::GlareGhostOperation::generateGlare(), blender::compositor::GlareStreaksOperation::generateGlare(), blender::compositor::FastGaussianBlurOperation::IIR_gauss(), blender::compositor::CalculateStandardDeviationOperation::initializeTileData(), blender::compositor::DilateStepOperation::initializeTileData(), blender::compositor::ErodeStepOperation::initializeTileData(), blender::compositor::NormalizeOperation::initializeTileData(), blender::compositor::TonemapOperation::initializeTileData(), readBilinear(), readEWA(), and wrap_pixel().
|
inline |
get the width of this MemoryBuffer
Definition at line 302 of file COM_MemoryBuffer.h.
References BLI_rcti_size_x().
Referenced by addPixel(), blender::compositor::CalculateMeanOperation::calculateMean(), blender::compositor::OpenCLDevice::COM_clEnqueueRange(), blender::compositor::convolve(), blender::compositor::BufferLineAccumulator< fxu, fxv, fyu, fyv >::eval(), blender::compositor::WriteBufferOperation::executeOpenCLRegion(), blender::compositor::AntiAliasOperation::executePixel(), blender::compositor::BokehBlurOperation::executePixel(), blender::compositor::DilateErodeThresholdOperation::executePixel(), blender::compositor::DilateDistanceOperation::executePixel(), blender::compositor::ErodeDistanceOperation::executePixel(), blender::compositor::GaussianAlphaXBlurOperation::executePixel(), blender::compositor::GaussianAlphaYBlurOperation::executePixel(), blender::compositor::GaussianBokehBlurOperation::executePixel(), blender::compositor::GaussianXBlurOperation::executePixel(), blender::compositor::GaussianYBlurOperation::executePixel(), blender::compositor::IDMaskOperation::executePixel(), blender::compositor::KeyingBlurOperation::executePixel(), blender::compositor::KeyingClipOperation::executePixel(), blender::compositor::VariableSizeBokehBlurOperation::executePixel(), blender::compositor::WriteBufferOperation::executeRegion(), fill_from(), blender::compositor::DenoiseOperation::generateDenoise(), blender::compositor::GlareGhostOperation::generateGlare(), blender::compositor::GlareStreaksOperation::generateGlare(), blender::compositor::FastGaussianBlurOperation::IIR_gauss(), blender::compositor::BufferLineAccumulator< fxu, fxv, fyu, fyv >::init_buffer_iterator(), blender::compositor::CalculateStandardDeviationOperation::initializeTileData(), blender::compositor::DilateStepOperation::initializeTileData(), blender::compositor::ErodeStepOperation::initializeTileData(), blender::compositor::NormalizeOperation::initializeTileData(), blender::compositor::TonemapOperation::initializeTileData(), read(), readBilinear(), readEWA(), readNoCheck(), wrap_pixel(), and writePixel().
|
inline |
is this MemoryBuffer a temporarily buffer (based on an area, not on a chunk)
Definition at line 277 of file COM_MemoryBuffer.h.
References blender::compositor::Temporary.
|
inline |
Definition at line 203 of file COM_MemoryBuffer.h.
References buffer, blender::compositor::Clip, getWidth(), result, v, wrap_pixel(), x, rcti::xmax, rcti::xmin, y, rcti::ymax, and rcti::ymin.
Referenced by blender::compositor::DilateErodeThresholdOperation::executePixel(), blender::compositor::FastGaussianBlurOperation::executePixel(), blender::compositor::FastGaussianBlurValueOperation::executePixel(), blender::compositor::ProjectorLensDistortionOperation::executePixel(), blender::compositor::VariableSizeBokehBlurOperation::executePixel(), blender::compositor::ReadBufferOperation::executePixelExtend(), blender::compositor::ReadBufferOperation::executePixelFiltered(), blender::compositor::ReadBufferOperation::executePixelSampled(), blender::compositor::GlareSimpleStarOperation::generateGlare(), and blender::compositor::GlareStreaksOperation::generateGlare().
|
inline |
Definition at line 247 of file COM_MemoryBuffer.h.
References BLI_bilinear_interpolation_wrap_fl(), copy_vn_fl(), getHeight(), getWidth(), blender::compositor::Repeat, result, v, wrap_pixel(), x, and y.
Referenced by blender::compositor::ProjectorLensDistortionOperation::executePixel(), blender::compositor::ReadBufferOperation::executePixelExtend(), blender::compositor::ReadBufferOperation::executePixelSampled(), blender::compositor::GlareGhostOperation::generateGlare(), and blender::compositor::GlareStreaksOperation::generateGlare().
| void blender::compositor::MemoryBuffer::readEWA | ( | float * | result, |
| const float | uv[2], | ||
| const float | derivatives[2][2] | ||
| ) |
Definition at line 152 of file COM_MemoryBuffer.cc.
References BLI_assert, BLI_ewa_filter(), blender::compositor::Color, float(), getHeight(), getWidth(), blender::compositor::read_ewa_pixel_sampled(), and result.
Referenced by blender::compositor::ReadBufferOperation::executePixelFiltered().
|
inline |
Definition at line 225 of file COM_MemoryBuffer.h.
References BLI_assert, buffer, blender::compositor::Clip, getWidth(), result, v, wrap_pixel(), x, rcti::xmax, y, and rcti::ymax.
Referenced by blender::compositor::SingleThreadedOperation::executePixel(), blender::compositor::GaussianBlurReferenceOperation::executePixel(), and blender::compositor::VariableSizeBokehBlurOperation::executePixel().
|
inline |
Definition at line 160 of file COM_MemoryBuffer.h.
References blender::compositor::Clip, blender::compositor::Extend, float(), fmodf, getHeight(), getWidth(), blender::compositor::Repeat, w(), x, rcti::xmin, y, and rcti::ymin.
|
inline |
Definition at line 120 of file COM_MemoryBuffer.h.
References blender::compositor::Clip, blender::compositor::Extend, getHeight(), getWidth(), blender::compositor::Repeat, w(), x, rcti::xmin, y, and rcti::ymin.
Referenced by read(), readBilinear(), and readNoCheck().
| void blender::compositor::MemoryBuffer::writePixel | ( | int | x, |
| int | y, | ||
| const float | color[4] | ||
| ) |
Definition at line 122 of file COM_MemoryBuffer.cc.
References getWidth(), x, rcti::xmax, rcti::xmin, y, rcti::ymax, and rcti::ymin.
Referenced by blender::compositor::GlareFogGlowOperation::generateGlare(), blender::compositor::GlareGhostOperation::generateGlare(), and blender::compositor::GlareSimpleStarOperation::generateGlare().