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