OpenGL-JIN/README.md
Teo-CD 4a5b0f5829 Added camera!
- Can be translated locally or moved to a point in the world
 - Rotates locally around local x- and z-axis and around global y-axis.

Added key checks to test camera movement.

Added Quaternions (Inherits from CoordinatesVector<double,4>) with a view to handling the camera orientation.

Added equality operators for CoordinatesVectors.

Removed slow `glutGet()` calls.
Added custom reshape callback as we now store the window parameters to avoid some `glutGet()` calls.

Renamed `KeyStateManager` to `InputStatus` as it handles more than key states now.

Mouse movement callback now captures the cursor, handles its re-centering and when the cursor enters the window far away from its last position.

TODO : Consider limiting rotations for the camera (Prevents flipping the head around)
2019-10-28 23:45:44 +01:00

27 lines
No EOL
857 B
Markdown

# OpenGL course
The goal of the course is to introduce us to the OpenGL render pipeline and how to use the library.
The code here was, in part, inspired by the code which was given as part of the course but could not run elsewhere than Windows.
It is aimed to replace it and serve as a base for my own project as part of the course.
As this project evolves I am thinking more and more about making it a "complete" minimalist game-engine if I have the time.
## TODOs
- [x] Camera movement
- [ ] Entities
- [x] Quaternion computations? ~~Maybe use OpenGLMathematics~~ Ended up doing it from scratch.
### Possible expansions
- [ ] Loading other file types
- [ ] Asset manager
- [ ] Detect key press' edges ?
- [ ] Switch from GLUT to GLFW
## Dependencies
The following libraries must be installed and findable by CMake:
- OpenGL
- Freeglut 3