A simple 3D wireframe renderer for 42 School. Renders topographic maps from .fdf files using Bresenham's line algorithm and custom graphics library (MinilibX).
- 🗺 Parse
.fdfmap files with elevation and color data - 🎨 Height-based color gradients and custom colors
- 🕹 Interactive controls:
- Rotation (X/Y/Z axes)
- Zoom in/out
- Translation
- Projection toggle (Isometric/Parallel)
- Height exaggeration
- 📊 Heads-up display with project information
- 🖥 Cross-platform support (Linux/macOS)
git clone --recurse-submodules https://github.com/ApplexX7/FDF.git
cd FDF
make all # Build project
./FDF maps/42.fdf # Run with sample mapmake run-docker # Builds and runs in container automatically
Key Action
WASD Move map
Q/E Z-axis rotation
Arrow Keys X/Y-axis rotation
+/- Zoom in/out
I/P Toggle projection mode
C Cycle color modes
R Reset view
↑/↓ Adjust vertical scaling
ESC Quit program
FDF/
├── includes/ - Header files
├── src/ - Source code
│ ├── parsing/ - Map parsing logic
│ ├── rendering/ - Graphics operations
│ └── utils/ - Helper functions
├── maps/ - Sample maps
└── minilibx-linux/ - Graphics library