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
14
15namespace 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:
84
89
93 float m_amount;
94 };
95 } // namespace graphics
96} // namespace galaxy
97
98#endif
RenderTexture m_fb
Framebuffer to render aberration.
Shader m_shader
Shader for post processing effect.
void resize(const int width, const int height) override
Resize framebuffers.
void set_amount(const float amount)
Set intensity of film grain effect.
bool is_enabled() override
Is this effect enabled?
unsigned int render(const unsigned int input) override
Render effect to input texture.
float m_amount
Film grain intensity.
virtual ~FilmicGrain()=default
Destructor.
FilmicGrain()=delete
Constructor.
Manages post processing effects to apply to combined scene.
Draw to an opengl texture instead of the screen.
OpenGL Shader Program.
Definition Shader.hpp:29
Animated.cpp galaxy.
Definition Animated.cpp:16