Browse code

Add readme

Robert Cranston authored on 14/10/2022 21:54:22
Showing 1 changed files

1 1
new file mode 100644
... ...
@@ -0,0 +1,28 @@
1
+# [`gltraits`][]
2
+
3
+A [C++11][]/[OpenGL][]>=[1.0][](/[GLM][]) [trait][]s library.
4
+
5
+This library seeks to unify some parts of the OpenGL [API][] to ease [generic
6
+programming][]. It also provides sensible default arguments, [optional][debug]
7
+[check][]s for [version][]/[extension][] support, and optional support for
8
+[OpenGL Mathematics (GLM)][GLM] (which provides [GLSL][]-like types).
9
+
10
+A more philosophical description: it aims to make the implicit symmetries of
11
+the OpenGL API explicit. In the process, some wrinkles in the symmetry are also
12
+brought to light. Therefore, it may be useful for learning and understanding
13
+the OpenGL API (although this use case may be limited due to the (ab)use of C++
14
+language features).
15
+
16
+[`gltraits`]: https://git.rcrnstn.net/rcrnstn/gltraits
17
+[C++11]: https://en.wikipedia.org/wiki/C++11
18
+[OpenGL]: https://en.wikipedia.org/wiki/OpenGL
19
+[1.0]: https://en.wikipedia.org/wiki/OpenGL#Version_history
20
+[GLM]: https://glm.g-truc.net
21
+[trait]: https://en.wikipedia.org/wiki/Trait_(computer_programming)
22
+[API]: https://en.wikipedia.org/wiki/API
23
+[generic programming]: https://en.wikipedia.org/wiki/Generic_programming
24
+[debug]: https://git.rcrnstn.net/rcrnstn/glbase#debug
25
+[check]: https://git.rcrnstn.net/rcrnstn/glbase#check
26
+[version]: https://en.wikipedia.org/wiki/OpenGL#Version_history
27
+[extension]: https://www.khronos.org/opengl/wiki/OpenGL_Extension
28
+[GLSL]: https://www.khronos.org/opengl/wiki/OpenGL_Shading_Language