galaxy
1.0.0
Real-Time C++23 Game Programming Framework. Built on data-driven design principles and agile software engineering.
Loading...
Searching...
No Matches
FilmicGrain.hpp
Go to the documentation of this file.
1
7
8
#ifndef GALAXY_GRAPHICS_POST_FilmicGrain_HPP_
9
#define GALAXY_GRAPHICS_POST_FilmicGrain_HPP_
10
11
#include "
galaxy/graphics/gl/Shader.hpp
"
12
#include "
galaxy/graphics/PostEffect.hpp
"
13
#include "
galaxy/graphics/RenderTexture.hpp
"
14
15
namespace
galaxy
16
{
17
namespace
graphics
18
{
24
class
FilmicGrain
final :
public
PostEffect
25
{
26
public
:
33
FilmicGrain
(
const
int
width,
const
int
height);
34
38
virtual
~FilmicGrain
() =
default
;
39
46
void
resize
(
const
int
width,
const
int
height)
override
;
47
55
[[nodiscard]]
56
unsigned
int
render
(
const
unsigned
int
input)
override
;
57
63
void
set_amount
(
const
float
amount);
64
70
[[nodiscard]]
71
bool
is_enabled
()
override
;
72
73
private
:
77
FilmicGrain
() =
delete
;
78
79
private
:
83
Shader
m_shader
;
84
88
RenderTexture
m_fb
;
89
93
float
m_amount
;
94
};
95
}
// namespace graphics
96
}
// namespace galaxy
97
98
#endif
PostEffect.hpp
RenderTexture.hpp
Shader.hpp
galaxy::graphics::FilmicGrain
Film grain effect.
Definition
FilmicGrain.hpp:25
galaxy::graphics::FilmicGrain::m_fb
RenderTexture m_fb
Framebuffer to render aberration.
Definition
FilmicGrain.hpp:88
galaxy::graphics::FilmicGrain::m_shader
Shader m_shader
Shader for post processing effect.
Definition
FilmicGrain.hpp:83
galaxy::graphics::FilmicGrain::resize
void resize(const int width, const int height) override
Resize framebuffers.
Definition
FilmicGrain.cpp:107
galaxy::graphics::FilmicGrain::set_amount
void set_amount(const float amount)
Set intensity of film grain effect.
Definition
FilmicGrain.cpp:126
galaxy::graphics::FilmicGrain::is_enabled
bool is_enabled() override
Is this effect enabled?
Definition
FilmicGrain.cpp:132
galaxy::graphics::FilmicGrain::render
unsigned int render(const unsigned int input) override
Render effect to input texture.
Definition
FilmicGrain.cpp:112
galaxy::graphics::FilmicGrain::m_amount
float m_amount
Film grain intensity.
Definition
FilmicGrain.hpp:93
galaxy::graphics::FilmicGrain::~FilmicGrain
virtual ~FilmicGrain()=default
Destructor.
galaxy::graphics::FilmicGrain::FilmicGrain
FilmicGrain()=delete
Constructor.
galaxy::graphics::PostEffect
Manages post processing effects to apply to combined scene.
Definition
PostEffect.hpp:21
galaxy::graphics::RenderTexture
Draw to an opengl texture instead of the screen.
Definition
RenderTexture.hpp:25
galaxy::graphics::Shader
OpenGL Shader Program.
Definition
Shader.hpp:29
galaxy
Animated.cpp galaxy.
Definition
Animated.cpp:16
galaxy
src
galaxy
graphics
post
FilmicGrain.hpp
Generated on Fri Sep 12 2025 07:29:47 for galaxy by
1.12.0