Skip to content

Commit

Permalink
Added PDF manual
Browse files Browse the repository at this point in the history
  • Loading branch information
Groovounet committed Sep 3, 2018
1 parent fc4350f commit 416fa93
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 8 deletions.
2 changes: 2 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
{
}
Binary file added doc/manual.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion glm/ext/matrix_clip_space.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
/// @defgroup ext_matrix_clip_space GLM_EXT_matrix_clip_space
/// @ingroup ext
///
/// Defines functions that generate common transformation matrices.
/// Defines functions that generate clip space transformation matrices.
///
/// The matrices generated by this extension use standard OpenGL fixed-function
/// conventions. For example, the lookAt function generates a transform from world
Expand Down
32 changes: 28 additions & 4 deletions manual.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
![Alt](/doc/manual/logo-mini.png "GLM Logo")
![Alt](./doc/manual/logo-mini.png "GLM Logo")

# GLM 0.9.9 Manual

![Alt](/doc/manual/g-truc.png "G-Truc Logo")
![Alt](./doc/manual/g-truc.png "G-Truc Logo")

---
<div style="page-break-after: always;"> </div>

## Table of Contents
+ [0. Licenses](#section0)
+ [1. Getting started](#section1)
Expand Down Expand Up @@ -103,6 +105,8 @@
+ [10.7. Acknowledgements](#section10_7)

---
<div style="page-break-after: always;"> </div>

## <a name="section0"></a> Licenses

### The Happy Bunny License (Modified MIT License)
Expand Down Expand Up @@ -131,7 +135,7 @@ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

![](https://github.com/g-truc/glm/blob/manual/doc/manual/frontpage1.png)
![](./doc/manual/frontpage1.png)

### The MIT License

Expand All @@ -156,14 +160,16 @@ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

![](https://github.com/g-truc/glm/blob/manual/doc/manual/frontpage2.png)
![](./doc/manual/frontpage2.png)

---
<div style="page-break-after: always;"> </div>

## <a name="section1"></a> 1. Getting started
### <a name="section1_1"></a> 1.1. Using global headers

GLM is a header-only library, and thus does not need to be compiled. We can use GLM's implementation of GLSL's mathematics functionality by including the `<glm/glm.hpp>` header:

```cpp
#include <glm/glm.hpp>
```
Expand Down Expand Up @@ -266,6 +272,8 @@ glm::mat4 transform(glm::vec2 const& Orientation, glm::vec3 const& Translate, gl
GLM does not depend on external libraries or headers such as `<GL/gl.h>`, [`<GL/glcorearb.h>`](http://www.opengl.org/registry/api/GL/glcorearb.h), `<GLES3/gl3.h>`, `<GL/glu.h>`, or `<windows.h>`.

---
<div style="page-break-after: always;"> </div>

## <a name="section2"></a> 2. Preprocessor configurations

### <a name="section2_1"></a> 2.1. GLM\_FORCE\_MESSAGES: Platform auto detection and default configuration
Expand Down Expand Up @@ -689,6 +697,8 @@ int average(int const A, int const B)
```

---
<div style="page-break-after: always;"> </div>

## <a name="section3"></a> 3. Stable extensions

### <a name="section3_1"></a> 3.1. Scalar types
Expand Down Expand Up @@ -1336,6 +1346,8 @@ This extension exposes functions to transform objects.
Include `<glm/ext/quaternion_transform.hpp>` to use these features.

---
<div style="page-break-after: always;"> </div>

## <a name="section4"></a> 4. Recommended extensions

GLM extends the core GLSL feature set with extensions. These extensions include: quaternion, transformation, spline, matrix inverse, color spaces, etc.
Expand Down Expand Up @@ -1578,6 +1590,8 @@ Add \*vec1 types.
`<glm/gtc/vec1.hpp>` need to be included to use these features.

---
<div style="page-break-after: always;"> </div>

## <a name="section5"></a> 5. OpenGL interoperability

### <a name="section5_1"></a> 5.1. GLM replacements for deprecated OpenGL functions
Expand Down Expand Up @@ -1724,6 +1738,8 @@ glm::dvec3 unProject(glm::dvec3 const& win, glm::dmat4 const& model, glm::dmat4
From `GLM_GTC_matrix_transform` extension: `<glm/gtc/matrix_transform.hpp>`

---
<div style="page-break-after: always;"> </div>

## <a name="section6"></a> 6. Known issues

This section reports GLSL features that GLM can't accurately emulate due to language restrictions.
Expand Down Expand Up @@ -1763,6 +1779,8 @@ ivec3 foo(const vec4 & v)
```
---
<div style="page-break-after: always;"> </div>
## <a name="section7"></a> 7. FAQ
### <a name="section7_1"></a> 7.1 Why GLM follows GLSL specification and conventions?
Expand Down Expand Up @@ -1835,6 +1853,8 @@ GLM has some C++ <a href="http://en.cppreference.com/w/cpp/language/constexpr">c
Unfortunately, GCC and Clang doesn't support SIMD instrinsics as constant expressions. To allow constant expressions on all vectors and matrices types, define `GLM_FORCE_PURE` before including GLM headers.
---
<div style="page-break-after: always;"> </div>
## <a name="section8"></a> 8. Code samples
This series of samples only shows various GLM features without consideration of any sort.
Expand Down Expand Up @@ -1969,6 +1989,8 @@ glm::vec3 lighting(intersection const& Intersection, material const& Material, l
```
---
<div style="page-break-after: always;"> </div>
## <a name="section9"></a> 9. Contributing to GLM
### <a name="section9_1"></a> 9.1. Submitting bug reports
Expand Down Expand Up @@ -2184,6 +2206,8 @@ namespace detail // glm::detail namespace is for implementation detail
```

---
<div style="page-break-after: always;"> </div>

## <a name="section10"></a> 10. References

### <a name="section10_1"></a> 10.1. OpenGL specifications
Expand Down
8 changes: 5 additions & 3 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,9 @@ Thanks for contributing to the project by [submitting issues](https://github.com
#include <glm/vec3.hpp> // glm::vec3
#include <glm/vec4.hpp> // glm::vec4
#include <glm/mat4x4.hpp> // glm::mat4
#include <glm/gtc/matrix_transform.hpp> // glm::translate, glm::rotate, glm::scale, glm::perspective
#include <glm/gtc/constants.hpp> // glm::pi
#include <glm/ext/matrix_transform.hpp> // glm::translate, glm::rotate, glm::scale
#include <glm/ext/matrix_clip_space.hpp> // glm::perspective
#include <glm/ext/constants.hpp> // glm::pi

glm::mat4 camera(float Translate, glm::vec2 const& Rotate)
{
Expand All @@ -51,14 +52,15 @@ glm::mat4 camera(float Translate, glm::vec2 const& Rotate)
## Release notes
### [GLM 0.9.9.1](https://github.com/g-truc/glm/commits/master) - 2018-0X-XX
### [GLM 0.9.9.1](https://github.com/g-truc/glm/releases/tag/0.9.9.1) - 2018-09-03
#### Features:
- Added bitfieldDeinterleave to GTC_bitfield
- Added missing equal and notEqual with epsilon for quaternion types to GTC_quaternion
- Added EXT_matrix_relational: equal and notEqual with epsilon for matrix types
- Added missing aligned matrix types to GTC_type_aligned
- Added C++17 detection
- Added Visual C++ language standard version detection
- Added PDF manual build from markdown
#### Improvements:
- Added a section to the manual for contributing to GLM
Expand Down

0 comments on commit 416fa93

Please sign in to comment.