Skip to content

Latest commit

 

History

History
34 lines (28 loc) · 2.39 KB

README.md

File metadata and controls

34 lines (28 loc) · 2.39 KB

FdF | Filsdefer | "wire frame"

A skeletal three-dimensional model in which only lines and vertices are represented.

This C project is about creating a simplified graphic “wireframe” (“fils de fer”) representation of a relief landscape linking various points (x, y, z) via segments. The coordinates of this landscape are stored in a file passed as a parameter to the program. This C program is tagged with my school's "42" user account "aviholai".

MiniLibraryX (MLX) is a 42School graphical library used in the graphics branch projects, such as this one, and is included in the files. For more information regarding MLX and understanding it, I recommend checking out this guide by @harm-smits: 42 Docs: MiniLibX

How to use.

  1. Compile the binary in the repository with command make
  2. Apply a simple text map file as a parameter with ./fdf <name of file>
  3. If the map is viable the graphic window should open, otherwise you should get an error message in the standard output.

    Controls for MAC:
    • Press TAB to toggle projection modes (Parallel Mode, Isometric Mode).
    • Press ESC to quit the program.
    • Press * or / to adjust height peaks scale.
    • Press + or - to zoom in or out.
    • Press , , or to move the map.

    As the program was initially planned for school computer use, the keyboard controls may not be hooked properly to other than MacOS.

fdf_video

To do. | Future capacities.

• Compatibility with different OS (with MiniLibraryX and keyboard controls)
• Automatic scaling the graphical projection's width to the window resolution
• Automatic scaling the peaks (altitude) of the graphical projection to the window resolution
• Scaling the color hue in-between altitudes (coordinates) for better visual representation
• HEX color value parsing in the map coordinate data
• Zoom in feature (keyboard or mouse)
• Movable map plane feature.
• Rotatable map plane feature.
• Tiltable map plane feature.
• Rotation feature (keyboard)
• Etc.