#include "flextGL.h" #include #include #include "Magnum/Platform/Implementation/OpenGLFunctionLoader.h" void flextGLInit() { Magnum::Platform::Implementation::OpenGLFunctionLoader loader; /* GL_APPLE_texture_format_BGRA8888 */ /* GL_EXT_texture_filter_anisotropic */ /* GL_EXT_texture_format_BGRA8888 */ /* GL_EXT_read_format_bgra */ /* GL_EXT_multi_draw_arrays */ flextglMultiDrawArraysEXT = reinterpret_cast(loader.load("glMultiDrawArraysEXT")); flextglMultiDrawElementsEXT = reinterpret_cast(loader.load("glMultiDrawElementsEXT")); /* GL_EXT_debug_label */ flextglLabelObjectEXT = reinterpret_cast(loader.load("glLabelObjectEXT")); flextglGetObjectLabelEXT = reinterpret_cast(loader.load("glGetObjectLabelEXT")); /* GL_EXT_debug_marker */ flextglInsertEventMarkerEXT = reinterpret_cast(loader.load("glInsertEventMarkerEXT")); flextglPushGroupMarkerEXT = reinterpret_cast(loader.load("glPushGroupMarkerEXT")); flextglPopGroupMarkerEXT = reinterpret_cast(loader.load("glPopGroupMarkerEXT")); /* GL_EXT_disjoint_timer_query */ flextglGenQueriesEXT = reinterpret_cast(loader.load("glGenQueriesEXT")); flextglDeleteQueriesEXT = reinterpret_cast(loader.load("glDeleteQueriesEXT")); flextglIsQueryEXT = reinterpret_cast(loader.load("glIsQueryEXT")); flextglBeginQueryEXT = reinterpret_cast(loader.load("glBeginQueryEXT")); flextglEndQueryEXT = reinterpret_cast(loader.load("glEndQueryEXT")); flextglQueryCounterEXT = reinterpret_cast(loader.load("glQueryCounterEXT")); flextglGetQueryivEXT = reinterpret_cast(loader.load("glGetQueryivEXT")); flextglGetQueryObjectivEXT = reinterpret_cast(loader.load("glGetQueryObjectivEXT")); flextglGetQueryObjectuivEXT = reinterpret_cast(loader.load("glGetQueryObjectuivEXT")); flextglGetQueryObjecti64vEXT = reinterpret_cast(loader.load("glGetQueryObjecti64vEXT")); flextglGetQueryObjectui64vEXT = reinterpret_cast(loader.load("glGetQueryObjectui64vEXT")); /* GL_EXT_texture_sRGB_decode */ /* GL_EXT_separate_shader_objects */ flextglUseShaderProgramEXT = reinterpret_cast(loader.load("glUseShaderProgramEXT")); flextglActiveProgramEXT = reinterpret_cast(loader.load("glActiveProgramEXT")); flextglCreateShaderProgramEXT = reinterpret_cast(loader.load("glCreateShaderProgramEXT")); flextglActiveShaderProgramEXT = reinterpret_cast(loader.load("glActiveShaderProgramEXT")); flextglBindProgramPipelineEXT = reinterpret_cast(loader.load("glBindProgramPipelineEXT")); flextglCreateShaderProgramvEXT = reinterpret_cast(loader.load("glCreateShaderProgramvEXT")); flextglDeleteProgramPipelinesEXT = reinterpret_cast(loader.load("glDeleteProgramPipelinesEXT")); flextglGenProgramPipelinesEXT = reinterpret_cast(loader.load("glGenProgramPipelinesEXT")); flextglGetProgramPipelineInfoLogEXT = reinterpret_cast(loader.load("glGetProgramPipelineInfoLogEXT")); flextglGetProgramPipelineivEXT = reinterpret_cast(loader.load("glGetProgramPipelineivEXT")); flextglIsProgramPipelineEXT = reinterpret_cast(loader.load("glIsProgramPipelineEXT")); flextglProgramParameteriEXT = reinterpret_cast(loader.load("glProgramParameteriEXT")); flextglProgramUniform1fEXT = reinterpret_cast(loader.load("glProgramUniform1fEXT")); flextglProgramUniform1fvEXT = reinterpret_cast(loader.load("glProgramUniform1fvEXT")); flextglProgramUniform1iEXT = reinterpret_cast(loader.load("glProgramUniform1iEXT")); flextglProgramUniform1ivEXT = reinterpret_cast(loader.load("glProgramUniform1ivEXT")); flextglProgramUniform2fEXT = reinterpret_cast(loader.load("glProgramUniform2fEXT")); flextglProgramUniform2fvEXT = reinterpret_cast(loader.load("glProgramUniform2fvEXT")); flextglProgramUniform2iEXT = reinterpret_cast(loader.load("glProgramUniform2iEXT")); flextglProgramUniform2ivEXT = reinterpret_cast(loader.load("glProgramUniform2ivEXT")); flextglProgramUniform3fEXT = reinterpret_cast(loader.load("glProgramUniform3fEXT")); flextglProgramUniform3fvEXT = reinterpret_cast(loader.load("glProgramUniform3fvEXT")); flextglProgramUniform3iEXT = reinterpret_cast(loader.load("glProgramUniform3iEXT")); flextglProgramUniform3ivEXT = reinterpret_cast(loader.load("glProgramUniform3ivEXT")); flextglProgramUniform4fEXT = reinterpret_cast(loader.load("glProgramUniform4fEXT")); flextglProgramUniform4fvEXT = reinterpret_cast(loader.load("glProgramUniform4fvEXT")); flextglProgramUniform4iEXT = reinterpret_cast(loader.load("glProgramUniform4iEXT")); flextglProgramUniform4ivEXT = reinterpret_cast(loader.load("glProgramUniform4ivEXT")); flextglProgramUniformMatrix2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2fvEXT")); flextglProgramUniformMatrix3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3fvEXT")); flextglProgramUniformMatrix4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4fvEXT")); flextglUseProgramStagesEXT = reinterpret_cast(loader.load("glUseProgramStagesEXT")); flextglValidateProgramPipelineEXT = reinterpret_cast(loader.load("glValidateProgramPipelineEXT")); flextglProgramUniform1uiEXT = reinterpret_cast(loader.load("glProgramUniform1uiEXT")); flextglProgramUniform2uiEXT = reinterpret_cast(loader.load("glProgramUniform2uiEXT")); flextglProgramUniform3uiEXT = reinterpret_cast(loader.load("glProgramUniform3uiEXT")); flextglProgramUniform4uiEXT = reinterpret_cast(loader.load("glProgramUniform4uiEXT")); flextglProgramUniform1uivEXT = reinterpret_cast(loader.load("glProgramUniform1uivEXT")); flextglProgramUniform2uivEXT = reinterpret_cast(loader.load("glProgramUniform2uivEXT")); flextglProgramUniform3uivEXT = reinterpret_cast(loader.load("glProgramUniform3uivEXT")); flextglProgramUniform4uivEXT = reinterpret_cast(loader.load("glProgramUniform4uivEXT")); flextglProgramUniformMatrix2x3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2x3fvEXT")); flextglProgramUniformMatrix3x2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3x2fvEXT")); flextglProgramUniformMatrix2x4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2x4fvEXT")); flextglProgramUniformMatrix4x2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4x2fvEXT")); flextglProgramUniformMatrix3x4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3x4fvEXT")); flextglProgramUniformMatrix4x3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4x3fvEXT")); /* GL_EXT_sRGB */ /* GL_EXT_multisampled_render_to_texture */ flextglRenderbufferStorageMultisampleEXT = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleEXT")); flextglFramebufferTexture2DMultisampleEXT = reinterpret_cast(loader.load("glFramebufferTexture2DMultisampleEXT")); /* GL_EXT_robustness */ flextglGetGraphicsResetStatusEXT = reinterpret_cast(loader.load("glGetGraphicsResetStatusEXT")); flextglReadnPixelsEXT = reinterpret_cast(loader.load("glReadnPixelsEXT")); flextglGetnUniformfvEXT = reinterpret_cast(loader.load("glGetnUniformfvEXT")); flextglGetnUniformivEXT = reinterpret_cast(loader.load("glGetnUniformivEXT")); /* GL_KHR_debug */ flextglDebugMessageControl = reinterpret_cast(loader.load("glDebugMessageControl")); flextglDebugMessageInsert = reinterpret_cast(loader.load("glDebugMessageInsert")); flextglDebugMessageCallback = reinterpret_cast(loader.load("glDebugMessageCallback")); flextglGetDebugMessageLog = reinterpret_cast(loader.load("glGetDebugMessageLog")); flextglPushDebugGroup = reinterpret_cast(loader.load("glPushDebugGroup")); flextglPopDebugGroup = reinterpret_cast(loader.load("glPopDebugGroup")); flextglObjectLabel = reinterpret_cast(loader.load("glObjectLabel")); flextglGetObjectLabel = reinterpret_cast(loader.load("glGetObjectLabel")); flextglObjectPtrLabel = reinterpret_cast(loader.load("glObjectPtrLabel")); flextglGetObjectPtrLabel = reinterpret_cast(loader.load("glGetObjectPtrLabel")); flextglGetPointerv = reinterpret_cast(loader.load("glGetPointerv")); flextglDebugMessageControlKHR = reinterpret_cast(loader.load("glDebugMessageControlKHR")); flextglDebugMessageInsertKHR = reinterpret_cast(loader.load("glDebugMessageInsertKHR")); flextglDebugMessageCallbackKHR = reinterpret_cast(loader.load("glDebugMessageCallbackKHR")); flextglGetDebugMessageLogKHR = reinterpret_cast(loader.load("glGetDebugMessageLogKHR")); flextglPushDebugGroupKHR = reinterpret_cast(loader.load("glPushDebugGroupKHR")); flextglPopDebugGroupKHR = reinterpret_cast(loader.load("glPopDebugGroupKHR")); flextglObjectLabelKHR = reinterpret_cast(loader.load("glObjectLabelKHR")); flextglGetObjectLabelKHR = reinterpret_cast(loader.load("glGetObjectLabelKHR")); flextglObjectPtrLabelKHR = reinterpret_cast(loader.load("glObjectPtrLabelKHR")); flextglGetObjectPtrLabelKHR = reinterpret_cast(loader.load("glGetObjectPtrLabelKHR")); flextglGetPointervKHR = reinterpret_cast(loader.load("glGetPointervKHR")); /* GL_NV_read_buffer_front */ /* GL_NV_read_depth */ /* GL_NV_read_stencil */ /* GL_NV_read_depth_stencil */ /* GL_NV_texture_border_clamp */ /* GL_OES_depth32 */ /* GL_OES_mapbuffer */ flextglMapBufferOES = reinterpret_cast(loader.load("glMapBufferOES")); flextglUnmapBufferOES = reinterpret_cast(loader.load("glUnmapBufferOES")); flextglGetBufferPointervOES = reinterpret_cast(loader.load("glGetBufferPointervOES")); /* GL_OES_stencil1 */ /* GL_OES_stencil4 */ }