A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Type | Purpose | Function(s) / Defines | Core Extension | OGL 3.3 Core | OGL 4.0 Core | OGL 4.1 Core | OGL 4.2 Core | OGL 4.3 Core | OGL 4.4 Core | OGL 4.5 Core | OGL ES 2.0 | OGL ES 3.0 | ||
2 | Matrix stack | glMatrix, glMatrixMode, glLoadIdentity, glLoadMatrix, glPushMatrix, glPopMatrix | R | R | R | R | R | R | R | ||||||
3 | Matrix functions | matrix functions | glRenderMode, glFeedbackBuffer, glPushName | R | R | R | R | R | R | R | |||||
4 | Fixed-func lighting | lighting without shaders | glLight | R | R | R | R | R | R | R | |||||
5 | Fixed-func materials | materials without shaders | glMaterial | R | R | R | R | R | R | R | |||||
6 | Accumulation buffers | accumulation buffers | R | R | R | R | R | R | R | ||||||
7 | Rectangles | rectangles | glRect | R | R | R | R | R | R | R | |||||
8 | Shaded points | rectangles | POINT_SMOOTH | R | R | R | R | R | R | R | |||||
9 | Line styles | rectangles | glLineStipple | R | R | R | R | R | R | R | |||||
10 | Polygon styles | rectangles | glPolygonStipple | R | R | R | R | R | R | R | |||||
11 | Pixel Drawing | rectangles | glDrawPixels | R | R | R | R | R | R | R | |||||
12 | Pixel Copying | pixel copying | R | R | R | R | R | R | R | ||||||
13 | Bitmaps | bitmaps | glBitmap | R | R | R | R | R | R | R | |||||
14 | ~~ | rectangles | glPolygonStipple | R | R | R | R | R | R | R | |||||
15 | Feedback modes | rectangles | glDrawPixels | R | R | R | R | R | R | R | |||||
16 | Display lists | pixel copying | R | R | R | R | R | R | R | ||||||
17 | Attribute stack | bitmaps | glBitmap | R | R | R | R | R | R | R | |||||
18 | Fog | rectangles | glPolygonStipple | R | R | R | R | R | R | R | |||||
19 | rectangles | glDrawPixels | R | R | R | R | R | R | R | ||||||
20 | Interleaved Arrays | pixel copying | R | R | R | R | R | R | R | ||||||
21 | Fixed vertex attribute arrays | bitmaps | glBitmap | R | R | R | R | R | R | R | |||||
22 | Polygon mode | rectangles | glPolygonMode | C | C | C | C | C | C | C | R | R | |||
23 | Pixel Reading | pixel copying | glReadPixels | C | C | C | C | C | C | C | |||||
24 | Automatic mip-maps | automatic mip-maps | glGenerate (MIPMAP) | C | C | C | C | C | C | C | R | R | |||
25 | Viewports | pixel copying | C | C | C | C | C | C | C | ? | ? | ||||
26 | Depth Range | bitmaps | glBitmap | C | C | C | C | C | C | C | ? | ? | |||
27 | Points / Lines | rectangles | glPolygonStipple | C | C | C | C | C | C | C | ? | ? | |||
28 | Textures | rectangles | glDrawPixels | C | C | C | C | C | C | C | ? | ? | |||
29 | Drawing Arrays | pixel copying | C | C | C | C | C | C | C | ? | ? | ||||
30 | Drawing Elements | bitmaps | glBitmap | C | C | C | C | C | C | C | ? | ? | |||
31 | Drawing Range Elems | rectangles | glPolygonStipple | C | C | C | C | C | C | C | ? | ? | |||
32 | Multi-sampling | GL_ARB_multisample | rectangles | glDrawPixels | C | C | C | C | C | C | C | ? | ? | ||
33 | Compressed Textures | pixel copying | C | C | C | C | C | C | C | ? | ? | ||||
34 | Vertex Buffer Objects | GL_ARB_vertex_buffer_object | bitmaps | glBitmap | C | C | C | C | C | C | C | ? | ? | ||
35 | Vertex Attribute Pointers | ARB_vertex_program | rectangles | glPolygonStipple | C | C | C | C | C | C | C | ? | ? | ||
36 | Programmable Shaders | programmable shaders | glCreateShader, glCompileShader | C | C | C | C | C | C | C | ? | ? | |||
37 | Program Objects | program objects | glCreateProgram, glLinkProgram | C | C | C | C | C | C | C | ? | ? | |||
38 | Shader Vertex Attributes | shader vertex attributes | glGetActiveAttrib, glGetAttribLocation | C | C | C | C | C | C | C | ? | ? | |||
39 | Shader Uniforms | shader uniforms | glGetUniformLocation, glUniform | C | C | C | C | C | C | C | ? | ? | |||
40 | Immediate-mode Drawing | immediate mode draw | 3.30.9 | R | R | R | R | R | R | ||||||
41 | basic goraud shading | textureImage | 3.30.8 | R | R | R | R | R | R | ||||||
42 | Fixed vertex shader | basic opengl shading | 3.30.7 | R | R | R | R | R | R | ||||||
43 | GLSL Ver: | 3.30.6 | 4.00.9 | 4.10.6 | 4.20.11 | 4.30.8 | 4.4 | 4.5 | |||||||
44 | Polygon primitive | render of polygons | glBegin ( GL_POLYGONS ) | 3.30.13 | R | R | R | R | R | R | |||||
45 | Quad primitive | material | 3.30.12 | R | R | R | R | R | R | ||||||
46 | Immediate-mode Edge Flags | glColorPointer, glEdgeFlagPointer | 3.30.11 | R | R | R | R | R | R | ||||||
47 | Immediate-mode Vertex Attribs | vertex colors, normals, etc. | glVertex, glColor | 3.30.10 | R | R | R | R | R | R | |||||
48 | 2010 | 2010 | 2012 | ||||||||||||
49 | OpenGL Legacy Pipeline | 118 | |||||||||||||
50 | bgmi | 2010 | 2011 | 2013 | 2014 | 2010 | |||||||||
51 | |||||||||||||||
52 | rectangles | glPolygonStipple | |||||||||||||
53 | OpenGL Buffered Pipeline - Primary | Extension Ref: | rectangles | glDrawPixels | |||||||||||
54 | |||||||||||||||
55 | OpenGL Buffered Pipeline - Additional | ||||||||||||||
56 | Primite Restart Index | primitive restart in VBOs | glPrimitiveRestartIndex | C | C | C | C | C | C | C | ? | ? | |||
57 | Instanced Drawing | draw instanced | glDrawArraysInstanced, glDrawElementsInstanced, glMultiDrawElementsBaseVertex | C | C | C | C | C | C | C | ? | ? | |||
58 | Conditional Rendering | conditional rendering | glBeginConditionalRender | C | C | C | C | C | C | C | ? | ? | |||
59 | Transform Feedback | transform feedback | glBeginTransformFeedback | C | C | C | C | C | C | C | ? | ? | |||
60 | Asynchonous Queries | async queries | glBeginQuery, glEndQuery | C | C | C | C | C | C | C | ? | ? | |||
61 | Scissor testing | scissor testing | glScissor | C | C | C | C | C | C | C | ? | ? | |||
62 | Stencil testing | stencil testing | glStencilFunc | C | C | C | C | C | C | C | ? | ? | |||
63 | Depth testing | depth testing | glDepthFunc | C | C | C | C | C | C | C | ? | ? | |||
64 | Blend functions | blend functions | glBlendFunc | C | C | C | C | C | C | C | ? | ? | |||
65 | |||||||||||||||
66 | |||||||||||||||
67 | OpenGL Extensions | ||||||||||||||
68 | GL_ARB_multisample | 5 | ARB | simple anti-aliasing | glSampleCoverage | N | C | C | C | C | C | C | C | ||
69 | GL_ARB_multitexture | 1 | ARB | texture stages | glActiveTexture | N | C | C | C | C | C | C | C | ||
70 | GL_ARB_texture_border_clamp | 13 | ARB | GL_CLAMP_TO_BORDER - glTextureParameter | N | C | C | C | C | C | C | C | |||
71 | GL_ARB_texture_compression | 12 | ARB | texture compression (vendor specific) | N | C | C | C | C | C | C | C | |||
72 | GL_ARB_texture_cube_map | 7 | cubemap textures | TEXTURE_CUBE_MAP - glTexParameteriv | N | C | C | C | C | C | C | C | |||
73 | GL_ARB_texture_env_add | 6 | ARB | texture addition | Compatibi | N | C | C | C | C | C | C | C | ||
74 | GL_ARB_texture_env_combine | 17 | ARB | texture combine | GL_COMBINE - for GL_TEXTURE_ENV_MODE | N | C | C | C | C | C | C | C | ||
75 | GL_ARB_texture_env_dot3 | 19 | ARB | texture dot op | GL_DOT3 - for GL_TEXTURE_ENV_MODE | N | C | C | C | C | C | C | C | ||
76 | GL_ARB_depth_texture | 22 | ARB | textures storing depth | DEPTH_COMPONENT - for TexImage1D/2D | N | C | C | C | C | C | C | C | ||
77 | GL_ARB_point_parameters | 14 | ARB | point render params | glPointParameter | N | C | C | C | C | C | C | C | ||
78 | GL_ARB_shadow | 23 | ARB | hardware shadows | COMPARE_R_TO_TEXTURE - glTexParameteri | N | C | C | C | C | C | C | C | ||
79 | GL_ARB_texture_env_crossbar | 18 | ARB | N | C | C | C | C | C | C | C | ||||
80 | 21 | ARB | texture bound modes | GL_MIRRORED_REPEAT - glTexParameteri | N | C | C | C | C | C | C | C | |||
81 | GL_EXT_blend_color | 2 | Vendor and EXT | blend RGB images | glBlendFuncSeparate | N | C | C | C | C | C | C | C | ||
82 | GL_EXT_blend_func_separate | 173 | Vendor and EXT | blend RGB images | N | C | C | C | C | C | C | C | |||
83 | GL_EXT_blend_minmax | 37 | Vendor and EXT | blend RGB images | glBlendEquation | N | C | C | C | C | C | C | C | ||
84 | GL_EXT_blend_subtract | 38 | Vendor and EXT | blend RGB images | FUNC_SUBTRACT - glBlendEquation | N | C | C | C | C | C | C | C | ||
85 | GL_ARB_texture_mirrored_repeat | 148 | Vendor and EXT | multiple primitive draw | glMultiDrawArrays | N | C | C | C | C | C | C | C | ||
86 | GL_EXT_stencil_wrap | 176 | Vendor and EXT | ray stencil counting | INCR_WRAP - for glStencilOp | N | C | C | C | C | C | C | C | ||
87 | GL_EXT_texture_lod_bias | 186 | Vendor and EXT | texture LODs | TEXTURE_FILTER_CONTROL - glTexEnv | N | C | C | C | C | C | C | C | ||
88 | GL_NV_blend_square | 194 | Vendor and EXT | N | C | C | C | C | C | C | C | ||||
89 | GL_SGIS_generate_mipmap | 32 | Vendor and EXT | N | C | C | C | C | C | C | C | ||||
90 | GL_ARB_occlusion_query | 29 | ARB | N | C | C | C | C | C | C | C | ||||
91 | GL_ARB_vertex_buffer_object | 28 | ARB | N | C | C | C | C | C | C | C | ||||
92 | GL_EXT_shadow_funcs | 267 | Vendor and EXT | N | C | C | C | C | C | C | C | ||||
93 | GL_ARB_draw_buffers | 37 | ARB | N | C | C | C | C | C | C | C | ||||
94 | GL_ARB_fragment_shader | 32 | ARB | N | C | C | C | C | C | C | C | ||||
95 | GL_ARB_point_sprite | 35 | ARB | N | C | C | C | C | C | C | C | ||||
96 | GL_ARB_shader_objects | 30 | ARB | N | C | C | C | C | C | C | C | ||||
97 | GL_ARB_shading_language_100 | 33 | ARB | N | C | C | C | C | C | C | C | ||||
98 | GL_ARB_texture_non_power_of_two | 34 | ARB | N | C | C | C | C | C | C | C | ||||
99 | GL_ARB_vertex_shader | 31 | ARB | N | C | C | C | C | C | C | C | ||||
100 | GL_ATI_separate_stencil | 289 | Vendor and EXT | N | C | C | C | C | C | C | C |