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

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
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)
void updateKernel ()

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 228 of file FilterKernels.hh.

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