Skip to content

ApplexX7/FDF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FDF - Wireframe Viewer

Screen Shot 2024-09-07 at 11 03 18 AM

A simple 3D wireframe renderer for 42 School. Renders topographic maps from .fdf files using Bresenham's line algorithm and custom graphics library (MinilibX).

Features

  • 🗺 Parse .fdf map 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)

Installation

Native Build

git clone --recurse-submodules https://github.com/ApplexX7/FDF.git
cd FDF
make all          # Build project
./FDF maps/42.fdf # Run with sample map

Docker Build

make run-docker  # Builds and runs in container automatically

Controls

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

Project Structure

FDF/

├── includes/ - Header files

├── src/ - Source code

│ ├── parsing/ - Map parsing logic

│ ├── rendering/ - Graphics operations

│ └── utils/ - Helper functions

├── maps/ - Sample maps

└── minilibx-linux/ - Graphics library

FDF.mov
PYRA.mov

About

FdF is a simple 3D wireframe viewer made in C with MiniLibX. It reads .fdf map files and displays them using isometric projection, with zoom, move, and rotation controls. A project from 42 focused on basic graphics, projections, and event handling,

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors