What OpenGL provides
- Provides low level functions to send raw data (buffer of values) on your GPU memory (if available).
-
- - You send your 3D model as buffer of coordinates and faces connectivity.
- - Buffer = contiguous set of values in memory.
- Allows to manipulate your data via shaders
-
- - Shaders = Programs written in GLSL (openGL Shading Language), executed on the GPU (in parallel)
- - Shaders take as input your data, and output a colored image (by default displayed on screen).
- - You code all needed computation (coordinate/camera transformation, illumination) on shaders
- Pro
-
- Extremely fast: Direct communication CPU/GPU; only execute what you have coded.
- Very generic: You compute what you want, not necessarily only graphics.
- Cons
-
- Very low level: You code everything (time consuming, error prone).
- May be tricky to setup (driver compatibility, OpenGL version, manual window handling, etc).