Commit graph

24 commits

Author SHA1 Message Date
89a627695c Project now buildable without Visual Studio on windows
VCPKG_ROOT environment variable needs to be set.
I had an issue with dumpbin not being found. I had to add it to my path as well.
2019-11-01 18:22:43 +01:00
2bfb8c2ad2 Cleaned some includes
Replace glu include by glut in order to compile on Windows
2019-10-29 18:20:36 +01:00
459ad7e6c3 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
b8036a1c36 Added missing return for Scalar multiplication.
Added Vec3d typedef (Useful later)
Removed debug printing
2019-10-28 21:33:25 +01:00
39c9e9e6f1 Added cross and dot products
Fixed T initializers
Constified functions that could be marked const.
2019-10-22 01:11:01 +02:00
0a4c445942 Fixed useless copying of vectors during model.draw(), now references.
Fixed copy constructor of Vec3 (Copy-pasting is bad)
Now exits on escape
2019-10-19 04:24:08 +02:00
ae8c036e0e Specified copy constructor for Vec2 and Vec3 to change the x,y and z references and not keep references to the coordinates of the original object.
Fixed the SFINAE not triggering on normalize() because there was no template substitution.
2019-10-19 00:56:56 +02:00
11b553ab6e Added magnitude and normalization
Refactored  `types.h` to `Vectors.h`
2019-10-14 22:36:14 +02:00
5e89dea0cf Added mouse movement and click support 2019-10-14 21:48:49 +02:00
d343fdceec Refactored specialized templates to avoid duplicates 2019-10-14 21:34:14 +02:00
2010f078bc Added some operators to the vector classes 2019-10-14 18:46:32 +02:00
a687887e5a Added missing display callback
Added compiler warnings for MSVC and GNU GCC
2019-10-12 15:01:38 +02:00
5e49d50c77 Refactored custom Vectors to have the number of coordinates as template and use an array to store coordinates 2019-10-07 20:40:48 +02:00
d89cecefea Added README 2019-10-07 19:00:37 +02:00
3639b48273 First implementation of input control with KeyStateManager
To try to do: Manage edges
2019-10-07 18:46:35 +02:00
236fd2b8d6 Minor fixes to include paths and CMakeLists
Removed draw call from model constructor with filename
2019-10-06 20:12:53 +02:00
6dc94de9f8 Added texture loading and displaying for 3D models 2019-09-30 19:20:10 +02:00
8275ae3109 Inverted Red and Blue channels for TGA loading 2019-09-30 19:19:44 +02:00
9e1b72476c Loading of a OFF ASCII file
Only supports triangles
Not textured yet
Supports scaling and rotation of the model
2019-09-30 16:55:45 +02:00
82f359b656 Added loading of a TGA mask image to generate alpha canal 2019-09-25 13:02:24 +02:00
ad71110cdb Fixed loadable TGA color formats 2019-09-25 01:05:29 +02:00
2fdbf21e28 TGA and RGB image loading 2019-09-25 00:36:57 +02:00
bc4f402580 Moved display functions to other file 2019-09-24 11:34:40 +02:00
88e548d058 Base program with rotating pyramids 2019-09-24 09:34:53 +02:00