#include <SeparableFilter.h>
Inheritance diagram for SeparableFilter:
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. | |
FragmentProgram * | row_shader [NUM_FILTER_LEVELS] |
Set of row shaders with different footprints (for diff. scales). | |
FragmentProgram * | col_shader [NUM_FILTER_LEVELS] |
Set of column shaders with diff. footprints (for diff. scales). |
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. < Recovered CG Context < Recovered Vertex Shader Profile < Recovered Fragment Shader Profile |
|
Create the Convolution Kernels.
|
|
Create the Convolution Kernels.
|