This project aims to teach the basics of 3D graphics project in C, including window management, event handling, colors, textures, etc.
To help us use the graphics of the computer, we use the MiniLibx library, which was developed internally.
For the mandatory part, we must display the maps using the isometric projection (perspective isométrique). For this purpose and to handle bonuses (rotations, translations and zooms), I use the matrices rotation, translation & scale. To display the isometric projection, I just do rotations with corresponding angles (45 degrees on z then 35.264 degrees on x).
make; ./fdf <.fdf file>
- Change Altitudes:
J
,K
- Toggle automatic colors:
C
- Toggle lines between points:
L
- Toggle rotation mode / translation mode:
SPACE
- Toggle isometric / mutiview projection:
P
- Zoom in:
I
/Mouse wheel up
- Zoom out:
O
/Mouse wheel down
- Reset view:
R
- X rotations:
W
,S
- Y rotations:
A
,D
- Z rotations:
Q
,E
- X translations:
A
,D
- Y translations:
W
,S
Predicted time was 60h, I spent 78h on the project (due to aborted techniques such as quaternions).