Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
castor3d::SsaoConfig Struct Reference

#include <SsaoConfig.hpp>

Collaboration diagram for castor3d::SsaoConfig:
Collaboration graph
[legend]

Public Member Functions

C3D_API void accept (ConfigurationVisitorBase &visitor)
 

Static Public Member Functions

static C3D_API void addParsers (castor::AttributeParsers &result)
 

Public Attributes

bool enabled { false }
 
castor::RangedValue< int32_t > logMaxOffset { 3u, castor::makeRange( 2, 6 ) }
 
int32_t maxMipLevel { 5 }
 
float minRadius { 1.0f }
 
int32_t variation { 0 }
 
bool highQuality { false }
 
bool useNormalsBuffer { false }
 
float radius { 0.5f }
 
float bias { 0.025f }
 
float intensity { 1.0f }
 
uint32_t numSamples { 19u }
 
float edgeSharpness { 1.0f }
 
bool blurHighQuality { false }
 
castor::ChangeTracked< castor::RangedValue< uint32_t > > blurStepSize { { 2u, castor::makeRange( 1u, 60u ) } }
 
castor::ChangeTracked< castor::RangedValue< uint32_t > > blurRadius { { 4u, castor::makeRange( 1u, 6u ) } }
 
castor::RangedValue< uint32_t > bendStepCount { 4u, castor::makeRange( 1u, 60u ) }
 
float bendStepSize { 0.5f }
 

Member Function Documentation

◆ accept()

C3D_API void castor3d::SsaoConfig::accept ( ConfigurationVisitorBase & visitor)

◆ addParsers()

static C3D_API void castor3d::SsaoConfig::addParsers ( castor::AttributeParsers & result)
static

Member Data Documentation

◆ bendStepCount

castor::RangedValue< uint32_t > castor3d::SsaoConfig::bendStepCount { 4u, castor::makeRange( 1u, 60u ) }

The normals bending ray marching steps count.

◆ bendStepSize

float castor3d::SsaoConfig::bendStepSize { 0.5f }

The normals bending ray marching step size.

◆ bias

float castor3d::SsaoConfig::bias { 0.025f }

The effect bias.

◆ blurHighQuality

bool castor3d::SsaoConfig::blurHighQuality { false }

The high quality activation status for the blur.

◆ blurRadius

castor::ChangeTracked< castor::RangedValue< uint32_t > > castor3d::SsaoConfig::blurRadius { { 4u, castor::makeRange( 1u, 6u ) } }

VkFilter radius in pixels. This will be multiplied by m_blurStepSize.

◆ blurStepSize

castor::ChangeTracked< castor::RangedValue< uint32_t > > castor3d::SsaoConfig::blurStepSize { { 2u, castor::makeRange( 1u, 60u ) } }

Step in 2-pixel intervals since we already blurred against neighbors in the first AO pass.

◆ edgeSharpness

float castor3d::SsaoConfig::edgeSharpness { 1.0f }

The edge sharpness, increase to make depth edges crisper, decrease to reduce flicker.

◆ enabled

bool castor3d::SsaoConfig::enabled { false }

◆ highQuality

bool castor3d::SsaoConfig::highQuality { false }

The high quality activation status.

◆ intensity

float castor3d::SsaoConfig::intensity { 1.0f }

The effect intensity.

◆ logMaxOffset

castor::RangedValue< int32_t > castor3d::SsaoConfig::logMaxOffset { 3u, castor::makeRange( 2, 6 ) }

The log of the maximum pixel offset.

◆ maxMipLevel

int32_t castor3d::SsaoConfig::maxMipLevel { 5 }

◆ minRadius

float castor3d::SsaoConfig::minRadius { 1.0f }

Minimal sample radius to compute AO.

◆ numSamples

uint32_t castor3d::SsaoConfig::numSamples { 19u }

The samples count pixel.

◆ radius

float castor3d::SsaoConfig::radius { 0.5f }

The effect radius.

◆ useNormalsBuffer

bool castor3d::SsaoConfig::useNormalsBuffer { false }

The normals buffer usage status.

◆ variation

int32_t castor3d::SsaoConfig::variation { 0 }

The documentation for this struct was generated from the following file: