f8d39c48a0
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
442020f271
Cleaned some includes
...
Replace glu include by glut in order to compile on Windows
2019-10-29 18:20:36 +01:00
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
e79f88bb9b
Added missing return for Scalar multiplication.
...
Added Vec3d typedef (Useful later)
Removed debug printing
2019-10-28 21:33:25 +01:00
f9dc00712d
Added cross and dot products
...
Fixed T initializers
Constified functions that could be marked const.
2019-10-22 01:11:01 +02:00
18bad8389a
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
8cdcc9750b
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
4da6167836
Added magnitude and normalization
...
Refactored `types.h` to `Vectors.h`
2019-10-14 22:36:14 +02:00
52acb4044c
Added mouse movement and click support
2019-10-14 21:48:49 +02:00
5c90d15869
Refactored specialized templates to avoid duplicates
2019-10-14 21:34:14 +02:00
bb674cdbb6
Added some operators to the vector classes
2019-10-14 18:46:32 +02:00
38cc784ec8
Added missing display callback
...
Added compiler warnings for MSVC and GNU GCC
2019-10-12 15:01:38 +02:00
90f294e0cc
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
89874bae6a
Added README
2019-10-07 19:00:37 +02:00
1aff9c9b8f
First implementation of input control with KeyStateManager
...
To try to do: Manage edges
2019-10-07 18:46:35 +02:00
0fea63c566
Minor fixes to include paths and CMakeLists
...
Removed draw call from model constructor with filename
2019-10-06 20:12:53 +02:00
4050410039
Added texture loading and displaying for 3D models
2019-09-30 19:20:10 +02:00
01ad1a2317
Inverted Red and Blue channels for TGA loading
2019-09-30 19:19:44 +02:00
94bc1228f1
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
db0bd97580
Added loading of a TGA mask image to generate alpha canal
2019-09-25 13:02:24 +02:00
5e6b953822
Fixed loadable TGA color formats
2019-09-25 01:05:29 +02:00
e83cdba55b
TGA and RGB image loading
2019-09-25 00:36:57 +02:00
ff59df8e28
Moved display functions to other file
2019-09-24 11:34:40 +02:00
472f280108
Base program with rotating pyramids
2019-09-24 09:34:53 +02:00