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(); 
}