Blender
V3.3
source
blender
compositor
operations
COM_BilateralBlurOperation.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later
2
* Copyright 2011 Blender Foundation. */
3
4
#pragma once
5
6
#include "
COM_MultiThreadedOperation.h
"
7
#include "
COM_QualityStepHelper.h
"
8
9
namespace
blender::compositor
{
10
11
class
BilateralBlurOperation
:
public
MultiThreadedOperation
,
public
QualityStepHelper
{
12
private
:
13
SocketReader
*input_color_program_;
14
SocketReader
*input_determinator_program_;
15
NodeBilateralBlurData
*data_;
16
float
space_;
17
18
public
:
19
BilateralBlurOperation
();
20
24
void
execute_pixel
(
float
output
[4],
int
x
,
int
y
,
void
*
data
)
override
;
25
29
void
init_execution
()
override
;
30
34
void
deinit_execution
()
override
;
35
36
bool
determine_depending_area_of_interest
(
rcti
*
input
,
37
ReadBufferOperation
*read_operation,
38
rcti
*
output
)
override
;
39
40
void
set_data
(
NodeBilateralBlurData
*
data
)
41
{
42
data_
=
data
;
43
space_ =
data
->sigma_space +
data
->iter;
44
}
45
46
void
get_area_of_interest
(
int
input_idx,
const
rcti
&output_area,
rcti
&r_input_area)
override
;
47
48
void
update_memory_buffer_partial
(
MemoryBuffer
*
output
,
49
const
rcti
&
area
,
50
Span<MemoryBuffer *>
inputs
)
override
;
51
};
52
53
}
// namespace blender::compositor
x
x
Definition:
BLI_expr_pylike_eval_test.cc:342
COM_MultiThreadedOperation.h
COM_QualityStepHelper.h
y
_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 y
Definition:
GPU_legacy_stubs.h:190
data
data
Definition:
bmesh_operator_api_inline.h:157
blender::Span
Definition:
BLI_span.hh:73
blender::compositor::BilateralBlurOperation
Definition:
COM_BilateralBlurOperation.h:11
blender::compositor::BilateralBlurOperation::BilateralBlurOperation
BilateralBlurOperation()
Definition:
COM_BilateralBlurOperation.cc:8
blender::compositor::BilateralBlurOperation::deinit_execution
void deinit_execution() override
Definition:
COM_BilateralBlurOperation.cc:78
blender::compositor::BilateralBlurOperation::init_execution
void init_execution() override
Definition:
COM_BilateralBlurOperation.cc:19
blender::compositor::BilateralBlurOperation::set_data
void set_data(NodeBilateralBlurData *data)
Definition:
COM_BilateralBlurOperation.h:40
blender::compositor::BilateralBlurOperation::determine_depending_area_of_interest
bool determine_depending_area_of_interest(rcti *input, ReadBufferOperation *read_operation, rcti *output) override
Definition:
COM_BilateralBlurOperation.cc:84
blender::compositor::BilateralBlurOperation::update_memory_buffer_partial
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
Definition:
COM_BilateralBlurOperation.cc:155
blender::compositor::BilateralBlurOperation::execute_pixel
void execute_pixel(float output[4], int x, int y, void *data) override
Definition:
COM_BilateralBlurOperation.cc:26
blender::compositor::BilateralBlurOperation::get_area_of_interest
void get_area_of_interest(int input_idx, const rcti &output_area, rcti &r_input_area) override
Get input operation area being read by this operation on rendering given output area.
Definition:
COM_BilateralBlurOperation.cc:98
blender::compositor::MemoryBuffer
a MemoryBuffer contains access to the data of a chunk
Definition:
COM_MemoryBuffer.h:43
blender::compositor::MultiThreadedOperation
Definition:
COM_MultiThreadedOperation.h:10
blender::compositor::NodeOperation
NodeOperation contains calculation logic.
Definition:
COM_NodeOperation.h:303
blender::compositor::QualityStepHelper
Definition:
COM_QualityStepHelper.h:15
blender::compositor::ReadBufferOperation
Definition:
COM_ReadBufferOperation.h:12
data_
T * data_
Definition:
eval_output.h:163
output
ccl_global KernelShaderEvalInput ccl_global float * output
Definition:
kernel/device/gpu/kernel.h:751
input
ccl_global KernelShaderEvalInput * input
Definition:
kernel/device/gpu/kernel.h:750
blender::compositor
Definition:
COM_defines.h:10
blender::compositor::area
static void area(int d1, int d2, int e1, int e2, float weights[2])
Definition:
COM_SMAAOperation.cc:113
inputs
static bNodeSocketTemplate inputs[]
Definition:
node_texture_at.c:11
NodeBilateralBlurData
Definition:
DNA_node_types.h:753
rcti
Definition:
DNA_vec_types.h:62
Generated on Sat Jul 27 2024 14:57:55 for Blender by
doxygen
1.9.1