SeparableFilter Class Reference

Represents Separable Image Filters. More...

#include <SeparableFilter.h>

Inheritance diagram for SeparableFilter:

ImgFilter GaussianFilter List of all members.

Public Member Functions

 SeparableFilter ()
 Constructor.
 SeparableFilter (float Sig, CGcontext &context, CGprofile &vProfile, CGprofile &fProfile)
 Constructor.
void computeKernelLevels ()
 Pre-compute the level of Kernels footprints that will be needed.
void setRowKernel (int w, float *rowKernelBuffer, float *derivBuffer)
 Create the Convolution Kernels.
void setColKernel (int c, float *colKernelBuffer, float *derivBuffer)
 Create the Convolution Kernels.
void createAndLoadColShaders ()
 Generate Fragment Programs Procedurally.
void createAndLoadRowShaders ()
 generate Fragment Programs Procedurally
void convolveRow (float Op_top, float Op_left, float Op_bot, float Op_right, float Ip_top, float Ip_left, float Ip_bot, float Ip_right, float offset)
 Perform 1D Column Convolution : Input Texture Quad, Output Render Quad.
void convolveCol (float Op_top, float Op_left, float Op_bot, float Op_right, float Ip_top, float Ip_left, float Ip_bot, float Ip_right, float offset)
 Perform 1D Column Convolution : Input Texture Quad, Output Render Quad.
void activate ()
 Enable this Kernel Processor.
void deactivate ()
 Disable this Kernel Processor.
void bindInput (GLuint texID)
 Bind The Texture 'texID' as Input Stream.
GLuint getTexID ()
 Return the textureID of currently bound input.

Protected Attributes

int num_kernel_levels
 How many N x N kernels will be used for SSS construction.
int kernel_levels [2 *MAX_INTERVALS]
 Max different kernel footprints.
CGcontext cgContext
 Recovered CG Context.
CGprofile vertexProfile
 Recovered Vertex Shader Profile.
CGprofile fragmentProfile
 Recovered Fragment Shader Profile.
GLuint texInputID
 Texture Image ID.
bool swapNeeded
 Some Swapping of Img Coordinates : where is (0,0)?
float * row_kernel
 Row Kernel footprint.
float * col_kernel
 Column Kernel footpr.
float * row_deriv
 Derivative.
float * col_deriv
 Derivative.
FragmentProgramrow_shader [NUM_FILTER_LEVELS]
 Set of row shaders with different footprints (for diff. scales).
FragmentProgramcol_shader [NUM_FILTER_LEVELS]
 Set of column shaders with diff. footprints (for diff. scales).

Detailed Description

Represents Separable Image Filters.

This object represents a computation involving applying a separable Image Filter which can be implemented by apply 1D row filter followed by 1D column filter instead of the 2D filter which is less efficient.

Object Interface is similar to ImgFilter and Kernel Objects.


Constructor & Destructor Documentation

SeparableFilter::SeparableFilter float  Sig,
CGcontext &  context,
CGprofile &  vProfile,
CGprofile &  fProfile
 

Constructor.

< Recovered CG Context

< Recovered Vertex Shader Profile

< Recovered Fragment Shader Profile


Member Function Documentation

void SeparableFilter::setColKernel int  c,
float *  colKernelBuffer,
float *  derivBuffer
 

Create the Convolution Kernels.

Parameters:
r : size of kernel
colKernelBuffer : kernel values
derivBuffer : array for 1d gaussian derivative.

void SeparableFilter::setRowKernel int  r,
float *  rowKernelBuffer,
float *  derivBuffer
 

Create the Convolution Kernels.

Parameters:
r : size of kernel
rowKernelBuffer : kernel values
derivBuffer : array for 1d gaussian derivative.


The documentation for this class was generated from the following files:
Generated on Sat Apr 15 01:22:18 2006 for GpuVis by  doxygen 1.4.6-NO