Support Forum       G3D Web Page     
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
G3D::GaussianMIPFilter Class Reference

Inherits G3D::ReferenceCountedObject.

Public Member Functions

void apply (RenderDevice *rd, const shared_ptr< Texture > &texture, const shared_ptr< Texture > &positionMIP0, const shared_ptr< Texture > &normalMIP0, const shared_ptr< Texture > &glossy, const CFrame &cameraFrame) const
 
int mipLimit () const
 

Static Public Member Functions

static shared_ptr< GaussianMIPFiltercreate ()
 

Protected Member Functions

 GaussianMIPFilter ()
 

Static Protected Member Functions

template<class T , class ... ArgTypes>
static shared_ptr< T > createShared (ArgTypes &&... args)
 Like std::make_shared, but works for protected constructors. More...
 

Protected Attributes

shared_ptr< Framebufferm_framebuffer
 
const int m_mipLimit = 3
 Clamp the mip level to make the reflections look good. More...
 
shared_ptr< Texturem_normalZ
 

Constructor & Destructor Documentation

◆ GaussianMIPFilter()

G3D::GaussianMIPFilter::GaussianMIPFilter ( )
protected

Member Function Documentation

◆ apply()

void G3D::GaussianMIPFilter::apply ( RenderDevice rd,
const shared_ptr< Texture > &  texture,
const shared_ptr< Texture > &  positionMIP0,
const shared_ptr< Texture > &  normalMIP0,
const shared_ptr< Texture > &  glossy,
const CFrame cameraFrame 
) const

◆ create()

static shared_ptr<GaussianMIPFilter> G3D::GaussianMIPFilter::create ( )
static

◆ createShared()

template<class T , class ... ArgTypes>
static shared_ptr<T> G3D::ReferenceCountedObject::createShared ( ArgTypes &&...  args)
inlinestaticprotectedinherited

Like std::make_shared, but works for protected constructors.

Call as createShared<myclass>.

◆ mipLimit()

int G3D::GaussianMIPFilter::mipLimit ( ) const
inline

Member Data Documentation

◆ m_framebuffer

shared_ptr<Framebuffer> G3D::GaussianMIPFilter::m_framebuffer
protected

◆ m_mipLimit

const int G3D::GaussianMIPFilter::m_mipLimit = 3
protected

Clamp the mip level to make the reflections look good.

Because this is a gaussian blur, we need this clamp to avoid the sky sampling a high mip level and overdarkening when blurred with the relatively dark ceiling.

Referenced by mipLimit().

◆ m_normalZ

shared_ptr<Texture> G3D::GaussianMIPFilter::m_normalZ
protected

documentation generated on Wed Nov 24 2021 08:01:56 using doxygen 1.8.15