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