Blender
V3.3
source
blender
compositor
operations
COM_SunBeamsOperation.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later
2
* Copyright 2014 Blender Foundation. */
3
4
#pragma once
5
6
#include "
COM_MultiThreadedOperation.h
"
7
8
namespace
blender::compositor
{
9
10
class
SunBeamsOperation
:
public
MultiThreadedOperation
{
11
public
:
12
SunBeamsOperation
();
13
14
void
execute_pixel
(
float
output
[4],
int
x
,
int
y
,
void
*
data
)
override
;
15
16
void
init_execution
()
override
;
17
18
void
*
initialize_tile_data
(
rcti
*rect)
override
;
19
20
bool
determine_depending_area_of_interest
(
rcti
*
input
,
21
ReadBufferOperation
*read_operation,
22
rcti
*
output
)
override
;
23
24
void
set_data
(
const
NodeSunBeams
&
data
)
25
{
26
data_ =
data
;
27
}
28
29
void
update_memory_buffer_partial
(
MemoryBuffer
*
output
,
30
const
rcti
&
area
,
31
Span<MemoryBuffer *>
inputs
)
override
;
32
void
get_area_of_interest
(
int
input_idx,
const
rcti
&output_area,
rcti
&r_input_area)
override
;
33
34
private
:
35
void
calc_rays_common_data();
36
37
private
:
38
NodeSunBeams
data_;
39
40
float
source_px_[2];
41
float
ray_length_px_;
42
};
43
44
}
// namespace blender::compositor
x
x
Definition:
BLI_expr_pylike_eval_test.cc:342
COM_MultiThreadedOperation.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::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::ReadBufferOperation
Definition:
COM_ReadBufferOperation.h:12
blender::compositor::SunBeamsOperation
Definition:
COM_SunBeamsOperation.h:10
blender::compositor::SunBeamsOperation::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_SunBeamsOperation.cc:328
blender::compositor::SunBeamsOperation::SunBeamsOperation
SunBeamsOperation()
Definition:
COM_SunBeamsOperation.cc:10
blender::compositor::SunBeamsOperation::update_memory_buffer_partial
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
Definition:
COM_SunBeamsOperation.cc:346
blender::compositor::SunBeamsOperation::init_execution
void init_execution() override
Definition:
COM_SunBeamsOperation.cc:27
blender::compositor::SunBeamsOperation::execute_pixel
void execute_pixel(float output[4], int x, int y, void *data) override
calculate a single pixel
Definition:
COM_SunBeamsOperation.cc:289
blender::compositor::SunBeamsOperation::initialize_tile_data
void * initialize_tile_data(rcti *rect) override
Definition:
COM_SunBeamsOperation.cc:283
blender::compositor::SunBeamsOperation::set_data
void set_data(const NodeSunBeams &data)
Definition:
COM_SunBeamsOperation.h:24
blender::compositor::SunBeamsOperation::determine_depending_area_of_interest
bool determine_depending_area_of_interest(rcti *input, ReadBufferOperation *read_operation, rcti *output) override
Definition:
COM_SunBeamsOperation.cc:311
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
NodeSunBeams
Definition:
DNA_node_types.h:1121
rcti
Definition:
DNA_vec_types.h:62
Generated on Tue Oct 22 2024 13:18:25 for Blender by
doxygen
1.9.1