private void Initialize() { AttachShader = GetOpenGLEntryPoint <AttachShaderDelegate>("glAttachShader"); BindBuffer = GetOpenGLEntryPoint <BindBufferDelegate>("glBindBuffer"); BindVertexArray = GetOpenGLEntryPoint <BindVertexArrayDelegate>("glBindVertexArray"); BufferData = GetOpenGLEntryPoint <BufferDataDelegate>("glBufferData"); BufferSubData = GetOpenGLEntryPoint <BufferSubDataDelegate>("glBufferSubData"); Clear = GetOpenGLEntryPoint <ClearDelegate>("glClear"); ClearColor = GetOpenGLEntryPoint <ClearColorDelegate>("glClearColor"); CompileShader = GetOpenGLEntryPoint <CompileShaderDelegate>("glCompileShader"); CreateProgram = GetOpenGLEntryPoint <CreateProgramDelegate>("glCreateProgram"); CreateShader = GetOpenGLEntryPoint <CreateShaderDelegate>("glCreateShader"); DeleteBuffers = GetOpenGLEntryPoint <DeleteBuffersDelegate>("glDeleteBuffers"); DeleteProgram = GetOpenGLEntryPoint <DeleteProgramDelegate>("glDeleteProgram"); DeleteShader = GetOpenGLEntryPoint <DeleteShaderDelegate>("glDeleteShader"); DeleteVertexArrays = GetOpenGLEntryPoint <DeleteVertexArraysDelegate>("glDeleteVertexArrays"); Disable = GetOpenGLEntryPoint <DisableDelegate>("glDisable"); DrawArrays = GetOpenGLEntryPoint <DrawArraysDelegate>("glDrawArrays"); DrawElements = GetOpenGLEntryPoint <DrawElementsDelegate>("glDrawElements"); Enable = GetOpenGLEntryPoint <EnableDelegate>("glEnable"); EnableVertexAttribArray = GetOpenGLEntryPoint <EnableVertexAttribArrayDelegate>("glEnableVertexAttribArray"); GenBuffers = GetOpenGLEntryPoint <GenBuffersDelegate>("glGenBuffers"); GenVertexArrays = GetOpenGLEntryPoint <GenVertexArraysDelegate>("glGenVertexArrays"); GetProgramInfoLog = GetOpenGLEntryPoint <GetProgramInfoLogDelegate>("glGetProgramInfoLog"); GetProgramiv = GetOpenGLEntryPoint <GetProgramivDelegate>("glGetProgramiv"); GetShaderInfoLog = GetOpenGLEntryPoint <GetShaderInfoLogDelegate>("glGetShaderInfoLog"); GetShaderiv = GetOpenGLEntryPoint <GetShaderivDelegate>("glGetShaderiv"); GetString = GetOpenGLEntryPoint <GetStringDelegate>("glGetString"); LinkProgram = GetOpenGLEntryPoint <LinkProgramDelegate>("glLinkProgram"); ShaderSource = GetOpenGLEntryPoint <ShaderSourceDelegate>("glShaderSource"); Scissor = GetOpenGLEntryPoint <ScissorDelegate>("glScissor"); UseProgram = GetOpenGLEntryPoint <UseProgramDelegate>("glUseProgram"); VertexAttribPointer = GetOpenGLEntryPoint <VertexAttribPointerDelegate>("glVertexAttribPointer"); Viewport = GetOpenGLEntryPoint <ViewportDelegate>("glViewport"); }
internal static void LoadEntryPoints() { if (Viewport == null) { Viewport = LoadFunction <ViewportDelegate>("glViewport"); } if (Scissor == null) { Scissor = LoadFunction <ScissorDelegate>("glScissor"); } //if (MakeCurrent == null) // MakeCurrent = LoadFunction<MakeCurrentDelegate>("glMakeCurrent"); GetError = LoadFunction <GetErrorDelegate>("glGetError"); EnableVertexAttribArray = LoadFunction <EnableVertexAttribArrayDelegate>("glEnableVertexAttribArray"); DisableVertexAttribArray = LoadFunction <DisableVertexAttribArrayDelegate>("glDisableVertexAttribArray"); _getStringInternal = LoadFunction <GetStringDelegate>("glGetString"); ClearDepth = LoadFunction <ClearDepthDelegate>("glClearDepth") ?? LoadFunction <ClearDepthDelegate>("glClearDepthf"); Clear = LoadFunction <ClearDelegate>("glClear"); ClearColor = LoadFunction <ClearColorDelegate>("glClearColor"); ClearStencil = LoadFunction <ClearStencilDelegate>("glClearStencil"); Enable = LoadFunction <EnableDelegate>("glEnable"); Disable = LoadFunction <DisableDelegate>("glDisable"); BindBuffer = LoadFunction <BindBufferDelegate>("glBindBuffer"); //DrawBuffers = LoadFunction<DrawBuffersDelegate>("glDrawBuffers"); //DrawElements = LoadFunction<DrawElementsDelegate>("glDrawElements"); DrawArrays = LoadFunction <DrawArraysDelegate>("glDrawArrays"); //Uniform1i = LoadFunction<Uniform1iDelegate>("glUniform1i"); //Uniform4fv = LoadFunction<Uniform4fvDelegate>("glUniform4fv"); //ReadPixelsInternal = LoadFunction<ReadPixelsDelegate>("glReadPixels"); CreateShader = LoadFunction <CreateShaderDelegate>("glCreateShader"); ShaderSourceInternal = LoadFunction <ShaderSourceDelegate>("glShaderSource"); CompileShader = LoadFunction <CompileShaderDelegate>("glCompileShader"); ColorMask = LoadFunction <ColorMaskDelegate>("glColorMask"); //TODO: DepthFunc = LoadFunction<DepthFuncDelegate>("glDepthFunc"); DepthMask = LoadFunction <DepthMaskDelegate>("glDepthMask"); StencilMask = LoadFunction <StencilMaskDelegate>("glStencilMask"); GenBuffers = LoadFunction <GenBuffersDelegate>("glGenBuffers"); BufferData = LoadFunction <BufferDataDelegate>("glBufferData"); //MapBuffer = LoadFunction<MapBufferDelegate>("glMapBuffer"); //UnmapBuffer = LoadFunction<UnmapBufferDelegate>("glUnmapBuffer"); BufferSubData = LoadFunction <BufferSubDataDelegate>("glBufferSubData"); //DeleteBuffers = LoadFunction<DeleteBuffersDelegate>("glDeleteBuffers"); VertexAttribPointer = LoadFunction <VertexAttribPointerDelegate>("glVertexAttribPointer"); }
private void Initialize() { ActiveTexture = GetOpenGLEntryPoint <ActiveTextureDelegate>("glActiveTexture"); AttachShader = GetOpenGLEntryPoint <AttachShaderDelegate>("glAttachShader"); BindBuffer = GetOpenGLEntryPoint <BindBufferDelegate>("glBindBuffer"); BindTexture = GetOpenGLEntryPoint <BindTextureDelegate>("glBindTexture"); BindVertexArray = GetOpenGLEntryPoint <BindVertexArrayDelegate>("glBindVertexArray"); BlendFunc = GetOpenGLEntryPoint <BlendFuncDelegate>("glBlendFunc"); BufferData = GetOpenGLEntryPoint <BufferDataDelegate>("glBufferData"); BufferSubData = GetOpenGLEntryPoint <BufferSubDataDelegate>("glBufferSubData"); Clear = GetOpenGLEntryPoint <ClearDelegate>("glClear"); ClearColor = GetOpenGLEntryPoint <ClearColorDelegate>("glClearColor"); CompileShader = GetOpenGLEntryPoint <CompileShaderDelegate>("glCompileShader"); CreateProgram = GetOpenGLEntryPoint <CreateProgramDelegate>("glCreateProgram"); CreateShader = GetOpenGLEntryPoint <CreateShaderDelegate>("glCreateShader"); DeleteBuffers = GetOpenGLEntryPoint <DeleteBuffersDelegate>("glDeleteBuffers"); DeleteProgram = GetOpenGLEntryPoint <DeleteProgramDelegate>("glDeleteProgram"); DeleteShader = GetOpenGLEntryPoint <DeleteShaderDelegate>("glDeleteShader"); DeleteTextures = GetOpenGLEntryPoint <DeleteTexturesDelegate>("glDeleteTextures"); DeleteVertexArrays = GetOpenGLEntryPoint <DeleteVertexArraysDelegate>("glDeleteVertexArrays"); Disable = GetOpenGLEntryPoint <DisableDelegate>("glDisable"); DrawArrays = GetOpenGLEntryPoint <DrawArraysDelegate>("glDrawArrays"); Enable = GetOpenGLEntryPoint <EnableDelegate>("glEnable"); EnableVertexAttribArray = GetOpenGLEntryPoint <EnableVertexAttribArrayDelegate>("glEnableVertexAttribArray"); GenBuffers = GetOpenGLEntryPoint <GenBuffersDelegate>("glGenBuffers"); GenTextures = GetOpenGLEntryPoint <GenTexturesDelegate>("glGenTextures"); GenVertexArrays = GetOpenGLEntryPoint <GenVertexArraysDelegate>("glGenVertexArrays"); GetError = GetOpenGLEntryPoint <GetErrorDelegate>("glGetError"); GetIntegerv = GetOpenGLEntryPoint <GetIntegervDelegate>("glGetIntegerv"); GetProgramInfoLog = GetOpenGLEntryPoint <GetProgramInfoLogDelegate>("glGetProgramInfoLog"); GetProgramiv = GetOpenGLEntryPoint <GetProgramivDelegate>("glGetProgramiv"); GetShaderInfoLog = GetOpenGLEntryPoint <GetShaderInfoLogDelegate>("glGetShaderInfoLog"); GetShaderiv = GetOpenGLEntryPoint <GetShaderivDelegate>("glGetShaderiv"); GetString = GetOpenGLEntryPoint <GetStringDelegate>("glGetString"); GetUniformLocation = GetOpenGLEntryPoint <GetUniformLocationDelegate>("glGetUniformLocation"); LinkProgram = GetOpenGLEntryPoint <LinkProgramDelegate>("glLinkProgram"); PixelStorei = GetOpenGLEntryPoint <PixelStoreiDelegate>("glPixelStorei"); ShaderSource = GetOpenGLEntryPoint <ShaderSourceDelegate>("glShaderSource"); Scissor = GetOpenGLEntryPoint <ScissorDelegate>("glScissor"); TexImage2D = GetOpenGLEntryPoint <TexImage2DDelegate>("glTexImage2D"); TexSubImage2D = GetOpenGLEntryPoint <TexSubImage2DDelegate>("glTexSubImage2D"); TexParameteri = GetOpenGLEntryPoint <TexParameteriDelegate>("glTexParameteri"); Uniform1i = GetOpenGLEntryPoint <Uniform1iDelegate>("glUniform1i"); Uniform4f = GetOpenGLEntryPoint <Uniform4fDelegate>("glUniform4f"); UniformMatrix4fv = GetOpenGLEntryPoint <UniformMatrix4fvDelegate>("glUniformMatrix4fv"); UseProgram = GetOpenGLEntryPoint <UseProgramDelegate>("glUseProgram"); VertexAttribPointer = GetOpenGLEntryPoint <VertexAttribPointerDelegate>("glVertexAttribPointer"); Viewport = GetOpenGLEntryPoint <ViewportDelegate>("glViewport"); }