summaryrefslogtreecommitdiff
path: root/src/gl/README
diff options
context:
space:
mode:
authorGravatar Benjamin Barenblat <bbarenblat@gmail.com>2022-01-17 23:12:32 -0500
committerGravatar Benjamin Barenblat <bbarenblat@gmail.com>2022-01-30 15:55:27 -0500
commitd0e18bdb7924c71cdca8dd983711171d87ef28be (patch)
tree6be11aae0b7c8874e6507b75b4ef26d1353952c7 /src/gl/README
glplanet, an OpenGL-based planetary rendererHEADmain
glplanet draws Earth like it currently appears from space, putting nighttime areas in shadow and daytime areas in light. It’s modeled after Xplanet (http://xplanet.sourceforge.net/), but whereas Xplanet is entirely a CPU-resident program, glplanet draws using OpenGL. It’s thus much less resource-intensive, particularly when using high-resolution textures.
Diffstat (limited to 'src/gl/README')
-rw-r--r--src/gl/README16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/gl/README b/src/gl/README
new file mode 100644
index 0000000..9e7aed4
--- /dev/null
+++ b/src/gl/README
@@ -0,0 +1,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.