Ejemplo n.º 1
0
	void loadEGLFunctions() {
#ifdef VC
		void *gles2so = dlopen("/opt/vc/lib/libGLESv2.so", RTLD_NOW);
#endif
#ifdef OS_WINDOWS
		GL_GET_PROC_ADR(PFNGLACTIVETEXTUREPROC, glActiveTexture);
		GL_GET_PROC_ADR(PFNGLBLENDCOLORPROC, glBlendColor);
#elif defined(EGL)
		GL_GET_PROC_ADR(PFNGLBLENDFUNCPROC, glBlendFunc);
		GL_GET_PROC_ADR(PFNGLPIXELSTOREIPROC, glPixelStorei);
		GL_GET_PROC_ADR(PFNGLCLEARCOLORPROC, glClearColor);
		GL_GET_PROC_ADR(PFNGLCULLFACEPROC, glCullFace);
		GL_GET_PROC_ADR(PFNGLDEPTHFUNCPROC, glDepthFunc);
		GL_GET_PROC_ADR(PFNGLDEPTHMASKPROC, glDepthMask);
		GL_GET_PROC_ADR(PFNGLDISABLEPROC, glDisable);
		GL_GET_PROC_ADR(PFNGLENABLEPROC, glEnable);
		GL_GET_PROC_ADR(PFNGLPOLYGONOFFSETPROC, glPolygonOffset);
		GL_GET_PROC_ADR(PFNGLSCISSORPROC, glScissor);
		GL_GET_PROC_ADR(PFNGLVIEWPORTPROC, glViewport);
		GL_GET_PROC_ADR(PFNGLBINDTEXTUREPROC, glBindTexture);
		GL_GET_PROC_ADR(PFNGLTEXIMAGE2DPROC, glTexImage2D);
		GL_GET_PROC_ADR(PFNGLTEXPARAMETERIPROC, glTexParameteri);
		GL_GET_PROC_ADR(PFNGLGETINTEGERVPROC, glGetIntegerv);
		GL_GET_PROC_ADR(PFNGLGETSTRINGPROC, glGetString);
		GL_GET_PROC_ADR(PFNGLREADPIXELSPROC, glReadPixels);
		GL_GET_PROC_ADR(PFNGLTEXSUBIMAGE2DPROC, glTexSubImage2D);
		GL_GET_PROC_ADR(PFNGLDRAWARRAYSPROC, glDrawArrays);
		GL_GET_PROC_ADR(PFNGLGETERRORPROC, glGetError);
		GL_GET_PROC_ADR(PFNGLDRAWELEMENTSPROC, glDrawElements);
		GL_GET_PROC_ADR(PFNGLLINEWIDTHPROC, glLineWidth);
		GL_GET_PROC_ADR(PFNGLCLEARPROC, glClear);
		GL_GET_PROC_ADR(PFNGLGETFLOATVPROC, glGetFloatv);
		GL_GET_PROC_ADR(PFNGLDELETETEXTURESPROC, glDeleteTextures);
		GL_GET_PROC_ADR(PFNGLGENTEXTURESPROC, glGenTextures);
		GL_GET_PROC_ADR(PFNGLTEXPARAMETERFPROC, glTexParameterf);
		GL_GET_PROC_ADR(PFNGLACTIVETEXTUREPROC, glActiveTexture);
		GL_GET_PROC_ADR(PFNGLBLENDCOLORPROC, glBlendColor);
		GL_GET_PROC_ADR(PFNGLREADBUFFERPROC, glReadBuffer);
		GL_GET_PROC_ADR(PFNGLFINISHPROC, glFinish);
		GL_GET_PROC_ADR(PFNGLTEXENVIPROC, glTexEnvi);
		GL_GET_PROC_ADR(PFNGLACTIVATETEXTUREARBPROC, glActiveTextureARB);
		GL_GET_PROC_ADR(PFNGLCREATESHADEROBJECTARBPROC, glCreateShaderObjectARB);
		GL_GET_PROC_ADR(PFNGLSHADERSOURCEARBPROC, glShaderSourceARB);
		GL_GET_PROC_ADR(PFNGLCOMPILESHADERARBPROC, glCompileShaderARB);
		GL_GET_PROC_ADR(PFNGLCREATEPROGRAMOBJECTARBPROC, glCreateProgramObjectARB);
		GL_GET_PROC_ADR(PFNGLATTACHOBJECTARBPROC, glAttachObjectARB);
		GL_GET_PROC_ADR(PFNGLLINKPROGRAMARBPROC, glLinkProgramARB);
		GL_GET_PROC_ADR(PFNGLUSEPROGRAMOBJECTARBPROC, glUseProgramObjectARB);
		GL_GET_PROC_ADR(PFNGLGETOBJECTPARAMETERIVARBPROC, glGetObjectParameterivARB);
		GL_GET_PROC_ADR(PFNGLGETINFOLOGARBPROC, glGetInfoLogARB);
		GL_GET_PROC_ADR(PFNGLGETUNIFORMLOCATIONARBPROC, glGetUniformLocationARB);
		GL_GET_PROC_ADR(PFNGLUNIFORM1IARBPROC, glUniform1iARB);
		GL_GET_PROC_ADR(PFNGLUNIFORM4FARBPROC, glUniform4fARB);
		GL_GET_PROC_ADR(PFNGLUNIFORM1FARBPROC, glUniform1fARB);
		GL_GET_PROC_ADR(PFNGLBLENDFUNCSEPARATEEXTPROC, glBlendFuncSeparateEXT);
		GL_GET_PROC_ADR(PFNGLALPHAFUNCPROC, glAlphaFunc);
		GL_GET_PROC_ADR(PFNGLFOGIPROC, glFogi);
		GL_GET_PROC_ADR(PFNGLFOGFPROC, glFogf);
		GL_GET_PROC_ADR(PFNGLFOGFVPROC, glFogfv);
		GL_GET_PROC_ADR(PFNGLCOMPRESSEDTEXIMAGE2DARBPROC, glCompressedTexImage2DARB);
		GL_GET_PROC_ADR(PFNGLPUSHATTRIBPROC, glPushAttrib);
		GL_GET_PROC_ADR(PFNGLDRAWBUFFERPROC, glDrawBuffer);
		GL_GET_PROC_ADR(PFNGLCOLOR4UBPROC, glColor4ub);
		GL_GET_PROC_ADR(PFNGLBEGINPROC, glBegin);
		GL_GET_PROC_ADR(PFNGLVERTEX3FPROC, glVertex3f);
		GL_GET_PROC_ADR(PFNGLENDPROC, glEnd);
		GL_GET_PROC_ADR(PFNGLPOPATTRIBPROC, glPopAttrib);
		GL_GET_PROC_ADR(PFNGLMULTITEXCOORD2FARBPROC, glMultiTexCoord2fARB);
		GL_GET_PROC_ADR(PFNGLTEXCOORD2FPROC, glTexCoord2f);
		GL_GET_PROC_ADR(PFNGLCOLOR4FPROC, glColor4f);
		GL_GET_PROC_ADR(PFNGLSECONDARYCOLOR3FPROC, glSecondaryColor3f);
		GL_GET_PROC_ADR(PFNGLVERTEX4FPROC, glVertex4f);
		GL_GET_PROC_ADR(PFNGLCOLORMASKPROC, glColorMask);
		GL_GET_PROC_ADR(PFNGLMATRIXMODEPROC, glMatrixMode);
		GL_GET_PROC_ADR(PFNGLLOADIDENTITYPROC, glLoadIdentity);
		GL_GET_PROC_ADR(PFNGLTRANSLATEFPROC, glTranslatef);
		GL_GET_PROC_ADR(PFNGLSCALEFPROC, glScalef);
		GL_GET_PROC_ADR(PFNGLGETTEXLEVELPARAMETERIVPROC, glGetTexLevelParameteriv);
		GL_GET_PROC_ADR(PFNGLBINDFRAMEBUFFEREXTPROC, glBindFramebufferEXT);
		GL_GET_PROC_ADR(PFNGLDELETEFRAMEBUFFERSEXTPROC, glDeleteFramebuffersEXT);
		GL_GET_PROC_ADR(PFNGLDELETERENDERBUFFERSEXTPROC, glDeleteRenderbuffersEXT);
		GL_GET_PROC_ADR(PFNGLFRAMEBUFFERTEXTURE2DEXTPROC, glFramebufferTexture2DEXT);
		GL_GET_PROC_ADR(PFNGLBINDRENDERBUFFEREXTPROC, glBindRenderbufferEXT);
		GL_GET_PROC_ADR(PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC, glFramebufferRenderbufferEXT);
		GL_GET_PROC_ADR(PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC, glCheckFramebufferStatusEXT);
		GL_GET_PROC_ADR(PFNGLGENFRAMEBUFFERSEXTPROC, glGenFramebuffersEXT);
		GL_GET_PROC_ADR(PFNGLGENRENDERBUFFERSEXTPROC, glGenRenderbuffersEXT);
		GL_GET_PROC_ADR(PFNGLRENDERBUFFERSTORAGEEXTPROC, glRenderbufferStorageEXT);
		GL_GET_PROC_ADR(PFNGLCOPYTEXSUBIMAGE2DPROC, glCopyTexSubImage2D);
		GL_GET_PROC_ADR(PFNGLVERTEX2FPROC, glVertex2f);
		GL_GET_PROC_ADR(PFNGLCOPYTEXIMAGE2DPROC, glCopyTexImage2D);
		GL_GET_PROC_ADR(PFNGLLOADMATRIXFPROC, glLoadMatrixf);
		GL_GET_PROC_ADR(PFNGLCLEARDEPTHPROC, glClearDepth);
		GL_GET_PROC_ADR(PFNGLGETHANDLEARBPROC, glGetHandleARB);
		GL_GET_PROC_ADR(PFNGLDRAWPIXELSPROC, glDrawPixels);
#endif

		GL_GET_PROC_ADR(PFNGLCREATESHADERPROC, glCreateShader);
		GL_GET_PROC_ADR(PFNGLCOMPILESHADERPROC, glCompileShader);
		GL_GET_PROC_ADR(PFNGLSHADERSOURCEPROC, glShaderSource);
		GL_GET_PROC_ADR(PFNGLCREATEPROGRAMPROC, glCreateProgram);
		GL_GET_PROC_ADR(PFNGLATTACHSHADERPROC, glAttachShader);
		GL_GET_PROC_ADR(PFNGLLINKPROGRAMPROC, glLinkProgram);
		GL_GET_PROC_ADR(PFNGLUSEPROGRAMPROC, glUseProgram);
		GL_GET_PROC_ADR(PFNGLGETUNIFORMLOCATIONPROC, glGetUniformLocation);
		GL_GET_PROC_ADR(PFNGLUNIFORM1IPROC, glUniform1i);
		GL_GET_PROC_ADR(PFNGLUNIFORM1FPROC, glUniform1f);
		GL_GET_PROC_ADR(PFNGLUNIFORM2FPROC, glUniform2f);
		GL_GET_PROC_ADR(PFNGLUNIFORM2IPROC, glUniform2i);
		GL_GET_PROC_ADR(PFNGLUNIFORM4IPROC, glUniform4i);
		GL_GET_PROC_ADR(PFNGLUNIFORM4FPROC, glUniform4f);
		GL_GET_PROC_ADR(PFNGLUNIFORM3FVPROC, glUniform3fv);
		GL_GET_PROC_ADR(PFNGLUNIFORM4FVPROC, glUniform4fv);
		GL_GET_PROC_ADR(PFNGLDETACHSHADERPROC, glDetachShader);
		GL_GET_PROC_ADR(PFNGLDELETESHADERPROC, glDeleteShader);
		GL_GET_PROC_ADR(PFNGLDELETEPROGRAMPROC, glDeleteProgram);
		GL_GET_PROC_ADR(PFNGLGETPROGRAMINFOLOGPROC, glGetProgramInfoLog);
		GL_GET_PROC_ADR(PFNGLGETSHADERINFOLOGPROC, glGetShaderInfoLog);
		GL_GET_PROC_ADR(PFNGLGETSHADERIVPROC, glGetShaderiv);
		GL_GET_PROC_ADR(PFNGLGETPROGRAMIVPROC, glGetProgramiv);

		GL_GET_PROC_ADR(PFNGLENABLEVERTEXATTRIBARRAYPROC, glEnableVertexAttribArray);
		GL_GET_PROC_ADR(PFNGLDISABLEVERTEXATTRIBARRAYPROC, glDisableVertexAttribArray);
		GL_GET_PROC_ADR(PFNGLVERTEXATTRIBPOINTERPROC, glVertexAttribPointer);
		GL_GET_PROC_ADR(PFNGLBINDATTRIBLOCATIONPROC, glBindAttribLocation);
		GL_GET_PROC_ADR(PFNGLVERTEXATTRIB1FPROC, glVertexAttrib1f);
		GL_GET_PROC_ADR(PFNGLVERTEXATTRIB4FPROC, glVertexAttrib4f);
		GL_GET_PROC_ADR(PFNGLVERTEXATTRIB4FVPROC, glVertexAttrib4fv);

		GL_GET_PROC_ADR(PFNGLDEPTHRANGEFPROC, glDepthRangef);
		GL_GET_PROC_ADR(PFNGLCLEARDEPTHFPROC, glClearDepthf);

		GL_GET_PROC_ADR(PFNGLDRAWBUFFERSPROC, glDrawBuffers);
		GL_GET_PROC_ADR(PFNGLBINDFRAMEBUFFERPROC, glBindFramebuffer);
		GL_GET_PROC_ADR(PFNGLDELETEFRAMEBUFFERSPROC, glDeleteFramebuffers);
		GL_GET_PROC_ADR(PFNGLGENFRAMEBUFFERSPROC, glGenFramebuffers);
		GL_GET_PROC_ADR(PFNGLFRAMEBUFFERTEXTURE2DPROC, glFramebufferTexture2D);
		GL_GET_PROC_ADR(PFNGLTEXIMAGE2DMULTISAMPLEPROC, glTexImage2DMultisample);
		GL_GET_PROC_ADR(PFNGLTEXSTORAGE2DMULTISAMPLEPROC, glTexStorage2DMultisample);
		GL_GET_PROC_ADR(PFNGLGENRENDERBUFFERSPROC, glGenRenderbuffers);
		GL_GET_PROC_ADR(PFNGLBINDRENDERBUFFERPROC, glBindRenderbuffer);
		GL_GET_PROC_ADR(PFNGLRENDERBUFFERSTORAGEPROC, glRenderbufferStorage);
		GL_GET_PROC_ADR(PFNGLFRAMEBUFFERRENDERBUFFERPROC, glFramebufferRenderbuffer);
		GL_GET_PROC_ADR(PFNGLDELETERENDERBUFFERSPROC, glDeleteRenderbuffers);
		GL_GET_PROC_ADR(PFNGLCHECKFRAMEBUFFERSTATUSPROC, glCheckFramebufferStatus);
		GL_GET_PROC_ADR(PFNGLBLITFRAMEBUFFERPROC, glBlitFramebuffer);
		GL_GET_PROC_ADR(PFNGLGENVERTEXARRAYSPROC, glGenVertexArrays);
		GL_GET_PROC_ADR(PFNGLBINDVERTEXARRAYPROC, glBindVertexArray);
		GL_GET_PROC_ADR(PFNGLDELETEVERTEXARRAYSPROC, glDeleteVertexArrays);
		GL_GET_PROC_ADR(PFNGLGENBUFFERSPROC, glGenBuffers);
		GL_GET_PROC_ADR(PFNGLBINDBUFFERPROC, glBindBuffer);
		GL_GET_PROC_ADR(PFNGLBUFFERDATAPROC, glBufferData);
		GL_GET_PROC_ADR(PFNGLMAPBUFFERPROC, glMapBuffer);
		GL_GET_PROC_ADR(PFNGLMAPBUFFERRANGEPROC, glMapBufferRange);
		GL_GET_PROC_ADR(PFNGLUNMAPBUFFERPROC, glUnmapBuffer);
		GL_GET_PROC_ADR(PFNGLDELETEBUFFERSPROC, glDeleteBuffers);
		GL_GET_PROC_ADR(PFNGLBINDIMAGETEXTUREPROC, glBindImageTexture);
		GL_GET_PROC_ADR(PFNGLMEMORYBARRIERPROC, glMemoryBarrier);
		GL_GET_PROC_ADR(PFNGLGETSTRINGIPROC, glGetStringi);
		GL_GET_PROC_ADR(PFNGLINVALIDATEFRAMEBUFFERPROC, glInvalidateFramebuffer);
		GL_GET_PROC_ADR(PFNGLBUFFERSTORAGEPROC, glBufferStorage);
		GL_GET_PROC_ADR(PFNGLFENCESYNCPROC, glFenceSync);
		GL_GET_PROC_ADR(PFNGLCLIENTWAITSYNCPROC, glClientWaitSync);
		GL_GET_PROC_ADR(PFNGLDELETESYNCPROC, glDeleteSync);

		GL_GET_PROC_ADR(PFNGLGETUNIFORMBLOCKINDEXPROC, glGetUniformBlockIndex);
		GL_GET_PROC_ADR(PFNGLUNIFORMBLOCKBINDINGPROC, glUniformBlockBinding);
		GL_GET_PROC_ADR(PFNGLGETACTIVEUNIFORMBLOCKIVPROC, glGetActiveUniformBlockiv);
		GL_GET_PROC_ADR(PFNGLGETUNIFORMINDICESPROC, glGetUniformIndices);
		GL_GET_PROC_ADR(PFNGLGETACTIVEUNIFORMSIVPROC, glGetActiveUniformsiv);
		GL_GET_PROC_ADR(PFNGLBINDBUFFERBASEPROC, glBindBufferBase);
		GL_GET_PROC_ADR(PFNGLBUFFERSUBDATAPROC, glBufferSubData);

		GL_GET_PROC_ADR(PFNGLGETPROGRAMBINARYPROC, glGetProgramBinary);
		GL_GET_PROC_ADR(PFNGLPROGRAMBINARYPROC, glProgramBinary);
		GL_GET_PROC_ADR(PFNGLPROGRAMPARAMETERIPROC, glProgramParameteri);

		GL_GET_PROC_ADR(PFNGLTEXSTORAGE2DPROC, glTexStorage2D);
		GL_GET_PROC_ADR(PFNGLTEXTURESTORAGE2DPROC, glTextureStorage2D);
		GL_GET_PROC_ADR(PFNGLTEXTURESUBIMAGE2DPROC, glTextureSubImage2D);
		GL_GET_PROC_ADR(PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC, glTextureStorage2DMultisample);

		GL_GET_PROC_ADR(PFNGLTEXTUREPARAMETERIPROC, glTextureParameteri);
		GL_GET_PROC_ADR(PFNGLTEXTUREPARAMETERFPROC, glTextureParameterf);
		GL_GET_PROC_ADR(PFNGLCREATETEXTURESPROC, glCreateTextures);
		GL_GET_PROC_ADR(PFNGLCREATEBUFFERSPROC, glCreateBuffers);
		GL_GET_PROC_ADR(PFNGLCREATEFRAMEBUFFERSPROC, glCreateFramebuffers);
		GL_GET_PROC_ADR(PFNGLNAMEDFRAMEBUFFERTEXTUREPROC, glNamedFramebufferTexture);
		GL_GET_PROC_ADR(PFNGLDRAWELEMENTSBASEVERTEXPROC, glDrawElementsBaseVertex);
		GL_GET_PROC_ADR(PFNGLFLUSHMAPPEDBUFFERRANGEPROC, glFlushMappedBufferRange);
	}
