www.pudn.com > GPUVision_5-13-05-2.zip > GenericFilter.cpp
#include "GenericFilter.h"
using namespace std;
GenericFilter::GenericFilter(CGcontext context = NULL){
if(!context) {
_CGcontext = cgCreateContext();
} else {
_CGcontext = context;
}
if (cgGLIsProfileSupported(CG_PROFILE_FP30))
_fragmentProfile = CG_PROFILE_FP30;
else if (cgGLIsProfileSupported(CG_PROFILE_ARBFP1))
_fragmentProfile = CG_PROFILE_ARBFP1;
else {
fprintf(stderr, "Neither arbfp1 or fp30 fragment profiles supported on this system.\n");
exit(1);
}
cgGLGetLatestProfile(CG_GL_FRAGMENT); // just get the latest
}
GenericFilter::~GenericFilter(){}
void GenericFilter::applyFilter(GPUVision *image1){
cout << "GenericFilter applyFilter" << endl;
}
void GenericFilter::applyFilter(GPUVision *image1, GPUVision *image2){
cout << "GenericFilter applyFilter 2" << endl;
}
void GenericFilter::_DrawFull(int width, int height) {
glBegin(GL_QUADS);
glTexCoord2f(0, 0); glVertex2f(0, 0);
glTexCoord2f(width, 0); glVertex2f(width, 0);
glTexCoord2f(width, height);glVertex2f(width, height);
glTexCoord2f(0, height);glVertex2f(0, height);
glEnd();
}
void GenericFilter::_DrawIntoCoords(int textureWidth, int textureHeight, int width, int height) {
glBegin(GL_QUADS);
glTexCoord2f(0, 0); glVertex2f(0, 0);
glTexCoord2f(textureWidth, 0); glVertex2f(width, 0);
glTexCoord2f(textureWidth, textureHeight); glVertex2f(width, height);
glTexCoord2f(0, textureHeight); glVertex2f(0, height);
glEnd();
}