API Documentation
SsaoEffect.h
1 // SsaoEffect.h
3 //
5 
6 namespace nkAstraeus
7 {
17  class SsaoEffect final : public Effect
18  {
19  public :
20 
27  SsaoEffect (System* system) noexcept ;
31  virtual ~SsaoEffect () ;
32 
33  // Getters
37  virtual EFFECT_TYPE getType () const override ;
53  bool getLinearDepth () const ;
61  float getSamplingRadius () const ;
65  float getMaxOcclusionDistance () const ;
69  float getStrength () const ;
73  float getDepthBias () const ;
77  unsigned int getKernelSampleCount () const ;
81  bool getOcclusionDrivesAlpha () const ;
82 
83  // Setters
104  void setEffectFromGBufferInfo (nkGraphics::Texture* positionBuffer, nkGraphics::Texture* normalBuffer = nullptr) ;
123  void setEffectFromDepthInfo (nkGraphics::Texture* depthBuffer, bool linearDepth = false) ;
144  void setSamplingRadius (float value) ;
156  void setMaxOcclusionDistance (float value) ;
167  void setStrength (float value) ;
178  void setDepthBias (float value) ;
190  void setKernelSampleCount (unsigned int value) ;
204  void setOcclusionDrivesAlpha (bool value) ;
205 
206  // Load
207  virtual bool load () override ;
208  virtual void unload () override ;
209 
210  public :
211 
212  // Statics
223  static nkMemory::UniquePtr<SsaoEffect> create (System* system = nullptr) ;
224  } ;
225 }
nkAstraeus::SsaoEffect::create
static nkMemory::UniquePtr< SsaoEffect > create(System *system=nullptr)
nkAstraeus::SsaoEffect::SsaoEffect
SsaoEffect(System *system) noexcept
nkAstraeus::SsaoEffect::setCamera
void setCamera(nkGraphics::Camera *value)
nkAstraeus::SsaoEffect::~SsaoEffect
virtual ~SsaoEffect()
nkAstraeus::SsaoEffect::setDepthBias
void setDepthBias(float value)
nkGraphics::Camera
Offers all controls to model a camera.
Definition: Camera.h:14
nkAstraeus::SsaoEffect::getLinearDepth
bool getLinearDepth() const
nkGraphics::Texture
A texture used for rendering, hosted on GPU.
Definition: Texture.h:35
nkAstraeus::EFFECT_TYPE
EFFECT_TYPE
Lists all effects supported.
Definition: EffectType.h:12
nkAstraeus::SsaoEffect::getDepthBias
float getDepthBias() const
nkAstraeus::SsaoEffect::getStrength
float getStrength() const
nkAstraeus::SsaoEffect::getDepthBuffer
nkGraphics::Texture * getDepthBuffer() const
nkAstraeus::SsaoEffect::load
virtual bool load() override
nkAstraeus::System
The main entry point for nkAstraeus engine.
Definition: System.h:15
nkAstraeus::SsaoEffect::getPositionBuffer
nkGraphics::Texture * getPositionBuffer() const
nkAstraeus::SsaoEffect::unload
virtual void unload() override
nkAstraeus::SsaoEffect::getKernelSampleCount
unsigned int getKernelSampleCount() const
nkAstraeus::SsaoEffect::getSamplingRadius
float getSamplingRadius() const
nkAstraeus::SsaoEffect
A Screen Space Ambient Occlusion effect.
Definition: SsaoEffect.h:18
nkAstraeus::SsaoEffect::setOcclusionDrivesAlpha
void setOcclusionDrivesAlpha(bool value)
nkAstraeus::SsaoEffect::getType
virtual EFFECT_TYPE getType() const override
nkAstraeus
Encompasses all API of component NilkinsAstraeus.
Definition: BlurComplexEffect.h:7
nkMemory::UniquePtr
Smart pointer owning the object instance it encapsulates.
Definition: UniquePtr.h:17
nkAstraeus::SsaoEffect::getCamera
nkGraphics::Camera * getCamera() const
nkAstraeus::Effect
Base class for all effects in the component.
Definition: Effect.h:16
nkAstraeus::SsaoEffect::getNormalBuffer
nkGraphics::Texture * getNormalBuffer() const
nkAstraeus::SsaoEffect::setSamplingRadius
void setSamplingRadius(float value)
nkAstraeus::SsaoEffect::setKernelSampleCount
void setKernelSampleCount(unsigned int value)
nkAstraeus::SsaoEffect::setEffectFromGBufferInfo
void setEffectFromGBufferInfo(nkGraphics::Texture *positionBuffer, nkGraphics::Texture *normalBuffer=nullptr)
nkAstraeus::SsaoEffect::getOcclusionDrivesAlpha
bool getOcclusionDrivesAlpha() const
nkAstraeus::SsaoEffect::setMaxOcclusionDistance
void setMaxOcclusionDistance(float value)
nkAstraeus::SsaoEffect::getMaxOcclusionDistance
float getMaxOcclusionDistance() const
nkAstraeus::SsaoEffect::setStrength
void setStrength(float value)
nkAstraeus::SsaoEffect::setEffectFromDepthInfo
void setEffectFromDepthInfo(nkGraphics::Texture *depthBuffer, bool linearDepth=false)