|
Blender V4.3
|
a MemoryBuffer contains access to the data More...
#include <COM_MemoryBuffer.h>
Public Member Functions | |
| MemoryBuffer (DataType data_type, int width, int height) | |
| construct new temporarily MemoryBuffer for a width and height. | |
| MemoryBuffer (DataType data_type, const rcti &rect, bool is_a_single_elem=false) | |
| construct new temporarily MemoryBuffer for an area | |
| MemoryBuffer (float *buffer, int num_channels, int width, int height, bool is_a_single_elem=false) | |
| MemoryBuffer (float *buffer, int num_channels, const rcti &rect, bool is_a_single_elem=false) | |
| MemoryBuffer (const MemoryBuffer &src) | |
| ~MemoryBuffer () | |
| destructor | |
| bool | is_a_single_elem () const |
| float & | operator[] (int index) |
| const float & | operator[] (int index) const |
| intptr_t | get_coords_offset (int x, int y) const |
| float * | get_elem (int x, int y) |
| const float * | get_elem (int x, int y) const |
| const float * | get_elem_clamped (int x, int y) const |
| void | read_elem (int x, int y, float *out) const |
| void | read_elem_clamped (int x, int y, float *out) const |
| void | read_elem_checked (int x, int y, float *out) const |
| void | read_elem_checked (float x, float y, float *out) const |
| float4 | texture_bilinear_extend (float2 coordinates) const |
| float4 | texture_nearest_extend (float2 coordinates) const |
| void | read_elem_bilinear (float x, float y, float *out) const |
| void | read_elem_bicubic_bspline (float x, float y, float *out) const |
| void | read_elem_sampled (float x, float y, PixelSampler sampler, float *out) const |
| void | read_elem_filtered (float x, float y, float dx[2], float dy[2], bool extend_boundary, float *out) const |
| float & | get_value (int x, int y, int channel) |
| const float & | get_value (int x, int y, int channel) const |
| const float * | get_row_end (int y) const |
| int | get_memory_width () const |
| int | get_memory_height () const |
| uint8_t | get_num_channels () const |
| uint8_t | get_elem_bytes_len () const |
| BufferRange< float > | as_range () |
| BufferRange< const float > | as_range () const |
| BufferArea< float > | get_buffer_area (const rcti &area) |
| BufferArea< const float > | get_buffer_area (const rcti &area) const |
| BuffersIterator< float > | iterate_with (Span< MemoryBuffer * > inputs) |
| BuffersIterator< float > | iterate_with (Span< MemoryBuffer * > inputs, const rcti &area) |
| float * | get_buffer () |
| get the data of this MemoryBuffer | |
| MemoryBuffer * | inflate () const |
| void | wrap_pixel (float &x, float &y, MemoryBufferExtend extend_x, MemoryBufferExtend extend_y) const |
| void | read (float *result, float x, float y, PixelSampler sampler=PixelSampler::Nearest, MemoryBufferExtend extend_x=MemoryBufferExtend::Clip, MemoryBufferExtend extend_y=MemoryBufferExtend::Clip) const |
| void | write_pixel (int x, int y, const float color[4]) |
| void | add_pixel (int x, int y, const float color[4]) |
| void | read_bilinear (float *result, float x, float y, MemoryBufferExtend extend_x=MemoryBufferExtend::Clip, MemoryBufferExtend extend_y=MemoryBufferExtend::Clip) const |
| void | apply_processor (ColormanageProcessor &processor, const rcti area) |
| Apply a color processor on the given area. | |
| void | copy_from (const MemoryBuffer *src, const rcti &area) |
| void | copy_from (const MemoryBuffer *src, const rcti &area, int to_x, int to_y) |
| void | copy_from (const MemoryBuffer *src, const rcti &area, int channel_offset, int elem_size, int to_channel_offset) |
| void | copy_from (const MemoryBuffer *src, const rcti &area, int channel_offset, int elem_size, int to_x, int to_y, int to_channel_offset) |
| void | copy_from (const uchar *src, const rcti &area) |
| void | copy_from (const uchar *src, const rcti &area, int channel_offset, int elem_size, int elem_stride, int row_stride, int to_channel_offset) |
| void | copy_from (const uchar *src, const rcti &area, int channel_offset, int elem_size, int elem_stride, int row_stride, int to_x, int to_y, int to_channel_offset) |
| void | copy_from (const struct ImBuf *src, const rcti &area, bool ensure_premultiplied=false, bool ensure_linear_space=false) |
| void | copy_from (const struct ImBuf *src, const rcti &area, int channel_offset, int elem_size, int to_channel_offset, bool ensure_premultiplied=false, bool ensure_linear_space=false) |
| void | copy_from (const struct ImBuf *src, const rcti &src_area, int channel_offset, int elem_size, int to_x, int to_y, int to_channel_offset, bool ensure_premultiplied=false, bool ensure_linear_space=false) |
| void | fill (const rcti &area, const float *value) |
| void | fill (const rcti &area, int channel_offset, const float *value, int value_size) |
| void | fill_from (const MemoryBuffer &src) |
| add the content from other_buffer to this MemoryBuffer | |
| const rcti & | get_rect () const |
| get the rect of this MemoryBuffer | |
| const int | get_width () const |
| get the width of this MemoryBuffer | |
| const int | get_height () const |
| get the height of this MemoryBuffer | |
| void | clear () |
| clear the buffer. Make all pixels black transparent. | |
| float | get_max_value () const |
| float | get_max_value (const rcti &rect) const |
Public Attributes | |
| int | elem_stride |
| int | row_stride |
a MemoryBuffer contains access to the data
Definition at line 35 of file COM_MemoryBuffer.h.
construct new temporarily MemoryBuffer for a width and height.
Definition at line 31 of file COM_MemoryBuffer.cc.
References BLI_rcti_init(), blender::compositor::COM_data_type_num_channels(), and MEM_mallocN_aligned().
Referenced by inflate().
| blender::compositor::MemoryBuffer::MemoryBuffer | ( | DataType | data_type, |
| const rcti & | rect, | ||
| bool | is_a_single_elem = false ) |
construct new temporarily MemoryBuffer for an area
Definition at line 44 of file COM_MemoryBuffer.cc.
References blender::compositor::COM_data_type_num_channels(), is_a_single_elem(), and MEM_mallocN_aligned().
| blender::compositor::MemoryBuffer::MemoryBuffer | ( | float * | buffer, |
| int | num_channels, | ||
| int | width, | ||
| int | height, | ||
| bool | is_a_single_elem = false ) |
Construct MemoryBuffer from a float buffer. MemoryBuffer is not responsible for freeing it.
Definition at line 57 of file COM_MemoryBuffer.cc.
| blender::compositor::MemoryBuffer::MemoryBuffer | ( | float * | buffer, |
| int | num_channels, | ||
| const rcti & | rect, | ||
| bool | is_a_single_elem = false ) |
Construct MemoryBuffer from a float buffer area. MemoryBuffer is not responsible for freeing given buffer.
Definition at line 63 of file COM_MemoryBuffer.cc.
References blender::compositor::COM_num_channels_data_type(), and is_a_single_elem().
| blender::compositor::MemoryBuffer::MemoryBuffer | ( | const MemoryBuffer & | src | ) |
| blender::compositor::MemoryBuffer::~MemoryBuffer | ( | ) |
Definition at line 416 of file COM_MemoryBuffer.cc.
References get_coords_offset(), x, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by blender::compositor::GlareGhostOperation::generate_glare().
| void blender::compositor::MemoryBuffer::apply_processor | ( | ColormanageProcessor & | processor, |
| const rcti | area ) |
Apply a color processor on the given area.
Definition at line 270 of file COM_MemoryBuffer.cc.
References BLI_rcti_size_x(), BLI_rcti_size_y(), get_elem(), get_num_channels(), get_width(), IMB_colormanagement_processor_apply(), and row_stride.
|
inline |
Get all buffer elements as a range with no offsets.
Definition at line 340 of file COM_MemoryBuffer.h.
References elem_stride.
|
inline |
Definition at line 345 of file COM_MemoryBuffer.h.
References elem_stride.
| void blender::compositor::MemoryBuffer::clear | ( | ) |
clear the buffer. Make all pixels black transparent.
Definition at line 98 of file COM_MemoryBuffer.cc.
Referenced by blender::compositor::GlareStreaksOperation::generate_glare(), and blender::compositor::DoubleEdgeMaskOperation::update_memory_buffer().
| void blender::compositor::MemoryBuffer::copy_from | ( | const MemoryBuffer * | src, |
| const rcti & | area ) |
Definition at line 168 of file COM_MemoryBuffer.cc.
References copy_from().
Referenced by copy_from(), copy_from(), copy_from(), copy_from(), copy_from(), blender::compositor::DebugInfo::export_operation(), fill(), fill_from(), inflate(), blender::compositor::FileOutputOperation::update_memory_buffer(), blender::compositor::CompositorOperation::update_memory_buffer_partial(), blender::compositor::MovieDistortionOperation::update_memory_buffer_partial(), and blender::compositor::ViewerOperation::update_memory_buffer_partial().
| void blender::compositor::MemoryBuffer::copy_from | ( | const MemoryBuffer * | src, |
| const rcti & | area, | ||
| int | channel_offset, | ||
| int | elem_size, | ||
| int | to_channel_offset ) |
Definition at line 182 of file COM_MemoryBuffer.cc.
References copy_from().
| void blender::compositor::MemoryBuffer::copy_from | ( | const MemoryBuffer * | src, |
| const rcti & | area, | ||
| int | channel_offset, | ||
| int | elem_size, | ||
| int | to_x, | ||
| int | to_y, | ||
| int | to_channel_offset ) |
Definition at line 191 of file COM_MemoryBuffer.cc.
References BLI_assert, get_num_channels(), and is_a_single_elem().
| void blender::compositor::MemoryBuffer::copy_from | ( | const MemoryBuffer * | src, |
| const rcti & | area, | ||
| int | to_x, | ||
| int | to_y ) |
Definition at line 173 of file COM_MemoryBuffer.cc.
References BLI_assert, copy_from(), and get_num_channels().
| void blender::compositor::MemoryBuffer::copy_from | ( | const struct ImBuf * | src, |
| const rcti & | area, | ||
| bool | ensure_premultiplied = false, | ||
| bool | ensure_linear_space = false ) |
| void blender::compositor::MemoryBuffer::copy_from | ( | const struct ImBuf * | src, |
| const rcti & | area, | ||
| int | channel_offset, | ||
| int | elem_size, | ||
| int | to_channel_offset, | ||
| bool | ensure_premultiplied = false, | ||
| bool | ensure_linear_space = false ) |
| void blender::compositor::MemoryBuffer::copy_from | ( | const struct ImBuf * | src, |
| const rcti & | src_area, | ||
| int | channel_offset, | ||
| int | elem_size, | ||
| int | to_x, | ||
| int | to_y, | ||
| int | to_channel_offset, | ||
| bool | ensure_premultiplied = false, | ||
| bool | ensure_linear_space = false ) |
Definition at line 214 of file COM_MemoryBuffer.cc.
References copy_from(), elem_stride, get_num_channels(), get_width(), and row_stride.
| void blender::compositor::MemoryBuffer::copy_from | ( | const uchar * | src, |
| const rcti & | area, | ||
| int | channel_offset, | ||
| int | elem_size, | ||
| int | elem_stride, | ||
| int | row_stride, | ||
| int | to_channel_offset ) |
Definition at line 221 of file COM_MemoryBuffer.cc.
References copy_from(), elem_stride, and row_stride.
| void blender::compositor::MemoryBuffer::copy_from | ( | const uchar * | src, |
| const rcti & | area, | ||
| int | channel_offset, | ||
| int | elem_size, | ||
| int | elem_stride, | ||
| int | row_stride, | ||
| int | to_x, | ||
| int | to_y, | ||
| int | to_channel_offset ) |
Definition at line 240 of file COM_MemoryBuffer.cc.
References ASSERT_BUFFER_CONTAINS_AREA_AT_COORDS, ASSERT_VALID_ELEM_SIZE, BLI_rcti_size_x(), BLI_rcti_size_y(), elem_stride, float, get_value(), and row_stride.
Definition at line 384 of file COM_MemoryBuffer.cc.
References fill(), and get_num_channels().
Referenced by fill().
| void blender::compositor::MemoryBuffer::fill | ( | const rcti & | area, |
| int | channel_offset, | ||
| const float * | value, | ||
| int | value_size ) |
Definition at line 389 of file COM_MemoryBuffer.cc.
References copy_from(), and get_rect().
| void blender::compositor::MemoryBuffer::fill_from | ( | const MemoryBuffer & | src | ) |
add the content from other_buffer to this MemoryBuffer
| other_buffer | source buffer |
Definition at line 398 of file COM_MemoryBuffer.cc.
References copy_from(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by get_max_value(), and MemoryBuffer().
|
inline |
get the data of this MemoryBuffer
Definition at line 367 of file COM_MemoryBuffer.h.
Referenced by blender::compositor::GlareGhostOperation::generate_glare(), blender::compositor::GlareSimpleStarOperation::generate_glare(), blender::compositor::GlareStreaksOperation::generate_glare(), blender::compositor::FastGaussianBlurOperation::IIR_gauss(), blender::compositor::DoubleEdgeMaskOperation::update_memory_buffer(), and blender::compositor::GlareBaseOperation::update_memory_buffer().
|
inline |
Definition at line 350 of file COM_MemoryBuffer.h.
References elem_stride, and get_width().
|
inline |
Definition at line 355 of file COM_MemoryBuffer.h.
References elem_stride, and get_width().
Get offset needed to jump from buffer start to given coordinates.
Definition at line 153 of file COM_MemoryBuffer.h.
References elem_stride, row_stride, rcti::xmin, and rcti::ymin.
Referenced by add_pixel(), get_elem(), get_elem(), get_elem_clamped(), get_row_end(), get_value(), get_value(), operator[](), operator[](), and write_pixel().
Get buffer element at given coordinates.
Definition at line 161 of file COM_MemoryBuffer.h.
References BLI_assert, and get_coords_offset().
Referenced by apply_processor(), blender::compositor::colorspace_to_scene_linear(), blender::compositor::compute_symmetric_separable_blur_weights(), blender::compositor::dilate_max_velocity(), blender::compositor::DenoiseOperation::generate_denoise(), blender::compositor::premultiply_alpha(), read_elem(), blender::compositor::BilateralBlurOperation::update_memory_buffer_partial(), blender::compositor::BokehBlurOperation::update_memory_buffer_partial(), blender::compositor::FlipOperation::update_memory_buffer_partial(), blender::compositor::GaussianBlurReferenceOperation::update_memory_buffer_partial(), blender::compositor::KuwaharaClassicOperation::update_memory_buffer_partial(), blender::compositor::MixBaseOperation::update_memory_buffer_partial(), blender::compositor::PhotoreceptorTonemapOperation::update_memory_buffer_partial(), blender::compositor::ScreenLensDistortionOperation::update_memory_buffer_partial(), blender::compositor::VariableSizeBokehBlurOperation::update_memory_buffer_partial(), and blender::compositor::TonemapOperation::update_memory_buffer_started().
Get buffer element at given coordinates.
Definition at line 170 of file COM_MemoryBuffer.h.
References BLI_assert, and get_coords_offset().
|
inline |
Definition at line 332 of file COM_MemoryBuffer.h.
References float.
Referenced by read(), read_elem(), read_elem_bicubic_bspline(), read_elem_clamped(), texture_bilinear_extend(), and texture_nearest_extend().
Get buffer element at given coordinates, clamped to border.
Definition at line 179 of file COM_MemoryBuffer.h.
References blender::math::clamp(), get_coords_offset(), get_height(), and get_width().
Referenced by read_elem_clamped(), blender::compositor::BokehBlurOperation::update_memory_buffer_partial(), blender::compositor::GaussianBlurReferenceOperation::update_memory_buffer_partial(), and blender::compositor::VariableSizeBokehBlurOperation::update_memory_buffer_partial().
|
inline |
get the height of this MemoryBuffer
Definition at line 606 of file COM_MemoryBuffer.h.
References BLI_rcti_size_y().
Referenced by blender::compositor::compute_max_tile_velocity(), blender::compositor::dilate_max_velocity(), blender::compositor::GlareGhostOperation::generate_glare(), blender::compositor::GlareStreaksOperation::generate_glare(), get_elem_clamped(), get_memory_height(), blender::compositor::FastGaussianBlurOperation::IIR_gauss(), blender::compositor::motion_blur(), operator[](), operator[](), read(), read_bilinear(), read_elem_bicubic_bspline(), read_elem_filtered(), blender::compositor::summed_area_table_sum(), texture_bilinear_extend(), texture_nearest_extend(), blender::compositor::BokehBlurOperation::update_memory_buffer_partial(), and wrap_pixel().
| float blender::compositor::MemoryBuffer::get_max_value | ( | ) | const |
Definition at line 125 of file COM_MemoryBuffer.cc.
References result, and size().
Referenced by get_max_value(), and blender::compositor::VariableSizeBokehBlurOperation::update_memory_buffer_partial().
Definition at line 143 of file COM_MemoryBuffer.cc.
References BLI_assert, BLI_rcti_is_empty(), BLI_rcti_isect(), fill_from(), and get_max_value().
|
inline |
Get number of elements in memory for a column. For single element buffers it will always be 1.
Definition at line 322 of file COM_MemoryBuffer.h.
References get_height(), and is_a_single_elem().
|
inline |
Get the number of elements in memory for a row. For single element buffers it will always be 1.
Definition at line 313 of file COM_MemoryBuffer.h.
References get_width(), and is_a_single_elem().
|
inline |
Definition at line 327 of file COM_MemoryBuffer.h.
Referenced by apply_processor(), blender::compositor::colorspace_to_scene_linear(), copy_from(), copy_from(), copy_from(), fill(), and blender::compositor::FastGaussianBlurOperation::IIR_gauss().
|
inline |
get the rect of this MemoryBuffer
Definition at line 590 of file COM_MemoryBuffer.h.
Referenced by fill(), blender::compositor::DenoiseOperation::generate_denoise(), blender::compositor::GlareStreaksOperation::generate_glare(), and blender::compositor::FlipOperation::update_memory_buffer_partial().
Get the buffer row end.
Definition at line 303 of file COM_MemoryBuffer.h.
References BLI_assert, get_coords_offset(), get_width(), and is_a_single_elem().
Get channel value at given coordinates.
Definition at line 285 of file COM_MemoryBuffer.h.
References BLI_assert, and get_coords_offset().
Referenced by copy_from().
|
inline |
Get channel value at given coordinates.
Definition at line 294 of file COM_MemoryBuffer.h.
References BLI_assert, and get_coords_offset().
|
inline |
get the width of this MemoryBuffer
Definition at line 598 of file COM_MemoryBuffer.h.
References BLI_rcti_size_x().
Referenced by apply_processor(), blender::compositor::colorspace_to_scene_linear(), blender::compositor::compute_max_tile_velocity(), copy_from(), blender::compositor::dilate_max_velocity(), blender::compositor::GlareGhostOperation::generate_glare(), blender::compositor::GlareStreaksOperation::generate_glare(), get_buffer_area(), get_buffer_area(), get_elem_clamped(), get_memory_width(), get_row_end(), blender::compositor::FastGaussianBlurOperation::IIR_gauss(), blender::compositor::motion_blur(), operator[](), operator[](), read(), read_bilinear(), read_elem_bicubic_bspline(), read_elem_filtered(), blender::compositor::sample_weight(), blender::compositor::summed_area_table_sum(), texture_bilinear_extend(), texture_nearest_extend(), blender::compositor::BokehBlurOperation::update_memory_buffer_partial(), blender::compositor::KuwaharaAnisotropicStructureTensorOperation::update_memory_buffer_partial(), blender::compositor::KuwaharaClassicOperation::update_memory_buffer_partial(), and wrap_pixel().
| MemoryBuffer * blender::compositor::MemoryBuffer::inflate | ( | ) | const |
Converts a single elem buffer to a full size buffer (allocates memory for all elements in resolution).
Definition at line 117 of file COM_MemoryBuffer.cc.
References BLI_assert, copy_from(), is_a_single_elem(), and MemoryBuffer().
Referenced by blender::compositor::DoubleEdgeMaskOperation::update_memory_buffer(), and blender::compositor::VectorBlurOperation::update_memory_buffer().
|
inline |
Whether buffer is a single element in memory independently of its resolution. True for set operations buffers.
Definition at line 131 of file COM_MemoryBuffer.h.
Referenced by copy_from(), blender::compositor::DenoiseOperation::generate_denoise(), get_memory_height(), get_memory_width(), get_row_end(), blender::compositor::FastGaussianBlurOperation::IIR_gauss(), inflate(), MemoryBuffer(), MemoryBuffer(), blender::compositor::DoubleEdgeMaskOperation::update_memory_buffer(), blender::compositor::VectorBlurOperation::update_memory_buffer(), blender::compositor::FlipOperation::update_memory_buffer_partial(), blender::compositor::PhotoreceptorTonemapOperation::update_memory_buffer_partial(), blender::compositor::ScreenLensDistortionOperation::update_memory_buffer_partial(), blender::compositor::TonemapOperation::update_memory_buffer_partial(), and blender::compositor::TonemapOperation::update_memory_buffer_started().
| BuffersIterator< float > blender::compositor::MemoryBuffer::iterate_with | ( | Span< MemoryBuffer * > | inputs | ) |
Definition at line 103 of file COM_MemoryBuffer.cc.
References iterate_with().
Referenced by iterate_with(), blender::compositor::BokehBlurOperation::update_memory_buffer_partial(), blender::compositor::GaussianBokehBlurOperation::update_memory_buffer_partial(), blender::compositor::KeyingBlurOperation::update_memory_buffer_partial(), blender::compositor::KeyingClipOperation::update_memory_buffer_partial(), blender::compositor::PlaneDistortWarpImageOperation::update_memory_buffer_partial(), blender::compositor::ScaleOperation::update_memory_buffer_partial(), and blender::compositor::TransformOperation::update_memory_buffer_partial().
| BuffersIterator< float > blender::compositor::MemoryBuffer::iterate_with | ( | Span< MemoryBuffer * > | inputs, |
| const rcti & | area ) |
Definition at line 108 of file COM_MemoryBuffer.cc.
References blender::compositor::BuffersIteratorBuilder< T >::add_input(), blender::compositor::BuffersIteratorBuilder< T >::build(), elem_stride, and inputs.
Definition at line 136 of file COM_MemoryBuffer.h.
References BLI_assert, get_coords_offset(), get_height(), and get_width().
Definition at line 143 of file COM_MemoryBuffer.h.
References BLI_assert, get_coords_offset(), get_height(), and get_width().
|
inline |
Definition at line 424 of file COM_MemoryBuffer.h.
References blender::compositor::Bilinear, blender::compositor::Clip, floorf, get_elem_bytes_len(), get_height(), get_width(), blender::math::interpolate_bilinear_wrap_fl(), blender::math::interpolate_cubic_bspline_fl(), mult(), blender::compositor::Nearest, read_elem_checked(), blender::compositor::Repeat, sampler(), w(), and wrap_pixel().
Referenced by blender::compositor::GlareSimpleStarOperation::generate_glare(), blender::compositor::GlareStreaksOperation::generate_glare(), read_elem_bilinear(), and read_elem_sampled().
|
inline |
Definition at line 488 of file COM_MemoryBuffer.h.
References copy_vn_fl(), get_height(), get_width(), blender::math::interpolate_bilinear_wrap_fl(), blender::compositor::Repeat, v, wrap_pixel(), x, and y.
Referenced by blender::compositor::GlareGhostOperation::generate_glare(), and blender::compositor::GlareStreaksOperation::generate_glare().
Definition at line 186 of file COM_MemoryBuffer.h.
References get_elem(), and get_elem_bytes_len().
Referenced by read_elem_checked(), blender::compositor::BokehBlurOperation::update_memory_buffer_partial(), blender::compositor::FlipOperation::update_memory_buffer_partial(), blender::compositor::GammaCorrectOperation::update_memory_buffer_partial(), blender::compositor::GammaUncorrectOperation::update_memory_buffer_partial(), and blender::compositor::ProjectorLensDistortionOperation::update_memory_buffer_partial().
|
inline |
Definition at line 258 of file COM_MemoryBuffer.h.
References get_elem_bytes_len(), get_height(), get_width(), and blender::math::interpolate_cubic_bspline_fl().
|
inline |
Definition at line 253 of file COM_MemoryBuffer.h.
References blender::compositor::Bilinear, and read().
Referenced by blender::compositor::sample_weight(), blender::compositor::DisplaceOperation::update_memory_buffer_partial(), blender::compositor::MovieDistortionOperation::update_memory_buffer_partial(), blender::compositor::ProjectorLensDistortionOperation::update_memory_buffer_partial(), and blender::compositor::MapUVOperation::update_memory_buffer_started().
|
inline |
Definition at line 206 of file COM_MemoryBuffer.h.
References read_elem_checked().
|
inline |
Definition at line 196 of file COM_MemoryBuffer.h.
References read_elem().
Referenced by read(), read_elem_checked(), blender::compositor::read_ewa_elem_checked(), blender::compositor::summed_area_table_sum(), and blender::compositor::DisplaceOperation::update_memory_buffer_started().
|
inline |
Definition at line 191 of file COM_MemoryBuffer.h.
References get_elem_bytes_len(), and get_elem_clamped().
Referenced by blender::compositor::blur_pixel(), and blender::compositor::read_ewa_elem_clamped().
| void blender::compositor::MemoryBuffer::read_elem_filtered | ( | float | x, |
| float | y, | ||
| float | dx[2], | ||
| float | dy[2], | ||
| bool | extend_boundary, | ||
| float * | out ) const |
Definition at line 440 of file COM_MemoryBuffer.cc.
References BLI_assert, BLI_ewa_filter(), blender::compositor::Color, float, get_height(), get_width(), blender::compositor::read_ewa_elem_checked(), and blender::compositor::read_ewa_elem_clamped().
Referenced by blender::compositor::DisplaceOperation::update_memory_buffer_partial(), blender::compositor::MapUVOperation::update_memory_buffer_partial(), and blender::compositor::PlaneDistortWarpImageOperation::update_memory_buffer_partial().
|
inline |
Definition at line 274 of file COM_MemoryBuffer.h.
References read(), and sampler().
Referenced by blender::compositor::MapUVOperation::update_memory_buffer_partial(), blender::compositor::RotateOperation::update_memory_buffer_partial(), blender::compositor::ScaleFixedSizeOperation::update_memory_buffer_partial(), and blender::compositor::ScaleOperation::update_memory_buffer_partial().
|
inline |
Definition at line 215 of file COM_MemoryBuffer.h.
References get_elem_bytes_len(), get_height(), get_width(), blender::math::interpolate_bilinear_fl(), and result.
Referenced by blender::compositor::gather_sample(), and blender::compositor::VariableSizeBokehBlurOperation::update_memory_buffer_partial().
Definition at line 236 of file COM_MemoryBuffer.h.
References get_elem_bytes_len(), get_height(), get_width(), blender::math::interpolate_nearest_fl(), and result.
|
inline |
Definition at line 378 of file COM_MemoryBuffer.h.
References blender::compositor::Clip, blender::compositor::Extend, float, floored_fmod(), get_height(), get_width(), blender::compositor::Repeat, w(), rcti::xmin, and rcti::ymin.
Referenced by read(), and read_bilinear().
Definition at line 408 of file COM_MemoryBuffer.cc.
References get_coords_offset(), x, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by blender::compositor::GlareGhostOperation::generate_glare(), and blender::compositor::GlareSimpleStarOperation::generate_glare().
| int blender::compositor::MemoryBuffer::elem_stride |
Offset between elements.
Should always be used for the x dimension when calculating buffer offsets. It will be 0 when is_a_single_elem=true. e.g: buffer_index = y * buffer.row_stride + x * buffer.elem_stride
Definition at line 44 of file COM_MemoryBuffer.h.
Referenced by as_range(), as_range(), copy_from(), copy_from(), copy_from(), get_buffer_area(), get_buffer_area(), get_coords_offset(), iterate_with(), and blender::compositor::MixBaseOperation::update_memory_buffer_partial().
| int blender::compositor::MemoryBuffer::row_stride |
Offset between rows.
Should always be used for the y dimension when calculating buffer offsets. It will be 0 when is_a_single_elem=true. e.g: buffer_index = y * buffer.row_stride + x * buffer.elem_stride
Definition at line 53 of file COM_MemoryBuffer.h.
Referenced by apply_processor(), blender::compositor::colorspace_to_scene_linear(), copy_from(), copy_from(), copy_from(), and get_coords_offset().