Antkeeper
0.0.1
src
engine
render
compositor.cpp
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2023 Christopher J. Howard
3
*
4
* This file is part of Antkeeper source code.
5
*
6
* Antkeeper source code is free software: you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation, either version 3 of the License, or
9
* (at your option) any later version.
10
*
11
* Antkeeper source code is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with Antkeeper source code. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#include <
engine/render/compositor.hpp
>
21
#include <
engine/render/pass.hpp
>
22
23
namespace
render
{
24
25
void
compositor::add_pass
(
pass
*
pass
)
26
{
27
passes.push_back(
pass
);
28
}
29
30
void
compositor::remove_pass
(
pass
*
pass
)
31
{
32
passes.remove(
pass
);
33
}
34
35
void
compositor::remove_passes
()
36
{
37
passes.clear();
38
}
39
40
void
compositor::composite
(
render::context
& ctx)
41
{
42
for
(
pass
*
pass
: passes)
43
{
44
if
(
pass
->
is_enabled
())
45
{
46
pass
->
render
(ctx);
47
}
48
}
49
}
50
51
}
// namespace render
render::compositor::remove_pass
void remove_pass(pass *pass)
Definition:
compositor.cpp:30
render::compositor::composite
void composite(render::context &ctx)
Definition:
compositor.cpp:40
render::compositor::remove_passes
void remove_passes()
Definition:
compositor.cpp:35
render::compositor::add_pass
void add_pass(pass *pass)
Definition:
compositor.cpp:25
render::pass
Render pass.
Definition:
pass.hpp:34
render::pass::render
virtual void render(render::context &ctx)=0
render::pass::is_enabled
constexpr bool is_enabled() const noexcept
Definition:
pass.hpp:43
compositor.hpp
render
High-level rendering.
Definition:
anti-aliasing-method.hpp:25
pass.hpp
render::context
Context of a renderer.
Definition:
context.hpp:40