bool RenderToTexture::init()
{
	static bool firsttime = true;

	//avoid doing this more than once
	if(firsttime)
	{
		IMPORT_GLEXT( glGenFramebuffersEXT );
		IMPORT_GLEXT( glDeleteFramebuffersEXT );
		IMPORT_GLEXT( glDeleteRenderbuffersEXT );
		IMPORT_GLEXT( glBindFramebufferEXT );
		IMPORT_GLEXT( glGenRenderbuffersEXT );
		IMPORT_GLEXT( glBindRenderbufferEXT );
		IMPORT_GLEXT( glRenderbufferStorageEXT );
		IMPORT_GLEXT( glFramebufferRenderbufferEXT );
		IMPORT_GLEXT( glGenerateMipmapEXT );
		IMPORT_GLEXT( glFramebufferTexture2DEXT );
		IMPORT_GLEXT( glCheckFramebufferStatusEXT );
	}
	
	firsttime = false;
	return true;
}
Example #2
0
void Shader::init()
{
	static bool firsttime = true;
	Shader::s_ready = true;
	if(firsttime)
	{

	#ifdef LOAD_EXTENSIONS_MANUALLY
		IMPORT_GLEXT( glCreateProgramObjectARB );
		IMPORT_GLEXT( glLinkProgramARB );
		IMPORT_GLEXT( glGetObjectParameterivARB );
		IMPORT_GLEXT( glValidateProgramARB );
		IMPORT_GLEXT( glCreateShaderObjectARB );
		IMPORT_GLEXT( glShaderSourceARB );
		IMPORT_GLEXT( glCompileShaderARB );
		IMPORT_GLEXT( glAttachObjectARB );
		IMPORT_GLEXT( glDetachObjectARB );
		IMPORT_GLEXT( glUseProgramObjectARB );
		//IMPORT_GLEXT( glActiveTexture );
		IMPORT_GLEXT( glGetInfoLogARB );
		IMPORT_GLEXT( glGetUniformLocationARB );
		IMPORT_GLEXT( glGetAttribLocationARB );
		IMPORT_GLEXT( glUniform1iARB );
		IMPORT_GLEXT( glUniform2iARB );
		IMPORT_GLEXT( glUniform3iARB );
		IMPORT_GLEXT( glUniform4iARB );
		IMPORT_GLEXT( glUniform1ivARB );
		IMPORT_GLEXT( glUniform2ivARB );
		IMPORT_GLEXT( glUniform3ivARB );
		IMPORT_GLEXT( glUniform4ivARB );
		IMPORT_GLEXT( glUniform1fARB );
		IMPORT_GLEXT( glUniform2fARB );
		IMPORT_GLEXT( glUniform3fARB );
		IMPORT_GLEXT( glUniform4fARB );
		IMPORT_GLEXT( glUniform1fvARB );
		IMPORT_GLEXT( glUniform2fvARB );
		IMPORT_GLEXT( glUniform3fvARB );
		IMPORT_GLEXT( glUniform4fvARB );
		IMPORT_GLEXT( glUniformMatrix4fvARB );
	#endif
	}
	
	firsttime = false;
}