Blender
V4.3
source
blender
compositor
operations
COM_ConvertDepthToRadiusOperation.h
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2011 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#pragma once
6
7
#include "
COM_GaussianBlurBaseOperation.h
"
8
#include "
COM_MultiThreadedOperation.h
"
9
10
namespace
blender::compositor
{
11
12
class
ConvertDepthToRadiusOperation
:
public
MultiThreadedOperation
{
13
private
:
14
SocketReader
*depth_input_operation_;
15
SocketReader
*image_input_operation_;
16
17
const
Scene
*scene_;
18
const
NodeDefocus
*data_;
19
20
float
f_stop;
21
float
max_radius;
22
float
focal_length;
23
float
pixels_per_meter;
24
float
distance_to_image_of_focus;
25
26
GaussianXBlurOperation
*blur_x_operation_;
27
GaussianYBlurOperation
*blur_y_operation_;
28
29
public
:
30
ConvertDepthToRadiusOperation
();
31
32
void
init_execution
()
override
;
33
34
void
set_data
(
const
NodeDefocus
*
data
)
35
{
36
data_ =
data
;
37
}
38
39
void
set_scene
(
const
Scene
*scene)
40
{
41
scene_ = scene;
42
}
43
44
void
set_blur_x_operation
(
GaussianXBlurOperation
*blur_x_operation)
45
{
46
blur_x_operation_ = blur_x_operation;
47
}
48
49
void
set_blur_y_operation
(
GaussianYBlurOperation
*blur_y_operation)
50
{
51
blur_y_operation_ = blur_y_operation;
52
}
53
54
void
update_memory_buffer_partial
(
MemoryBuffer
*
output
,
55
const
rcti
&area,
56
Span<MemoryBuffer *>
inputs
)
override
;
57
58
private
:
59
float
compute_maximum_defocus_radius()
const
;
60
float
compute_maximum_diameter_of_circle_of_confusion()
const
;
61
float
compute_distance_to_image_of_focus()
const
;
62
float
get_focal_length()
const
;
63
float
compute_focus_distance()
const
;
64
float
compute_pixels_per_meter()
const
;
65
float
get_f_stop()
const
;
66
const
Camera
*get_camera()
const
;
67
const
Object
*get_camera_object()
const
;
68
};
69
70
}
// namespace blender::compositor
COM_GaussianBlurBaseOperation.h
COM_MultiThreadedOperation.h
data
data
Definition
bmesh_operator_api_inline.hh:159
output
#define output
blender::Span
Definition
BLI_span.hh:75
blender::compositor::ConvertDepthToRadiusOperation::set_blur_y_operation
void set_blur_y_operation(GaussianYBlurOperation *blur_y_operation)
Definition
COM_ConvertDepthToRadiusOperation.h:49
blender::compositor::ConvertDepthToRadiusOperation::set_scene
void set_scene(const Scene *scene)
Definition
COM_ConvertDepthToRadiusOperation.h:39
blender::compositor::ConvertDepthToRadiusOperation::update_memory_buffer_partial
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
Definition
COM_ConvertDepthToRadiusOperation.cc:54
blender::compositor::ConvertDepthToRadiusOperation::set_data
void set_data(const NodeDefocus *data)
Definition
COM_ConvertDepthToRadiusOperation.h:34
blender::compositor::ConvertDepthToRadiusOperation::init_execution
void init_execution() override
Definition
COM_ConvertDepthToRadiusOperation.cc:26
blender::compositor::ConvertDepthToRadiusOperation::ConvertDepthToRadiusOperation
ConvertDepthToRadiusOperation()
Definition
COM_ConvertDepthToRadiusOperation.cc:18
blender::compositor::ConvertDepthToRadiusOperation::set_blur_x_operation
void set_blur_x_operation(GaussianXBlurOperation *blur_x_operation)
Definition
COM_ConvertDepthToRadiusOperation.h:44
blender::compositor::GaussianXBlurOperation
Definition
COM_GaussianBlurBaseOperation.h:34
blender::compositor::GaussianYBlurOperation
Definition
COM_GaussianBlurBaseOperation.h:39
blender::compositor::MemoryBuffer
a MemoryBuffer contains access to the data
Definition
COM_MemoryBuffer.h:35
blender::compositor::MultiThreadedOperation::MultiThreadedOperation
MultiThreadedOperation()
Definition
COM_MultiThreadedOperation.cc:10
blender::compositor
Definition
COM_JumpFloodingAlgorithm.cc:20
blender::compositor::SocketReader
NodeOperation SocketReader
Definition
COM_NodeOperation.h:33
inputs
static blender::bke::bNodeSocketTemplate inputs[]
Definition
node_texture_at.cc:11
Camera
Definition
DNA_camera_types.h:73
NodeDefocus
Definition
DNA_node_types.h:1199
Object
Definition
DNA_object_types.h:193
Scene
Definition
DNA_scene_types.h:1988
rcti
Definition
DNA_vec_types.h:68
Generated on Sat Oct 4 2025 05:32:23 for Blender by
doxygen
1.14.0