The setting was only affecting some of the blur operations, which does not typically results in a measurable performance boost in real compositor setups. For the simplicity of settings on user level remove setting which potentially makes compositor output worse, without much benefit. There are better ways to gain performance, like compositing on a lower resolution, exposing "preview" as an input to the node tree (similar to the geometry nodes) etc. Pull Request: https://projects.blender.org/blender/blender/pulls/121576
44 lines
980 B
C++
44 lines
980 B
C++
/* SPDX-FileCopyrightText: 2011 Blender Authors
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
#pragma once
|
|
|
|
#include "COM_MultiThreadedOperation.h"
|
|
|
|
namespace blender::compositor {
|
|
|
|
class BokehBlurOperation : public MultiThreadedOperation {
|
|
private:
|
|
void update_size();
|
|
float size_;
|
|
bool sizeavailable_;
|
|
|
|
bool extend_bounds_;
|
|
|
|
public:
|
|
BokehBlurOperation();
|
|
|
|
void init_data() override;
|
|
|
|
void set_size(float size)
|
|
{
|
|
size_ = size;
|
|
sizeavailable_ = true;
|
|
}
|
|
|
|
void set_extend_bounds(bool extend_bounds)
|
|
{
|
|
extend_bounds_ = extend_bounds;
|
|
}
|
|
|
|
void determine_canvas(const rcti &preferred_area, rcti &r_area) override;
|
|
|
|
void get_area_of_interest(int input_idx, const rcti &output_area, rcti &r_input_area) override;
|
|
void update_memory_buffer_partial(MemoryBuffer *output,
|
|
const rcti &area,
|
|
Span<MemoryBuffer *> inputs) override;
|
|
};
|
|
|
|
} // namespace blender::compositor
|