https://riptutorial.com/zh-CN/opengl
OpenGL 是由一些充满智慧的人设计的,他们拥有丰富的图形程序设计 API 设计经验。
WGL
WGL(可以发音为 wiggle)代表“Windows-GL”,如“Windows 和 OpenGL 之间的接口” - 来自 Windows API 的一组函数,用于与 OpenGL 通信。WGL 函数具有 wgl 前缀,其标记具有 WGL_ 前缀。
Microsoft 系统自带的 opengl32.dll 只暴露 OpenGL 1.1 入口;更高版本(例如 OpenGL 4.6)需要通过显卡驱动和扩展函数加载器获取,但您的图形卡也必须支持这些新版本。
可以在此处找到 WGL 功能的完整列表。
from
wglCopyContext
wglCreateContext
wglCreateLayerContext
wglDeleteContext
wglDescribeLayerPlane
wglGetCurrentContext
wglGetCurrentDC
wglGetLayerPaletteEntries
wglGetProcAddress
wglMakeCurrent
wglRealizeLayerPalette
wglSetLayerPaletteEntries
wglShareLists
wglSwapLayerBuffers
wglUseFontBitmaps
wglUseFontOutlines
图形设备接口(GDI)
GDI(今天更新为 GDI+)是一个 2D 绘图界面,允许您在 Windows 中绘制窗口。
您需要 GDI 来初始化 OpenGL 并允许它与它交互(但实际上不会使用 GDI 本身)。
在 GDI 中,每个窗口都有一个设备上下文(DC),用于在调用函数时标识绘图目标(将其作为参数传递)。
但是,OpenGL 使用自己的渲染上下文(RC)。因此,DC 将用于创建 RC。
渲染上下文
我们可以简单地创建渲染上下文:
/* RENDERING CONTEXT */
HGLRC rc = wglCreateContext(dc);
wglMakeCurrent(dc, rc);
/* ***************** */
请注意,一次只能有一个线程使用 RC。如果你希望稍后从另一个线程使用它,你必须 wglMakeCurrent 那里调用 wglMakeCurrent 来再次激活它(这将在它当前处于活动状态的线程上停用它,依此类推)。
OpenGL 扩展
对 OpenGL 的原始功能的任何添加都称为扩展。通常,它们可以使某些事情变得合法,扩展参数值范围,扩展 GLSL,甚至添加全新的功能。
有三个主要的扩展组:供应商,EXT 和 ARB。供应商扩展来自特定供应商,它们具有供应商特定标记,如 AMD 或 NV。
EXT 扩展由多个供应商共同完成。一段时间后,它们可能会成为 ARB 扩展,这些都是官方支持的 ARB 和 ARB 批准的扩展。
要获取所有扩展的函数指针类型和函数原型, 并且如前所述,来自 OpenGL 1.2 和更高版本的所有函数指针类型,必须从 OpenGL 注册表下载头文件。
如上所述,对于新应用程序,最好使用核心配置文件,因此最好包括 GL/glcorearb.h 而不是 GL/gl.h 和 GL/glext.h(如果您使用的是 GL/glcorearb.h 那么请不包括 GL/gl.h)。
在 GL/wglext.h 中还有 WGL 的扩展。例如,获取所有支持的扩展列表的函数实际上是一个扩展本身,即 wglGetExtensionsStringARB(它返回一个大字符串,其中包含所有支持的扩展的空格分隔列表)。
获取扩展也是通过 wglGetProcAddress 处理的,所以我们可以像以前一样使用我们的包装器。
Windows wglGetProcAddress
https://www.khronos.org/opengl/wiki/Load_OpenGL_Functions
So in order to get the address of any GL function one can try with wglGetProcAddress and if it fails, try again with the Win32's GetProcAddress:
void *GetAnyGLFuncAddress(const char *name)
{
void *p = (void *)wglGetProcAddress(name);
if (p == 0 ||
(p == (void*)0x1) || (p == (void*)0x2) || (p == (void*)0x3) ||
(p == (void*)-1) )
{
HMODULE module = LoadLibraryA("opengl32.dll");
p = (void *)GetProcAddress(module, name);
}
return p;
}
OpenGL ARB
from
这样 OpenGL 体系结构审核委员会 (ARB, OpenGL Architecture Reiview Board) 就诞生了。
GLint nNum;
glGetIntegerv(GL_NUM_EXTENSIONS, &nNum); // 跟上一个示例一样,获取扩展支持数量
// 遍历所有扩展
for (GLint i = 0; i < nNum; ++i) {
// 判断是否支持扩展名为: WGL_EXT_swap_control 的扩展
if (strcmp("WGL_EXT_swap_control", (const char *)glGetStringi(GL_EXTENSIONS, i)) == 0)
{
// 支持则获取这个扩展函数的函数指针
wglSwapIntervalExt = (PFNWGLSWAPINTERVALEXTPROC)wglGetProcAddress("wglSwapIntervalExt");
if (wglSwapIntervalExt != NULL) {
// 调用设置这个扩展
wglSwapIntervalExt(1);
}
}
}
OpenGL 扩展识别示例
| 前缀 |
提 供 商 |
| SGI_ |
Silicon Graphics |
| ATI_ |
ATI Tenchnologies |
| AMD_ |
Advanced Micro Devices |
| NV_ |
NVIDIA |
| IBM_ |
IBM |
| WGL_ |
Microsoft |
| EXT_ |
Cross-Vendor |
| ARB_ |
ARB Approved |
第十二课:OpenGL 扩展 
ARB vs EXT vs …
扩展的名字暗示了它的适用范围:
- GL_: 所有平台;
- GLX_: 用于 X Window System(常见于 Linux/Unix 的 X11 环境);
- WGL_: 只有 Windows 下可使用。
- EXT: 通用的扩展。
- ARB: 已经被 OpenGL 架构评审委员会的所有成员接受(EXT 扩展没多久后就经常被提升为 ARB)的扩展。
- NV/AMD/INTEL: 顾名思义。
OpenGL ES & OpenGL API
OpenGL ES & OpenGL 存在大量 API 交叉的情况。分了五类:
- 只支持 GLES: gles
- 只支持 OpenGL & wglGetProcAddress: ogladdr
- 只支持 OpenGL: ogl
- 两个都支持 OpenGL & wglGetProcAddress: gles&ogladdr
- 两个都支持:gles&ogl
Irrlicht 用到的 284 个 API:
- eglBindAPI gles
- EglAPI EGLBoolean EglAPIENTRY eglBindAPI(EGLenum api);
- eglChooseConfig gles
- EglAPI EGLBoolean EglAPIENTRY eglChooseConfig(EGLDisplay dpy, const EGLint* attrib_list, EGLConfig* configs, EGLint config_size, EGLint* num_config);
- eglCreateContext gles
- EglAPI EGLContext EglAPIENTRY eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint* attrib_list);
- eglCreateWindowSurface gles
- EglAPI EGLSurface EglAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint* attrib_list);
- eglDestroyContext gles
- EglAPI EGLBoolean EglAPIENTRY eglDestroyContext(EGLDisplay dpy, EGLContext ctx);
- eglDestroySurface gles
- EglAPI EGLBoolean EglAPIENTRY eglDestroySurface(EGLDisplay dpy, EGLSurface surface);
- eglGetConfigAttrib gles
- EglAPI EGLBoolean EglAPIENTRY eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint* value);
- eglGetConfigs gles
- EglAPI EGLBoolean EglAPIENTRY eglGetConfigs(EGLDisplay dpy, EGLConfig* configs, EGLint config_size, EGLint* num_config);
- eglGetDisplay gles
- EglAPI EGLDisplay EglAPIENTRY eglGetDisplay(EGLNativeDisplayType display_id);
- eglGetError gles
- EglAPI EGLint EglAPIENTRY eglGetError(void);
- eglInitialize gles
- EglAPI EGLBoolean EglAPIENTRY eglInitialize(EGLDisplay dpy, EGLint* major, EGLint* minor);
- eglMakeCurrent gles
- EglAPI EGLBoolean EglAPIENTRY eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
- eglSwapBuffers gles
- EglAPI EGLBoolean EglAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surface);
- eglSwapInterval gles
- EglAPI EGLBoolean EglAPIENTRY eglSwapInterval(EGLDisplay dpy, EGLint interval);
- eglTerminate gles
- EglAPI EGLBoolean EglAPIENTRY eglTerminate(EGLDisplay dpy);
- glActiveTexture gles&ogladdr
- glAPICALL void glAPIENTRY glActiveTexture(GLenum texture);
- glActiveTextureARB ogladdr
- glAPI void APIENTRY glActiveTextureARB(GLenum texture);
- glAlphaFunc ogl
- WINzGDIAPI void APIENTRY glAlphaFunc(GLenum efunc, GLclampf ref);
- glAttachObjectARB ogladdr
- glAPI void APIENTRY glAttachObjectARB(GLhandleARB containerObj, GLhandleARB obj);
- glAttachShader gles&ogladdr
- glAPICALL void glAPIENTRY glAttachShader(GLuint program, GLuint shader);
- glBeginOcclusionQueryNV ogladdr
- glAPI void APIENTRY glBeginOcclusionQueryNV(GLuint id);
- glBeginQueryARB ogladdr
- glAPI void APIENTRY glBeginQueryARB(GLenum target, GLuint id);
- glBindAttribLocation gles
- glAPICALL void glAPIENTRY glBindAttribLocation(GLuint program, GLuint index, const GLchar* name);
- glBindBuffer gles
- glAPICALL void glAPIENTRY glBindBuffer(GLenum target, GLuint buffer);
- glBindBufferARB ogladdr
- glAPI void APIENTRY glBindBufferARB(GLenum target, GLuint buffer);
- glBindFramebuffer gles&ogladdr
- glAPICALL void glAPIENTRY glBindFramebuffer(GLenum target, GLuint framebuffer);
- glBindFramebufferEXT ogladdr
- glAPI void APIENTRY glBindFramebufferEXT(GLenum target, GLuint framebuffer);
- glBindProgramARB ogladdr
- glAPI void APIENTRY glBindProgramARB(GLenum target, GLuint program);
- glBindProgramNV ogladdr
- glAPI void APIENTRY glBindProgramNV(GLenum target, GLuint id);
- glBindRenderbuffer ogladdr
- glAPICALL void glAPIENTRY glBindRenderbuffer(GLenum target, GLuint renderbuffer);
- glBindRenderbufferEXT ogladdr
- glAPI void APIENTRY glBindRenderbufferEXT(GLenum target, GLuint renderbuffer);
- glBindTexture gles&ogl
- glAPICALL void glAPIENTRY glBindTexture(GLenum target, GLuint texture);
- glBindTextures ogladdr
- glAPI void APIENTRY glBindTextures(GLuint first, GLsizei count, const GLuint* textures);
- glBlendEquation gles&ogladdr
- glAPICALL void glAPIENTRY glBlendEquation(GLenum mode);
- glBlendEquationEXT ogladdr
- glAPI void APIENTRY glBlendEquationEXT(GLenum mode);
- glBlendEquationIndexedAMD ogladdr
- glAPI void APIENTRY glBlendEquationIndexedAMD(GLuint buf, GLenum mode);
- glBlendEquationSeparate ogladdr
- glAPICALL void glAPIENTRY glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
- glBlendEquationSeparateEXT ogladdr
- glAPI void APIENTRY glBlendEquationSeparateEXT(GLenum modeRGB, GLenum modeAlpha);
- glBlendEquationSeparateIndexedAMD ogladdr
- glAPI void APIENTRY glBlendEquationSeparateIndexedAMD(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
- glBlendEquationSeparateiARB ogladdr
- glAPI void APIENTRY glBlendEquationSeparateiARB(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
- glBlendEquationiARB ogladdr
- glAPI void APIENTRY glBlendEquationiARB(GLuint buf, GLenum mode);
- glBlendFunc gles&ogl
- glAPICALL void glAPIENTRY glBlendFunc(GLenum sfactor, GLenum dfactor);
- glBlendFuncIndexedAMD ogladdr
- glAPI void APIENTRY glBlendFuncIndexedAMD(GLuint buf, GLenum src, GLenum dst);
- glBlendFuncSeparate gles&ogladdr
- glAPICALL void glAPIENTRY glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
- glBlendFuncSeparateEXT ogladdr
- glAPI void APIENTRY glBlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
- glBlendFuncSeparateIndexedAMD ogladdr
- glAPI void APIENTRY glBlendFuncSeparateIndexedAMD(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
- glBlendFuncSeparateiARB ogladdr
- glAPI void APIENTRY glBlendFuncSeparateiARB(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
- glBlendFunciARB ogladdr
- glAPI void APIENTRY glBlendFunciARB(GLuint buf, GLenum src, GLenum dst);
- glBufferData gles
- glAPICALL void glAPIENTRY glBufferData(GLenum target, GLsizeiptr size, const void* data, GLenum usage);
- glBufferDataARB ogladdr
- glAPI void APIENTRY glBufferDataARB(GLenum target, GLsizeiptrARB size, const void* data, GLenum usage);
- glBufferSubData gles
- glAPICALL void glAPIENTRY glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void* data);
- glBufferSubDataARB ogladdr
- glAPI void APIENTRY glBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void* data);
- glCheckFramebufferStatus gles&ogladdr
- glAPICALL GLenum glAPIENTRY glCheckFramebufferStatus(GLenum target);
- glCheckFramebufferStatusEXT ogladdr
- glAPI GLenum APIENTRY glCheckFramebufferStatusEXT(GLenum target);
- glClear gles&ogl
- glAPICALL void glAPIENTRY glClear(GLbitfield mask);
- glClearColor gles&ogl
- glAPICALL void glAPIENTRY glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
- glClearDepth ogl
- WINzGDIAPI void APIENTRY glClearDepth(GLclampd depth);
- glClearDepthf gles
- glAPICALL void glAPIENTRY glClearDepthf(GLfloat d);
- glClearStencil gles&ogl
- glAPICALL void glAPIENTRY glClearStencil(GLint s);
- glClientActiveTextureARB ogladdr
- glAPI void APIENTRY glClientActiveTextureARB(GLenum texture);
- glClipPlane ogl
- WINzGDIAPI void APIENTRY glClipPlane(GLenum plane, const GLdouble *equation);
- glColor4ub ogl
- WINzGDIAPI void APIENTRY glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
- glColorMask gles&ogl
- glAPICALL void glAPIENTRY glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
- glColorMaskIndexedEXT ogladdr
- glAPI void APIENTRY glColorMaskIndexedEXT(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
- glColorMaterial ogl
- WINzGDIAPI void APIENTRY glColorMaterial(GLenum face, GLenum mode);
- glColorPointer ogl
- WINzGDIAPI void APIENTRY glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
- glCompileShader gles&ogladdr
- glAPICALL void glAPIENTRY glCompileShader(GLuint shader);
- glCompileShaderARB ogladdr
- glAPI void APIENTRY glCompileShaderARB(GLhandleARB shaderObj);
- glCompressedTexImage2D gles&ogladdr
- glAPICALL void glAPIENTRY glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data);
- glCompressedTexSubImage2D gles&ogladdr
- glAPICALL void glAPIENTRY glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data);
- glCopyTexSubImage2D gles&ogl
- glAPICALL void glAPIENTRY glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
- glCreateFramebuffers ogladdr
- glAPI void APIENTRY glCreateFramebuffers(GLsizei n, GLuint* framebuffers);
- glCreateProgram gles&ogladdr
- glAPICALL GLuint glAPIENTRY glCreateProgram(void);
- glCreateProgramObjectARB ogladdr
- glAPI GLhandleARB APIENTRY glCreateProgramObjectARB(void);
- glCreateShader gles&ogladdr
- glAPICALL GLuint glAPIENTRY glCreateShader(GLenum type);
- glCreateShaderObjectARB ogladdr
- glAPI GLhandleARB APIENTRY glCreateShaderObjectARB(GLenum shaderType);
- glCreateTextures ogladdr
- glAPI void APIENTRY glCreateTextures(GLenum target, GLsizei n, GLuint* textures);
- glCullFace gles&ogl
- glAPICALL void glAPIENTRY glCullFace(GLenum mode);
- glDeleteBuffers gles
- glAPICALL void glAPIENTRY glDeleteBuffers(GLsizei n, const GLuint* buffers);
- glDeleteBuffersARB ogladdr
- glAPI void APIENTRY glDeleteBuffersARB(GLsizei n, const GLuint* buffers);
- glDeleteFramebuffers gles&ogladdr
- glAPICALL void glAPIENTRY glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers);
- glDeleteFramebuffersEXT ogladdr
- glAPI void APIENTRY glDeleteFramebuffersEXT(GLsizei n, const GLuint* framebuffers);
- glDeleteObjectARB ogladdr
- glAPI void APIENTRY glDeleteObjectARB(GLhandleARB obj);
- glDeleteOcclusionQueriesNV ogladdr
- glAPI void APIENTRY glDeleteOcclusionQueriesNV(GLsizei n, const GLuint* ids);
- glDeleteProgram gles&ogladdr
- glAPICALL void glAPIENTRY glDeleteProgram(GLuint program);
- glDeleteProgramsARB ogladdr
- glAPI void APIENTRY glDeleteProgramsARB(GLsizei n, const GLuint* programs);
- glDeleteProgramsNV ogladdr
- glAPI void APIENTRY glDeleteProgramsNV(GLsizei n, const GLuint* programs);
- glDeleteQueriesARB ogladdr
- glAPI void APIENTRY glDeleteQueriesARB(GLsizei n, const GLuint* ids);
- glDeleteRenderbuffers ogladdr
- glAPICALL void glAPIENTRY glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers);
- glDeleteRenderbuffersEXT ogladdr
- glAPI void APIENTRY glDeleteRenderbuffersEXT(GLsizei n, const GLuint* renderbuffers);
- glDeleteShader gles&ogladdr
- glAPICALL void glAPIENTRY glDeleteShader(GLuint shader);
- glDeleteTextures gles&ogl
- glAPICALL void glAPIENTRY glDeleteTextures(GLsizei n, const GLuint *textures);
- glDepthFunc gles&ogl
- glAPICALL void glAPIENTRY glDepthFunc(GLenum efunc);
- glDepthMask gles&ogl
- glAPICALL void glAPIENTRY glDepthMask(GLboolean flag);
- glDisable gles&ogl
- glAPICALL void glAPIENTRY glDisable(GLenum cap);
- glDisableClientState ogl
- WINzGDIAPI void APIENTRY glDisableClientState(GLenum array);
- glDisableIndexedEXT ogladdr
- glAPI void APIENTRY glDisableIndexedEXT(GLenum target, GLuint index);
- glDisableVertexAttribArray gles
- glAPICALL void glAPIENTRY glDisableVertexAttribArray(GLuint index);
- glDrawArrays gles&ogl
- glAPICALL void glAPIENTRY glDrawArrays(GLenum mode, GLint first, GLsizei count);
- glDrawBuffer ogl
- WINzGDIAPI void APIENTRY glDrawBuffer(GLenum mode);
- glDrawBuffersARB ogladdr
- glAPI void APIENTRY glDrawBuffersARB(GLsizei n, const GLenum* bufs);
- glDrawBuffersATI ogladdr
- glAPI void APIENTRY glDrawBuffersATI(GLsizei n, const GLenum* bufs);
- glDrawElements gles&ogl
- glAPICALL void glAPIENTRY glDrawElements(GLenum mode, GLsizei count, GLenum type, const void *indices);
- glEnable gles&ogl
- glAPICALL void glAPIENTRY glEnable(GLenum cap);
- glEnableClientState ogl
- WINzGDIAPI void APIENTRY glEnableClientState(GLenum array);
- glEnableIndexedEXT ogladdr
- glAPI void APIENTRY glEnableIndexedEXT(GLenum target, GLuint index);
- glEnableVertexAttribArray gles
- glAPICALL void glAPIENTRY glEnableVertexAttribArray(GLuint index);
- glEndOcclusionQueryNV ogladdr
- glAPI void APIENTRY glEndOcclusionQueryNV(void);
- glEndQueryARB ogladdr
- glAPI void APIENTRY glEndQueryARB(GLenum target);
- glFlush gles&ogl
- glAPICALL void glAPIENTRY glFlush(void);
- glFogf ogl
- WINzGDIAPI void APIENTRY glFogf(GLenum pname, GLfloat param);
- glFogfv ogl
- WINzGDIAPI void APIENTRY glFogfv(GLenum pname, const GLfloat *params);
- glFogi ogl
- WINzGDIAPI void APIENTRY glFogi(GLenum pname, GLint param);
- glFramebufferRenderbuffer ogladdr
- glAPICALL void glAPIENTRY glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
- glFramebufferRenderbufferEXT ogladdr
- glAPI void APIENTRY glFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
- glFramebufferTexture ogladdr
- glAPICALL void glAPIENTRY glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level);
- glFramebufferTexture2D gles&ogladdr
- glAPICALL void glAPIENTRY glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
- glFramebufferTexture2DEXT ogladdr
- glAPI void APIENTRY glFramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
- glFrontFace gles&ogl
- glAPICALL void glAPIENTRY glFrontFace(GLenum mode);
- glGenBuffers gles
- glAPICALL void glAPIENTRY glGenBuffers(GLsizei n, GLuint* buffers);
- glGenBuffersARB ogladdr
- glAPI void APIENTRY glGenBuffersARB(GLsizei n, GLuint* buffers);
- glGenFramebuffers gles&ogladdr
- glAPICALL void glAPIENTRY glGenFramebuffers(GLsizei n, GLuint* framebuffers);
- glGenFramebuffersEXT ogladdr
- glAPI void APIENTRY glGenFramebuffersEXT(GLsizei n, GLuint* framebuffers);
- glGenOcclusionQueriesNV ogladdr
- glAPI void APIENTRY glGenOcclusionQueriesNV(GLsizei n, GLuint* ids);
- glGenProgramsARB ogladdr
- glAPI void APIENTRY glGenProgramsARB(GLsizei n, GLuint* programs);
- glGenProgramsNV ogladdr
- glAPI void APIENTRY glGenProgramsNV(GLsizei n, GLuint* programs);
- glGenQueriesARB ogladdr
- glAPI void APIENTRY glGenQueriesARB(GLsizei n, GLuint* ids);
- glGenRenderbuffers ogladdr
- glAPICALL void glAPIENTRY glGenRenderbuffers(GLsizei n, GLuint* renderbuffers);
- glGenRenderbuffersEXT ogladdr
- glAPI void APIENTRY glGenRenderbuffersEXT(GLsizei n, GLuint* renderbuffers);
- glGenTextures gles&ogl
- glAPICALL void glAPIENTRY glGenTextures(GLsizei n, GLuint *textures);
- glGenerateMipmap gles&ogladdr
- glAPICALL void glAPIENTRY glGenerateMipmap(GLenum target);
- glGenerateMipmapEXT ogladdr
- glAPI void APIENTRY glGenerateMipmapEXT(GLenum target);
- glGenerateTextureMipmap ogladdr
- glAPI void APIENTRY glGenerateTextureMipmap(GLuint texture);
- glGenerateTextureMipmapEXT ogladdr
- glAPI void APIENTRY glGenerateTextureMipmapEXT(GLuint texture, GLenum target);
- glGetActiveUniform gles&ogladdr
- glAPICALL void glAPIENTRY glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
- glGetActiveUniformARB ogladdr
- glAPI void APIENTRY glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLcharARB* name);
- glGetAttachedObjectsARB ogladdr
- glAPI void APIENTRY glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, GLsizei* count, GLhandleARB* obj);
- glGetAttachedShaders gles&ogladdr
- glAPICALL void glAPIENTRY glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders);
- glGetBufferParameterivARB ogladdr
- glAPI void APIENTRY glGetBufferParameterivARB(GLenum target, GLenum pname, GLint* params);
- glGetBufferPointervARB ogladdr
- glAPI void APIENTRY glGetBufferPointervARB(GLenum target, GLenum pname, void** params);
- glGetBufferSubDataARB ogladdr
- glAPI void APIENTRY glGetBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, void* data);
- glGetError gles&ogl
- glAPICALL GLenum glAPIENTRY glGetError(void);
- glGetFloatv gles&ogl
- glAPICALL void glAPIENTRY glGetFloatv(GLenum pname, GLfloat *data);
- glGetInfoLogARB ogladdr
- glAPI void APIENTRY glGetInfoLogARB(GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB* infoLog);
- glGetIntegerv gles&ogl
- glAPICALL void glAPIENTRY glGetIntegerv(GLenum pname, GLint *data);
- glGetObjectParameterivARB ogladdr
- glAPI void APIENTRY glGetObjectParameterivARB(GLhandleARB obj, GLenum pname, GLint* params);
- glGetOcclusionQueryivNV ogladdr
- glAPI void APIENTRY glGetOcclusionQueryivNV(GLuint id, GLenum pname, GLint* params);
- glGetOcclusionQueryuivNV ogladdr
- glAPI void APIENTRY glGetOcclusionQueryuivNV(GLuint id, GLenum pname, GLuint* params);
- glGetProgramInfoLog gles&ogladdr
- glAPICALL void glAPIENTRY glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
- glGetProgramiv gles&ogladdr
- glAPICALL void glAPIENTRY glGetProgramiv(GLuint program, GLenum pname, GLint* params);
- glGetQueryObjectivARB ogladdr
- glAPI void APIENTRY glGetQueryObjectivARB(GLuint id, GLenum pname, GLint* params);
- glGetQueryObjectuivARB ogladdr
- glAPI void APIENTRY glGetQueryObjectuivARB(GLuint id, GLenum pname, GLuint* params);
- glGetQueryivARB ogladdr
- glAPI void APIENTRY glGetQueryivARB(GLenum target, GLenum pname, GLint* params);
- glGetShaderInfoLog gles&ogladdr
- glAPICALL void glAPIENTRY glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
- glGetShaderiv gles&ogladdr
- glAPICALL void glAPIENTRY glGetShaderiv(GLuint shader, GLenum pname, GLint* params);
- glGetString gles&ogl
- glAPICALL CPGLubyte glAPIENTRY glGetString(GLenum name);
- glGetTexImage ogl
- WINzGDIAPI void APIENTRY glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
- glGetTextureImage ogladdr
- glAPI void APIENTRY glGetTextureImage(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* pixels);
- glGetTextureImageEXT ogladdr
- glAPI void APIENTRY glGetTextureImageEXT(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void* pixels);
- glGetUniformLocation gles&ogladdr
- glAPICALL GLint glAPIENTRY glGetUniformLocation(GLuint program, const GLchar* name);
- glGetUniformLocationARB ogladdr
- glAPI GLint APIENTRY glGetUniformLocationARB(GLhandleARB programObj, const GLcharARB* name);
- glHint gles&ogl
- glAPICALL void glAPIENTRY glHint(GLenum target, GLenum mode);
- glIsBufferARB ogladdr
- glAPI GLboolean APIENTRY glIsBufferARB(GLuint buffer);
- glIsEnabled gles&ogl
- glAPICALL GLboolean glAPIENTRY glIsEnabled(GLenum cap);
- glIsOcclusionQueryNV ogladdr
- glAPI GLboolean APIENTRY glIsOcclusionQueryNV(GLuint id);
- glIsQueryARB ogladdr
- glAPI GLboolean APIENTRY glIsQueryARB(GLuint id);
- glLightModelfv ogl
- WINzGDIAPI void APIENTRY glLightModelfv(GLenum pname, const GLfloat *params);
- glLightModeli ogl
- WINzGDIAPI void APIENTRY glLightModeli(GLenum pname, GLint param);
- glLightf ogl
- WINzGDIAPI void APIENTRY glLightf(GLenum light, GLenum pname, GLfloat param);
- glLightfv ogl
- WINzGDIAPI void APIENTRY glLightfv(GLenum light, GLenum pname, const GLfloat *params);
- glLineWidth gles&ogl
- glAPICALL void glAPIENTRY glLineWidth(GLfloat width);
- glLinkProgram gles&ogladdr
- glAPICALL void glAPIENTRY glLinkProgram(GLuint program);
- glLinkProgramARB ogladdr
- glAPI void APIENTRY glLinkProgramARB(GLhandleARB programObj);
- glLoadIdentity ogl
- WINzGDIAPI void APIENTRY glLoadIdentity(void);
- glLoadMatrixf ogl
- WINzGDIAPI void APIENTRY glLoadMatrixf(const GLfloat *m);
- glLoadProgramNV ogladdr
- glAPI void APIENTRY glLoadProgramNV(GLenum target, GLuint id, GLsizei len, const GLubyte* program);
- glMapBufferARB ogladdr
- glAPI PVOID APIENTRY glMapBufferARB(GLenum target, GLenum access);
- glMaterialf ogl
- WINzGDIAPI void APIENTRY glMaterialf(GLenum face, GLenum pname, GLfloat param);
- glMaterialfv ogl
- WINzGDIAPI void APIENTRY glMaterialfv(GLenum face, GLenum pname, const GLfloat *params);
- glMatrixMode ogl
- WINzGDIAPI void APIENTRY glMatrixMode(GLenum mode);
- glMultMatrixf ogl
- WINzGDIAPI void APIENTRY glMultMatrixf(const GLfloat *m);
- glNamedFramebufferTexture ogladdr
- glAPI void APIENTRY glNamedFramebufferTexture(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
- glNamedFramebufferTextureEXT ogladdr
- glAPI void APIENTRY glNamedFramebufferTextureEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
- glNormalPointer ogl
- WINzGDIAPI void APIENTRY glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer);
- glPixelStorei gles&ogl
- glAPICALL void glAPIENTRY glPixelStorei(GLenum pname, GLint param);
- glPointParameterfARB ogladdr
- glAPI void APIENTRY glPointParameterfARB(GLenum pname, GLfloat param);
- glPointParameterfvARB ogladdr
- glAPI void APIENTRY glPointParameterfvARB(GLenum pname, const GLfloat* params);
- glPointSize ogl
- WINzGDIAPI void APIENTRY glPointSize(GLfloat size);
- glPolygonMode ogl
- WINzGDIAPI void APIENTRY glPolygonMode(GLenum face, GLenum mode);
- glPolygonOffset gles&ogl
- glAPICALL void glAPIENTRY glPolygonOffset(GLfloat factor, GLfloat units);
- glPopAttrib ogl
- WINzGDIAPI void APIENTRY glPopAttrib(void);
- glPopMatrix ogl
- WINzGDIAPI void APIENTRY glPopMatrix(void);
- glProgramLocalParameter4fvARB ogladdr
- glAPI void APIENTRY glProgramLocalParameter4fvARB(GLenum target, GLuint index, const GLfloat* params);
- glProgramParameteriARB ogladdr
- glAPI void APIENTRY glProgramParameteriARB(GLuint program, GLenum pname, GLint value);
- glProgramParameteriEXT ogladdr
- glAPICALL void glAPIENTRY glProgramParameteriEXT(GLuint program, GLenum pname, GLint value);
- glProgramStringARB ogladdr
- glAPI void APIENTRY glProgramStringARB(GLenum target, GLenum format, GLsizei len, const void* string);
- glProvokingVertex ogladdr
- glAPI void APIENTRY glProvokingVertex(GLenum mode);
- glProvokingVertexEXT ogladdr
- glAPI void APIENTRY glProvokingVertexEXT(GLenum mode);
- glPushAttrib ogl
- WINzGDIAPI void APIENTRY glPushAttrib(GLbitfield mask);
- glPushMatrix ogl
- WINzGDIAPI void APIENTRY glPushMatrix(void);
- glReadBuffer gles&ogl
- glAPICALL void glAPIENTRY glReadBuffer(GLenum src);
- glReadPixels gles&ogl
- glAPICALL void glAPIENTRY glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
- glRectf ogl
- WINzGDIAPI void APIENTRY glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
- glRenderbufferStorage ogladdr
- glAPICALL void glAPIENTRY glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
- glRenderbufferStorageEXT ogladdr
- glAPI void APIENTRY glRenderbufferStorageEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
- glScissor gles&ogl
- glAPICALL void glAPIENTRY glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
- glShadeModel ogl
- WINzGDIAPI void APIENTRY glShadeModel(GLenum mode);
- glShaderSource gles&ogladdr
- glAPICALL void glAPIENTRY glShaderSource(GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length);
- glShaderSourceARB ogladdr
- glAPI void APIENTRY glShaderSourceARB(GLhandleARB shaderObj, GLsizei count, const GLcharARB** string, const GLint* length);
- glStencilFunc gles&ogl
- glAPICALL void glAPIENTRY glStencilFunc(GLenum efunc, GLint ref, GLuint mask);
- glStencilFuncSeparate ogladdr
- glAPICALL void glAPIENTRY glStencilFuncSeparate(GLenum face, GLenum efunc, GLint ref, GLuint mask);
- glStencilFuncSeparateATI ogladdr
- glAPI void APIENTRY glStencilFuncSeparateATI(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
- glStencilMask gles&ogl
- glAPICALL void glAPIENTRY glStencilMask(GLuint mask);
- glStencilOp gles&ogl
- glAPICALL void glAPIENTRY glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);
- glStencilOpSeparate ogladdr
- glAPICALL void glAPIENTRY glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
- glStencilOpSeparateATI ogladdr
- glAPI void APIENTRY glStencilOpSeparateATI(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
- glTexCoordPointer ogl
- WINzGDIAPI void APIENTRY glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
- glTexEnvf ogl
- WINzGDIAPI void APIENTRY glTexEnvf(GLenum target, GLenum pname, GLfloat param);
- glTexEnvi ogl
- WINzGDIAPI void APIENTRY glTexEnvi(GLenum target, GLenum pname, GLint param);
- glTexGeni ogl
- WINzGDIAPI void APIENTRY glTexGeni(GLenum coord, GLenum pname, GLint param);
- glTexImage2D gles&ogl
- glAPICALL void glAPIENTRY glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
- glTexParameterf gles&ogl
- glAPICALL void glAPIENTRY glTexParameterf(GLenum target, GLenum pname, GLfloat param);
- glTexParameteri gles&ogl
- glAPICALL void glAPIENTRY glTexParameteri(GLenum target, GLenum pname, GLint param);
- glTexStorage2D ogladdr
- glAPICALL void glAPIENTRY glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
- glTexStorage3D ogladdr
- glAPICALL void glAPIENTRY glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
- glTexSubImage2D gles&ogl
- glAPICALL void glAPIENTRY glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
- glTextureParameterf ogladdr
- glAPI void APIENTRY glTextureParameterf(GLuint texture, GLenum pname, GLfloat param);
- glTextureParameterfv ogladdr
- glAPI void APIENTRY glTextureParameterfv(GLuint texture, GLenum pname, const GLfloat* param);
- glTextureParameteri ogladdr
- glAPI void APIENTRY glTextureParameteri(GLuint texture, GLenum pname, GLint param);
- glTextureParameteriv ogladdr
- glAPI void APIENTRY glTextureParameteriv(GLuint texture, GLenum pname, const GLint* param);
- glTextureStorage2D ogladdr
- glAPI void APIENTRY glTextureStorage2D(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
- glTextureStorage2DEXT ogladdr
- glAPICALL void glAPIENTRY glTextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
- glTextureStorage3D ogladdr
- glAPI void APIENTRY glTextureStorage3D(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
- glTextureStorage3DEXT ogladdr
- glAPICALL void glAPIENTRY glTextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
- glTextureSubImage2D ogladdr
- glAPI void APIENTRY glTextureSubImage2D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels);
- glTextureSubImage2DEXT ogladdr
- glAPI void APIENTRY glTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels);
- glTranslatef ogl
- WINzGDIAPI void APIENTRY glTranslatef(GLfloat x, GLfloat y, GLfloat z);
- glUniform1fv gles
- glAPICALL void glAPIENTRY glUniform1fv(GLint location, GLsizei count, const GLfloat* value);
- glUniform1fvARB ogladdr
- glAPI void APIENTRY glUniform1fvARB(GLint location, GLsizei count, const GLfloat* value);
- glUniform1iv gles
- glAPICALL void glAPIENTRY glUniform1iv(GLint location, GLsizei count, const GLint* value);
- glUniform1ivARB ogladdr
- glAPI void APIENTRY glUniform1ivARB(GLint location, GLsizei count, const GLint* value);
- glUniform1uiv ogladdr
- glAPICALL void glAPIENTRY glUniform1uiv(GLint location, GLsizei count, const GLuint* value);
- glUniform2fv gles
- glAPICALL void glAPIENTRY glUniform2fv(GLint location, GLsizei count, const GLfloat* value);
- glUniform2fvARB ogladdr
- glAPI void APIENTRY glUniform2fvARB(GLint location, GLsizei count, const GLfloat* value);
- glUniform2iv gles
- glAPICALL void glAPIENTRY glUniform2iv(GLint location, GLsizei count, const GLint* value);
- glUniform2ivARB ogladdr
- glAPI void APIENTRY glUniform2ivARB(GLint location, GLsizei count, const GLint* value);
- glUniform2uiv ogladdr
- glAPICALL void glAPIENTRY glUniform2uiv(GLint location, GLsizei count, const GLuint* value);
- glUniform3fv gles
- glAPICALL void glAPIENTRY glUniform3fv(GLint location, GLsizei count, const GLfloat* value);
- glUniform3fvARB ogladdr
- glAPI void APIENTRY glUniform3fvARB(GLint location, GLsizei count, const GLfloat* value);
- glUniform3iv gles
- glAPICALL void glAPIENTRY glUniform3iv(GLint location, GLsizei count, const GLint* value);
- glUniform3ivARB ogladdr
- glAPI void APIENTRY glUniform3ivARB(GLint location, GLsizei count, const GLint* value);
- glUniform3uiv ogladdr
- glAPICALL void glAPIENTRY glUniform3uiv(GLint location, GLsizei count, const GLuint* value);
- glUniform4fv gles
- glAPICALL void glAPIENTRY glUniform4fv(GLint location, GLsizei count, const GLfloat* value);
- glUniform4fvARB ogladdr
- glAPI void APIENTRY glUniform4fvARB(GLint location, GLsizei count, const GLfloat* value);
- glUniform4iv gles
- glAPICALL void glAPIENTRY glUniform4iv(GLint location, GLsizei count, const GLint* value);
- glUniform4ivARB ogladdr
- glAPI void APIENTRY glUniform4ivARB(GLint location, GLsizei count, const GLint* value);
- glUniform4uiv ogladdr
- glAPICALL void glAPIENTRY glUniform4uiv(GLint location, GLsizei count, const GLuint* value);
- glUniformMatrix2fv gles
- glAPICALL void glAPIENTRY glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- glUniformMatrix2fvARB ogladdr
- glAPI void APIENTRY glUniformMatrix2fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- glUniformMatrix2x3fv ogladdr
- glAPICALL void glAPIENTRY glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- glUniformMatrix2x4fv ogladdr
- glAPICALL void glAPIENTRY glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- glUniformMatrix3fv gles
- glAPICALL void glAPIENTRY glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- glUniformMatrix3fvARB ogladdr
- glAPI void APIENTRY glUniformMatrix3fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- glUniformMatrix3x2fv ogladdr
- glAPICALL void glAPIENTRY glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- glUniformMatrix3x4fv ogladdr
- glAPICALL void glAPIENTRY glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- glUniformMatrix4fv gles
- glAPICALL void glAPIENTRY glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- glUniformMatrix4fvARB ogladdr
- glAPI void APIENTRY glUniformMatrix4fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- glUniformMatrix4x2fv ogladdr
- glAPICALL void glAPIENTRY glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- glUniformMatrix4x3fv ogladdr
- glAPICALL void glAPIENTRY glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
- glUnmapBufferARB ogladdr
- glAPI GLboolean APIENTRY glUnmapBufferARB(GLenum target);
- glUseProgram gles&ogladdr
- glAPICALL void glAPIENTRY glUseProgram(GLuint program);
- glUseProgramObjectARB ogladdr
- glAPI void APIENTRY glUseProgramObjectARB(GLhandleARB programObj);
- glVertexAttribPointer gles
- glAPICALL void glAPIENTRY glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* pointer);
- glVertexPointer ogl
- WINzGDIAPI void APIENTRY glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
- glViewport gles&ogl
- glAPICALL void glAPIENTRY glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
- wglChoosePixelFormatARB ogladdr
- MYzABRCALL BOOL WINAPI wglChoosePixelFormatARB(HDC hdc, const int* piAttribIList, const FLOAT* pfAttribFList, UINT nMaxFormats, int* piFormats, UINT* nNumFormats);
- wglCreateContext ogl
- WINzGDIAPI HGLRC WINAPI wglCreateContext(HDC);
- wglCreateContextAttribsARB ogladdr
- MYzABRCALL HGLRC WINAPI wglCreateContextAttribsARB(HDC hDC, HGLRC hShareContext, const int* attribList);
- wglDeleteContext ogl
- WINzGDIAPI BOOL WINAPI wglDeleteContext(HGLRC);
- wglGetCurrentDC ogl
- WINzGDIAPI HDC WINAPI wglGetCurrentDC(VOID);
- wglGetExtensionsStringARB ogladdr
- MYzABRCALL CPCHAR WINAPI wglGetExtensionsStringARB(HDC hdc);
- wglGetProcAddress ogl
- WINzGDIAPI PROC WINAPI wglGetProcAddress(LPCSTR);
- wglMakeCurrent ogl
- WINzGDIAPI BOOL WINAPI wglMakeCurrent(HDC, HGLRC);
- wglSwapIntervalEXT ogladdr
- MYzABRCALL BOOL WINAPI wglSwapIntervalEXT(int interval);
Irrlicht API 分组
\[NV/AMD/INTEL/ATI \leadsto EXT \leadsto ARB \leadsto GL\]
NV - NVIDIA
- glBeginOcclusionQueryNV ogladdr
- glBindProgramNV ogladdr
- glDeleteOcclusionQueriesNV ogladdr
- glDeleteProgramsNV ogladdr
- glEndOcclusionQueryNV ogladdr
- glGenOcclusionQueriesNV ogladdr
- glGenProgramsNV ogladdr
- glGetOcclusionQueryivNV ogladdr
- glGetOcclusionQueryuivNV ogladdr
- glIsOcclusionQueryNV ogladdr
- glLoadProgramNV ogladdr
ATI - ATI Tenchnologies
- glDrawBuffersATI ogladdr
glStencilFuncSeparateATI ogladdr
glStencilOpSeparateATI ogladdr
AMD - Advanced Micro Devices
- glBlendEquationIndexedAMD ogladdr
- glBlendEquationSeparateIndexedAMD ogladdr
- glBlendFuncIndexedAMD ogladdr
- glBlendFuncSeparateIndexedAMD ogladdr
EXT - 通用扩展 Cross-Vendor
glBindFramebufferEXT ogladdr
glBindRenderbufferEXT ogladdr
glBlendEquationEXT ogladdr
glBlendEquationSeparateEXT ogladdr
glBlendFuncSeparateEXT ogladdr
glCheckFramebufferStatusEXT ogladdr
- glColorMaskIndexedEXT ogladdr
glDeleteFramebuffersEXT ogladdr
glDeleteRenderbuffersEXT ogladdr
- glDisableIndexedEXT ogladdr
- glEnableIndexedEXT ogladdr
glFramebufferRenderbufferEXT ogladdr
glFramebufferTexture2DEXT ogladdr
glGenFramebuffersEXT ogladdr
glGenRenderbuffersEXT ogladdr
glGenerateMipmapEXT ogladdr
glGenerateTextureMipmapEXT ogladdr
glGetTextureImageEXT ogladdr
glNamedFramebufferTextureEXT ogladdr
- glProgramParameteriEXT ogladdr
glProvokingVertexEXT ogladdr
glRenderbufferStorageEXT ogladdr
glTextureStorage2DEXT ogladdr
glTextureStorage3DEXT ogladdr
glTextureSubImage2DEXT ogladdr
- wglSwapIntervalEXT ogladdr
ARB - ARB Approved
glActiveTextureARB ogladdr
- glAttachObjectARB ogladdr
- glBeginQueryARB ogladdr
glBindBufferARB ogladdr
- glBindProgramARB ogladdr
- glBlendEquationSeparateiARB ogladdr
- glBlendEquationiARB ogladdr
- glBlendFuncSeparateiARB ogladdr
- glBlendFunciARB ogladdr
glBufferDataARB ogladdr
glBufferSubDataARB ogladdr
- glClientActiveTextureARB ogladdr
glCompileShaderARB ogladdr
- glCreateProgramObjectARB ogladdr
- glCreateShaderObjectARB ogladdr
glDeleteBuffersARB ogladdr
- glDeleteObjectARB ogladdr
- glDeleteProgramsARB ogladdr
- glDeleteQueriesARB ogladdr
- glDrawBuffersARB ogladdr
- glEndQueryARB ogladdr
glGenBuffersARB ogladdr
- glGenProgramsARB ogladdr
- glGenQueriesARB ogladdr
glGetActiveUniformARB ogladdr
- glGetAttachedObjectsARB ogladdr
- glGetBufferParameterivARB ogladdr
- glGetBufferPointervARB ogladdr
- glGetBufferSubDataARB ogladdr
- glGetInfoLogARB ogladdr
- glGetObjectParameterivARB ogladdr
- glGetQueryObjectivARB ogladdr
- glGetQueryObjectuivARB ogladdr
- glGetQueryivARB ogladdr
glGetUniformLocationARB ogladdr
- glIsBufferARB ogladdr
- glIsQueryARB ogladdr
glLinkProgramARB ogladdr
- glMapBufferARB ogladdr
- glPointParameterfARB ogladdr
- glPointParameterfvARB ogladdr
- glProgramLocalParameter4fvARB ogladdr
- glProgramParameteriARB ogladdr
- glProgramStringARB ogladdr
glShaderSourceARB ogladdr
glUniform1fvARB ogladdr
glUniform1ivARB ogladdr
glUniform2fvARB ogladdr
glUniform2ivARB ogladdr
glUniform3fvARB ogladdr
glUniform3ivARB ogladdr
glUniform4fvARB ogladdr
glUniform4ivARB ogladdr
glUniformMatrix2fvARB ogladdr
glUniformMatrix3fvARB ogladdr
glUniformMatrix4fvARB ogladdr
- glUnmapBufferARB ogladdr
- glUseProgramObjectARB ogladdr
- wglChoosePixelFormatARB ogladdr
- wglCreateContextAttribsARB ogladdr
- wglGetExtensionsStringARB ogladdr
OpenGL & ES - 所有平台
- eglBindAPI gles
- eglChooseConfig gles
- eglCreateContext gles
- eglCreateWindowSurface gles
- eglDestroyContext gles
- eglDestroySurface gles
- eglGetConfigAttrib gles
- eglGetConfigs gles
- eglGetDisplay gles
- eglGetError gles
- eglInitialize gles
- eglMakeCurrent gles
- eglSwapBuffers gles
- eglSwapInterval gles
- eglTerminate gles
- glActiveTexture gles&ogladdr
- glAlphaFunc ogl
- glAttachShader gles&ogladdr
- glBindAttribLocation gles
- glBindBuffer gles
- glBindFramebuffer gles&ogladdr
- glBindRenderbuffer ogladdr
- glBindTexture gles&ogl
- glBindTextures ogladdr
- glBlendEquation gles&ogladdr
- glBlendEquationSeparate ogladdr
- glBlendFunc gles&ogl
- glBlendFuncSeparate gles&ogladdr
- glBufferData gles
- glBufferSubData gles
- glCheckFramebufferStatus gles&ogladdr
- glClear gles&ogl
- glClearColor gles&ogl
- glClearDepth ogl
- glClearDepthf gles
- glClearStencil gles&ogl
- glClipPlane ogl
- glColor4ub ogl
- glColorMask gles&ogl
- glColorMaterial ogl
- glColorPointer ogl
- glCompileShader gles&ogladdr
- glCompressedTexImage2D gles&ogladdr
- glCompressedTexSubImage2D gles&ogladdr
- glCopyTexSubImage2D gles&ogl
- glCreateFramebuffers ogladdr
- glCreateProgram gles&ogladdr
- glCreateShader gles&ogladdr
- glCreateTextures ogladdr
- glCullFace gles&ogl
- glDeleteBuffers gles
- glDeleteFramebuffers gles&ogladdr
- glDeleteProgram gles&ogladdr
- glDeleteRenderbuffers ogladdr
- glDeleteShader gles&ogladdr
- glDeleteTextures gles&ogl
- glDepthFunc gles&ogl
- glDepthMask gles&ogl
- glDisable gles&ogl
- glDisableClientState ogl
- glDisableVertexAttribArray gles
- glDrawArrays gles&ogl
- glDrawBuffer ogl
- glDrawElements gles&ogl
- glEnable gles&ogl
- glEnableClientState ogl
- glEnableVertexAttribArray gles
- glFlush gles&ogl
- glFogf ogl
- glFogfv ogl
- glFogi ogl
- glFramebufferRenderbuffer ogladdr
- glFramebufferTexture ogladdr
- glFramebufferTexture2D gles&ogladdr
- glFrontFace gles&ogl
- glGenBuffers gles
- glGenFramebuffers gles&ogladdr
- glGenRenderbuffers ogladdr
- glGenTextures gles&ogl
- glGenerateMipmap gles&ogladdr
- glGenerateTextureMipmap ogladdr
- glGetActiveUniform gles&ogladdr
- glGetAttachedShaders gles&ogladdr
- glGetError gles&ogl
- glGetFloatv gles&ogl
- glGetIntegerv gles&ogl
- glGetProgramInfoLog gles&ogladdr
- glGetProgramiv gles&ogladdr
- glGetShaderInfoLog gles&ogladdr
- glGetShaderiv gles&ogladdr
- glGetString gles&ogl
- glGetTexImage ogl
- glGetTextureImage ogladdr
- glGetUniformLocation gles&ogladdr
- glHint gles&ogl
- glIsEnabled gles&ogl
- glLightModelfv ogl
- glLightModeli ogl
- glLightf ogl
- glLightfv ogl
- glLineWidth gles&ogl
- glLinkProgram gles&ogladdr
- glLoadIdentity ogl
- glLoadMatrixf ogl
- glMaterialf ogl
- glMaterialfv ogl
- glMatrixMode ogl
- glMultMatrixf ogl
- glNamedFramebufferTexture ogladdr
- glNormalPointer ogl
- glPixelStorei gles&ogl
- glPointSize ogl
- glPolygonMode ogl
- glPolygonOffset gles&ogl
- glPopAttrib ogl
- glPopMatrix ogl
- glProvokingVertex ogladdr
- glPushAttrib ogl
- glPushMatrix ogl
- glReadBuffer gles&ogl
- glReadPixels gles&ogl
- glRectf ogl
- glRenderbufferStorage ogladdr
- glScissor gles&ogl
- glShadeModel ogl
- glShaderSource gles&ogladdr
- glStencilFunc gles&ogl
- glStencilFuncSeparate ogladdr
- glStencilMask gles&ogl
- glStencilOp gles&ogl
- glStencilOpSeparate ogladdr
- glTexCoordPointer ogl
- glTexEnvf ogl
- glTexEnvi ogl
- glTexGeni ogl
- glTexImage2D gles&ogl
- glTexParameterf gles&ogl
- glTexParameteri gles&ogl
- glTexStorage2D ogladdr
- glTexStorage3D ogladdr
- glTexSubImage2D gles&ogl
- glTextureParameterf ogladdr
- glTextureParameterfv ogladdr
- glTextureParameteri ogladdr
- glTextureParameteriv ogladdr
- glTextureStorage2D ogladdr
- glTextureStorage3D ogladdr
- glTextureSubImage2D ogladdr
- glTranslatef ogl
- glUniform1fv gles
- glUniform1iv gles
- glUniform1uiv ogladdr
- glUniform2fv gles
- glUniform2iv gles
- glUniform2uiv ogladdr
- glUniform3fv gles
- glUniform3iv gles
- glUniform3uiv ogladdr
- glUniform4fv gles
- glUniform4iv gles
- glUniform4uiv ogladdr
- glUniformMatrix2fv gles
- glUniformMatrix2x3fv ogladdr
- glUniformMatrix2x4fv ogladdr
- glUniformMatrix3fv gles
- glUniformMatrix3x2fv ogladdr
- glUniformMatrix3x4fv ogladdr
- glUniformMatrix4fv gles
- glUniformMatrix4x2fv ogladdr
- glUniformMatrix4x3fv ogladdr
- glUseProgram gles&ogladdr
- glVertexAttribPointer gles
- glVertexPointer ogl
- glViewport gles&ogl
- wglCreateContext ogl
- wglDeleteContext ogl
- wglGetCurrentDC ogl
- wglGetProcAddress ogl
- wglMakeCurrent ogl
参考资料快照