Ejemplo n.º 2
0
void gl_funcs_init(void)
{
	// получаем адреса ф-ий OpenGL
	
	TRACE_MSG("init OpenGL functions pointers\n");
	
    #ifndef __gl_h_
    // 1.0
    GL_GET_PROC_ADR(PFNGLGENTEXTURES, glGenTextures);
    GL_GET_PROC_ADR(PFNGLDELETETEXTURES, glDeleteTextures);
    GL_GET_PROC_ADR(PFNGLBINDTEXTURE, glBindTexture);
    GL_GET_PROC_ADR(PFNGLDRAWARRAYS, glDrawArrays);
    GL_GET_PROC_ADR(PFNGLDRAWELEMENTS, glDrawElements);

    // 1.1
    GL_GET_PROC_ADR(PFNGLVIEWPORT, glViewport);
    GL_GET_PROC_ADR(PFNGLCLEAR, glClear);
    GL_GET_PROC_ADR(PFNGLCLEARCOLOR, glClearColor);
    GL_GET_PROC_ADR(PFNGLCLEARDEPTH, glClearDepth);
    GL_GET_PROC_ADR(PFNGLDEPTHFUNC, glDepthFunc);
    GL_GET_PROC_ADR(PFNGLGETERROR, glGetError);
    GL_GET_PROC_ADR(PFNGLGETINTEGERV, glGetIntegerv);
    GL_GET_PROC_ADR(PFNGLGETSTRING, glGetString);
    GL_GET_PROC_ADR(PFNGLDISABLE, glDisable);
    GL_GET_PROC_ADR(PFNGLENABLE, glEnable);
    GL_GET_PROC_ADR(PFNGLFRONTFACE, glFrontFace);
    GL_GET_PROC_ADR(PFNGLCULLFACE, glCullFace);
    GL_GET_PROC_ADR(PFNGLTEXPARAMETERI, glTexParameteri);
    GL_GET_PROC_ADR(PFNGLTEXIMAGE1D, glTexImage1D);
    GL_GET_PROC_ADR(PFNGLTEXIMAGE2D, glTexImage2D);
    #endif

	GL_GET_PROC_ADR(PFNGLTEXIMAGE3DPROC, glTexImage3D);
	
	GL_GET_PROC_ADR(PFNGLGENVERTEXARRAYSPROC, glGenVertexArrays);
	GL_GET_PROC_ADR(PFNGLBINDVERTEXARRAYPROC, glBindVertexArray);
	GL_GET_PROC_ADR(PFNGLGENBUFFERSPROC, glGenBuffers);
	GL_GET_PROC_ADR(PFNGLBINDBUFFERPROC, glBindBuffer);
	GL_GET_PROC_ADR(PFNGLBUFFERDATAPROC, glBufferData);
	GL_GET_PROC_ADR(PFNGLGETBUFFERSUBDATAPROC, glGetBufferSubData);
	GL_GET_PROC_ADR(PFNGLVERTEXATTRIBPOINTERPROC, glVertexAttribPointer);
	GL_GET_PROC_ADR(PFNGLENABLEVERTEXATTRIBARRAYPROC, glEnableVertexAttribArray);
	
	GL_GET_PROC_ADR(PFNGLACTIVETEXTUREPROC, glActiveTexture);
	GL_GET_PROC_ADR(PFNGLDELETEBUFFERSPROC, glDeleteBuffers);
	GL_GET_PROC_ADR(PFNGLGETBUFFERPARAMETERIVPROC, glGetBufferParameteriv);
	GL_GET_PROC_ADR(PFNGLDELETEVERTEXARRAYSPROC, glDeleteVertexArrays);
	GL_GET_PROC_ADR(PFNGLBINDFRAMEBUFFERPROC, glBindFramebuffer);
	GL_GET_PROC_ADR(PFNGLGENFRAMEBUFFERSPROC, glGenFramebuffers);
	GL_GET_PROC_ADR(PFNGLDELETEFRAMEBUFFERSPROC, glDeleteFramebuffers);
	GL_GET_PROC_ADR(PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC, glGetFramebufferAttachmentParameteriv);
	GL_GET_PROC_ADR(PFNGLCHECKFRAMEBUFFERSTATUSPROC, glCheckFramebufferStatus);
	GL_GET_PROC_ADR(PFNGLFRAMEBUFFERTEXTURE1DPROC, glFramebufferTexture1D);
	GL_GET_PROC_ADR(PFNGLFRAMEBUFFERTEXTURE2DPROC, glFramebufferTexture2D);
	GL_GET_PROC_ADR(PFNGLFRAMEBUFFERTEXTURE3DPROC, glFramebufferTexture3D);
	GL_GET_PROC_ADR(PFNGLRENDERBUFFERSTORAGEPROC, glRenderbufferStorage);
	GL_GET_PROC_ADR(PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC, glRenderbufferStorageMultisample);
	GL_GET_PROC_ADR(PFNGLDELETERENDERBUFFERSPROC, glDeleteRenderbuffers);
	GL_GET_PROC_ADR(PFNGLBINDRENDERBUFFERPROC, glBindRenderbuffer);
	GL_GET_PROC_ADR(PFNGLDELETERENDERBUFFERSPROC, glDeleteRenderbuffers);
	GL_GET_PROC_ADR(PFNGLFRAMEBUFFERRENDERBUFFERPROC, glFramebufferRenderbuffer);
	GL_GET_PROC_ADR(PFNGLGENRENDERBUFFERSPROC, glGenRenderbuffers);
	
	GL_GET_PROC_ADR(PFNGLSHADERSOURCEPROC, glShaderSource);
	GL_GET_PROC_ADR(PFNGLCOMPILESHADERPROC, glCompileShader);
	GL_GET_PROC_ADR(PFNGLGETSHADERIVPROC, glGetShaderiv);
	GL_GET_PROC_ADR(PFNGLGETSHADERINFOLOGPROC, glGetShaderInfoLog);
	GL_GET_PROC_ADR(PFNGLCREATESHADERPROC, glCreateShader);
	GL_GET_PROC_ADR(PFNGLDELETESHADERPROC, glDeleteShader);
	GL_GET_PROC_ADR(PFNGLGETPROGRAMIVPROC, glGetProgramiv);
	GL_GET_PROC_ADR(PFNGLGETPROGRAMINFOLOGPROC, glGetProgramInfoLog);
	GL_GET_PROC_ADR(PFNGLVALIDATEPROGRAMPROC, glValidateProgram);
	GL_GET_PROC_ADR(PFNGLCREATEPROGRAMPROC, glCreateProgram);
	GL_GET_PROC_ADR(PFNGLDELETEPROGRAMPROC, glDeleteProgram);
	GL_GET_PROC_ADR(PFNGLLINKPROGRAMPROC, glLinkProgram);
	GL_GET_PROC_ADR(PFNGLATTACHSHADERPROC, glAttachShader);
	GL_GET_PROC_ADR(PFNGLDETACHSHADERPROC, glDetachShader);
	GL_GET_PROC_ADR(PFNGLGETATTRIBLOCATIONPROC, glGetAttribLocation);
	GL_GET_PROC_ADR(PFNGLGETUNIFORMLOCATIONPROC, glGetUniformLocation);
	GL_GET_PROC_ADR(PFNGLUNIFORMMATRIX4FVPROC, glUniformMatrix4fv);
	GL_GET_PROC_ADR(PFNGLUSEPROGRAMPROC, glUseProgram);
	
	GL_GET_PROC_ADR(PFNGLUNIFORM1IPROC, glUniform1i);
	GL_GET_PROC_ADR(PFNGLUNIFORM1FPROC, glUniform1f);
	GL_GET_PROC_ADR(PFNGLUNIFORM1FVPROC, glUniform1fv);
	GL_GET_PROC_ADR(PFNGLUNIFORM1DPROC, glUniform1d);
	GL_GET_PROC_ADR(PFNGLUNIFORM1DVPROC, glUniform1dv);
	GL_GET_PROC_ADR(PFNGLUNIFORM2IPROC, glUniform2i);
	GL_GET_PROC_ADR(PFNGLUNIFORM2FPROC, glUniform2f);
	GL_GET_PROC_ADR(PFNGLUNIFORM2FVPROC, glUniform2fv);
	GL_GET_PROC_ADR(PFNGLUNIFORM2DPROC, glUniform2d);
	GL_GET_PROC_ADR(PFNGLUNIFORM2DVPROC, glUniform2dv);
	GL_GET_PROC_ADR(PFNGLUNIFORM3IPROC, glUniform3i);
	GL_GET_PROC_ADR(PFNGLUNIFORM3FPROC, glUniform3f);
	GL_GET_PROC_ADR(PFNGLUNIFORM3FVPROC, glUniform3fv);
	GL_GET_PROC_ADR(PFNGLUNIFORM3DPROC, glUniform3d);
	GL_GET_PROC_ADR(PFNGLUNIFORM3DVPROC, glUniform3dv);
	GL_GET_PROC_ADR(PFNGLUNIFORMMATRIX2FVPROC, glUniformMatrix2fv);
	GL_GET_PROC_ADR(PFNGLUNIFORMMATRIX2DVPROC, glUniformMatrix2dv);
	GL_GET_PROC_ADR(PFNGLUNIFORMMATRIX3FVPROC, glUniformMatrix3fv);
	GL_GET_PROC_ADR(PFNGLUNIFORMMATRIX3DVPROC, glUniformMatrix3dv);
	GL_GET_PROC_ADR(PFNGLUNIFORMMATRIX4DVPROC, glUniformMatrix4dv);

}