Developer Documentation
ACG::BilateralBlurFilter Class Reference
Inheritance diagram for ACG::BilateralBlurFilter:
ACG::BaseSeparableFilterKernel

Public Member Functions

 BilateralBlurFilter (int _texWidth, int _texHeight, int _blurRadius, float _blurSigmaS=1.0f, float blurSigmaR=1.0f, GLenum _internalfmt=GL_RGBA)
 
virtual ~BilateralBlurFilter ()
 Class destructor.
 
void setParams (const ACG::GLMatrixf &_proj, GLuint _depthTex)
 
void setKernel (int _blurRadius, float _blurSigmaS, float _blurSigmaR)
 
int radius () const
 radius
 
int samples () const
 number of samples
 
const ACG::Vec2fsigma () const
 blur (sigmaS, sigmaR)
 
const std::vector< ACG::Vec2f > & offsetsX () const
 sample offsets along x direction
 
const std::vector< ACG::Vec2f > & offsetsY () const
 sample offsets along y direction
 
- Public Member Functions inherited from ACG::BaseSeparableFilterKernel
 BaseSeparableFilterKernel (int _texWidth, int _texHeight, GLenum _internalfmt=GL_RGBA)
 
virtual ~BaseSeparableFilterKernel ()
 Class destructor.
 
bool execute (GLuint _srcTexture, ACG::FBO *_dstFBO=0, GLuint _dstColorAttachment=GL_COLOR_ATTACHMENT0, GLuint _tempColorAttachment=0)
 
void resizeInput (int _texWidth, int _texHeight)
 
int texWidth () const
 input texture width
 
int texHeight () const
 input texture height
 
const ACG::Vec2ftexelSize () const
 texel size in uv space
 
GLenum internalFormat () const
 internal format of the input texture
 

Protected Member Functions

virtual GLSL::ProgramsetupPass (int _pass, GLuint _srcTex) override
 
void updateKernel () override
 

Private Attributes

int radius_
 
int samples_
 
ACG::Vec2f sigma_
 (sigmaS, sigmaR)
 
ACG::Vec2f sigma2Rcp_
 -1 / (2 * sigma^2)
 
std::vector< ACG::Vec2foffsetsX_
 filter taps
 
std::vector< ACG::Vec2foffsetsY_
 
std::vector< float > spatialKernel_
 precomputed sample -r^2 / (2 * sigma_s^2)
 
QStringList macros_
 shader macros
 
ACG::GLMatrixf proj_
 
GLuint depthTex_
 

Detailed Description

Definition at line 229 of file FilterKernels.hh.


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