-------------------------------------
   OpenGL wrapper (  )
-------------------------------------
 1.0

I.   ?

 ,  OpenGL API  Microsoft Direct3D 9.0c.     -     .          OpenGL-.

II.    ?

1)    (    ),      OpenGL,  Direct3D .     OpenGL-   .
2)    OpenGL-  Direct3D ,   ,    -       .  , ,      ,       ,     DLL.
3)  .    ,  OpenGL-   "" API   " "  . =)

III.   

1)       setup.reg
2)   opengl32.dll      
3)  
4)      OpenGL-,   opengl32.dll    

:

1)        ,  ,     .     ,   Steam -    - Valve Anti-Cheat.
2)   ,  OpenGL,   Direct3D.     , ,      " " - "" - "" - "  ".

III.     

Quake 2 (  OpenGL)
Half-Life (  OpenGL;     Direct3D-)
Xash
Quake 3
Serious Sam: First Encounter*
Serious Sam: Second Encounter* (  OpenGL;     Direct3D-)
Doom 3**
GLQuake***
Extrasensoric
Tux Racer
Return to Castle Wolfenstein
    ...

* -        ,       
** -    2D - , PDA  ..     ,    .
*** -   Z-trick (,    gl_ztrick "0").

IV.  

 - 
- - 
- - 
Begin/End - 
  -  (*)
  - 
Culling - 
Clip planes - 
 -  (**)
 - 
  - 
 - 
 - 
  - 
  -  (***)
  - 
  - 
 - 
 - 
  - 
  - 
 - 
    - 
  - 
  -  (****)
  - 
  - 
 ReadBuffer/DrawBuffer - 
 - 
 - 
 (scissor) - 
Polygon Mode -  (*****)
Polygon Offset -  (*****)
   - ******
  - 
wglUseFontBitmaps/wglUseFontOutlines - 
 -   *******

* -    glCopyTex(Sub)Image.
** -       .
*** -      RGB  RGBA.
**** -       .
***** -     .
****** -       .  SSE,   ( ,  "UseSSE").
******* -  "MultiSample".  , ,  8.           .

V.  

GL_ARB_multitexture
GL_ARB_texture_border_clamp
GL_ARB_texture_cube_map
GL_ARB_texture_env_add
GL_ARB_texture_env_combine
GL_ARB_texture_env_dot3*
GL_ARB_texture_mirrored_repeat
GL_ARB_texture_non_power_of_two
GL_ARB_transpose_matrix
GL_ATI_texture_mirror_once
GL_EXT_abgr
GL_EXT_bgra
GL_EXT_blend_color
GL_EXT_blend_minmax
GL_EXT_blend_subtract
GL_EXT_compiled_vertex_array
GL_EXT_draw_range_elements
GL_EXT_multi_draw_arrays
GL_EXT_fog_coord
GL_EXT_packed_pixels
GL_EXT_secondary_color
GL_EXT_texture3D
GL_EXT_texture_cube_map
GL_EXT_texture_env_add
GL_EXT_texture_env_combine
GL_EXT_texture_env_dot3*
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_lod
GL_EXT_texture_lod_bias
GL_EXT_texture_object
GL_EXT_stencil_two_side
GL_EXT_stencil_wrap
GL_IBM_texture_mirrored_repeat
GL_NV_blend_square
GL_NV_texgen_reflection**
GL_SGIS_multitexture***
GL_SUN_multi_draw_arrays
WGL_EXT_swap_control

* -   GL_DOT3_RGBA; GL_DOT3_RGB   GL_DOT3_RGBA.
** -       .  SSE,   ( ,  "UseSSE").
*** -   glSelectTexture, glMTexCoord2f  glMTexCoord2fv (     Quake2).

VI. Disclaimer

,  :
       /  ,          .      "WINDOWS/System32"!
             .                 .

Copyright (C) XaeroX
Chain Studios, 2011