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
|