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
galaxy::graphics::SMAA Class Referencefinal

Submorphological Anti Aliasing. More...

#include <SMAA.hpp>

+ Inheritance diagram for galaxy::graphics::SMAA:
+ Collaboration diagram for galaxy::graphics::SMAA:

Public Member Functions

 SMAA (const int width, const int height)
 Argument constructor.
 
virtual ~SMAA ()
 Destructor.
 
void resize (const int width, const int height) override
 Resize framebuffers.
 
unsigned int render (const unsigned int input) override
 Render effect to input texture.
 
bool is_enabled () override
 Is this effect enabled?
 
- Public Member Functions inherited from galaxy::graphics::PostEffect
virtual ~PostEffect ()=default
 Destructor.
 

Private Member Functions

 SMAA ()=delete
 Constructor.
 

Private Attributes

Shader m_smaa_edge
 SMAA Edge shader.
 
Shader m_smaa_blend
 SMAA Blending shader.
 
Shader m_smaa_neighbourhood
 SMAA neighbourhood shader.
 
unsigned int m_neighbour_tex
 SMAA neighbour texture.
 
unsigned int m_edge_tex
 SMAA edge texture.
 
unsigned int m_blend_tex
 SMAA blend texture.
 
unsigned int m_area_tex
 SMAA area texture.
 
unsigned int m_search_tex
 SMAA search texture.
 
unsigned int m_neighbour_fbo
 SMAA neighbour framebuffer.
 
unsigned int m_edge_fbo
 SMAA edge framebuffer.
 
unsigned int m_blend_fbo
 SMAA blend framebuffer.
 

Additional Inherited Members

- Protected Member Functions inherited from galaxy::graphics::PostEffect
 PostEffect ()=default
 Constructor.
 
 PostEffect (const PostEffect &)=default
 Copy constructor.
 
 PostEffect (PostEffect &&)=default
 Move constructor.
 
PostEffectoperator= (const PostEffect &)=default
 Copy assignment operator.
 
PostEffectoperator= (PostEffect &&)=default
 Move assignment operator.
 

Detailed Description

Submorphological Anti Aliasing.

This is the first post effect you should run.

Definition at line 23 of file SMAA.hpp.

Constructor & Destructor Documentation

◆ SMAA() [1/2]

galaxy::graphics::SMAA::SMAA ( const int width,
const int height )

Argument constructor.

Parameters
widthWidth of internal framebuffer.
heightHeight of internal framebuffer.

Definition at line 15965 of file SMAA.cpp.

+ Here is the call graph for this function:

◆ ~SMAA()

galaxy::graphics::SMAA::~SMAA ( )
virtual

Destructor.

Definition at line 16071 of file SMAA.cpp.

◆ SMAA() [2/2]

galaxy::graphics::SMAA::SMAA ( )
privatedelete

Constructor.

Member Function Documentation

◆ resize()

void galaxy::graphics::SMAA::resize ( const int width,
const int height )
overridevirtual

Resize framebuffers.

Parameters
widthNew width of internal framebuffer.
heightNew height of internal framebuffer.

Implements galaxy::graphics::PostEffect.

Definition at line 16084 of file SMAA.cpp.

◆ render()

unsigned int galaxy::graphics::SMAA::render ( const unsigned int input)
nodiscardoverridevirtual

Render effect to input texture.

Parameters
inputInput texture from previous effect or window framebuffer.
Returns
Returns output texture for next effect or final framebuffer.

Implements galaxy::graphics::PostEffect.

Definition at line 16098 of file SMAA.cpp.

+ Here is the call graph for this function:

◆ is_enabled()

bool galaxy::graphics::SMAA::is_enabled ( )
nodiscardoverridevirtual

Is this effect enabled?

Returns
True if effect is enabled. Otherwise false.

Implements galaxy::graphics::PostEffect.

Definition at line 16148 of file SMAA.cpp.

Member Data Documentation

◆ m_smaa_edge

Shader galaxy::graphics::SMAA::m_smaa_edge
private

SMAA Edge shader.

Definition at line 75 of file SMAA.hpp.

◆ m_smaa_blend

Shader galaxy::graphics::SMAA::m_smaa_blend
private

SMAA Blending shader.

Definition at line 80 of file SMAA.hpp.

◆ m_smaa_neighbourhood

Shader galaxy::graphics::SMAA::m_smaa_neighbourhood
private

SMAA neighbourhood shader.

Definition at line 85 of file SMAA.hpp.

◆ m_neighbour_tex

unsigned int galaxy::graphics::SMAA::m_neighbour_tex
private

SMAA neighbour texture.

Definition at line 90 of file SMAA.hpp.

◆ m_edge_tex

unsigned int galaxy::graphics::SMAA::m_edge_tex
private

SMAA edge texture.

Definition at line 95 of file SMAA.hpp.

◆ m_blend_tex

unsigned int galaxy::graphics::SMAA::m_blend_tex
private

SMAA blend texture.

Definition at line 100 of file SMAA.hpp.

◆ m_area_tex

unsigned int galaxy::graphics::SMAA::m_area_tex
private

SMAA area texture.

Definition at line 105 of file SMAA.hpp.

◆ m_search_tex

unsigned int galaxy::graphics::SMAA::m_search_tex
private

SMAA search texture.

Definition at line 110 of file SMAA.hpp.

◆ m_neighbour_fbo

unsigned int galaxy::graphics::SMAA::m_neighbour_fbo
private

SMAA neighbour framebuffer.

Definition at line 115 of file SMAA.hpp.

◆ m_edge_fbo

unsigned int galaxy::graphics::SMAA::m_edge_fbo
private

SMAA edge framebuffer.

Definition at line 120 of file SMAA.hpp.

◆ m_blend_fbo

unsigned int galaxy::graphics::SMAA::m_blend_fbo
private

SMAA blend framebuffer.

Definition at line 125 of file SMAA.hpp.


The documentation for this class was generated from the following files: