https://riptutorial.com/zh-CN/opengl
OpenGL 是由一些充满智慧的人设计的,他们拥有丰富的图形程序设计 API 设计经验。
WGL
WGL(可以发音为 wiggle)代表“Windows-GL”,如“Windows 和 OpenGL 之间的接口” - 来自 Windows API 的一组函数,用于与 OpenGL 通信。WGL 函数具有 wgl 前缀,其标记具有 WGL_ 前缀。
Microsoft 系统支持的默认 OpenGL 版本为 1.1。这是一个非常旧的版本(最近的版本是 4.5)。获取最新版本的方法是更新图形驱动程序,但您的图形卡必须支持这些新版本。
可以在此处找到 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_: 只有 Linux 和 Mac 下可使用(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
参考资料快照