Blender
V4.3
source
blender
compositor
operations
COM_MapUVOperation.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_MultiThreadedOperation.h
"
8
9
namespace
blender::compositor
{
10
11
class
MapUVOperation
:
public
MultiThreadedOperation
{
12
private
:
13
static
constexpr
int
IMAGE_INPUT_INDEX = 0;
14
static
constexpr
int
UV_INPUT_INDEX = 1;
15
16
int
uv_width_;
17
int
uv_height_;
18
int
image_width_;
19
int
image_height_;
20
21
float
alpha_;
22
bool
nearest_neighbour_;
23
std::function<void(
float
x
,
float
y
,
float
*out)> uv_input_read_fn_;
24
25
public
:
26
MapUVOperation
();
27
28
void
pixel_transform
(
const
float
xy
[2],
float
r_uv[2],
float
r_deriv[2][2],
float
&r_alpha);
29
30
void
init_data
()
override
;
31
32
void
set_alpha
(
float
alpha)
33
{
34
alpha_ = alpha;
35
}
36
37
void
set_nearest_neighbour
(
bool
nearest_neighbour)
38
{
39
nearest_neighbour_ = nearest_neighbour;
40
}
41
42
void
get_area_of_interest
(
int
input_idx,
const
rcti
&output_area,
rcti
&r_input_area)
override
;
43
void
update_memory_buffer_started
(
MemoryBuffer
*
output
,
44
const
rcti
&area,
45
Span<MemoryBuffer *>
inputs
)
override
;
46
void
update_memory_buffer_partial
(
MemoryBuffer
*
output
,
47
const
rcti
&area,
48
Span<MemoryBuffer *>
inputs
)
override
;
49
50
private
:
51
bool
read_uv(
float
x
,
float
y
,
float
&r_u,
float
&r_v,
float
&r_alpha);
52
};
53
54
}
// namespace blender::compositor
x
x
Definition
BLI_expr_pylike_eval_test.cc:345
COM_MultiThreadedOperation.h
output
#define output
blender::Span
Definition
BLI_span.hh:75
blender::compositor::MapUVOperation::init_data
void init_data() override
Definition
COM_MapUVOperation.cc:20
blender::compositor::MapUVOperation::MapUVOperation
MapUVOperation()
Definition
COM_MapUVOperation.cc:9
blender::compositor::MapUVOperation::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_MapUVOperation.cc:99
blender::compositor::MapUVOperation::update_memory_buffer_partial
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
Definition
COM_MapUVOperation.cc:126
blender::compositor::MapUVOperation::update_memory_buffer_started
void update_memory_buffer_started(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
Definition
COM_MapUVOperation.cc:116
blender::compositor::MapUVOperation::set_alpha
void set_alpha(float alpha)
Definition
COM_MapUVOperation.h:32
blender::compositor::MapUVOperation::pixel_transform
void pixel_transform(const float xy[2], float r_uv[2], float r_deriv[2][2], float &r_alpha)
Definition
COM_MapUVOperation.cc:48
blender::compositor::MapUVOperation::set_nearest_neighbour
void set_nearest_neighbour(bool nearest_neighbour)
Definition
COM_MapUVOperation.h:37
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
y
y
Definition
compositor_morphological_blur_info.hh:15
blender::compositor
Definition
COM_JumpFloodingAlgorithm.cc:20
inputs
static blender::bke::bNodeSocketTemplate inputs[]
Definition
node_texture_at.cc:11
rcti
Definition
DNA_vec_types.h:68
xy
int xy[2]
Definition
wm_draw.cc:170
Generated on Sat Oct 4 2025 05:32:23 for Blender by
doxygen
1.14.0