summaryrefslogtreecommitdiff
path: root/src/gl/README
blob: 9e7aed4e6574d2a90f09a947ddd621760a08e718 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
This directory defines an idiomatic C++ interface to parts of OpenGL.

This library requires OpenGL 3.2 with the following extensions:
  - ARB_texture_storage (or OpenGL >=4.2)
  - ARB_direct_state_access (or OpenGL >=4.5)

OpenGL is an inherently thread-hostile interface (it uses thread-local state).
By default, this library will throw if it detects it is being used in a
thread-unsafe way. However, this checking does carry a performance cost, so
defining GLPLANET_DISABLE_GL_THREAD_SAFETY_CHECKS disables these checks.

By default, this library throws OpenGL errors as soon as they occur. This makes
debugging easier, since it associates errors more closely with the operations to
which they correspond. However, this bookkeeping carries a performance cost;
defining GLPLANET_DISABLE_AGGRESSIVE_ERROR_CHECKING will reduce it to the
absolute minimum required for correctness.