Skip to content

PietarTheWise/fdf

Repository files navigation


Fdf

Wireframe graphics rendering with bresenham line drawing algorithm.

What does it do?How To UseDisclaimer

What does it do?

  • Presents different wireframes as isometric objects.
  • You can zoom in and rotate the objects.
  • Takes in a file as a parameter on the command line.
  • This file determines the size and elevation of the wireframe.
  • You can move forward and backwards into the fractal with your mouse scroll.
  • You can rotate the object by holding the left mouse button and moving the mouse.
  • The arrow keys up and down increase and decrease the elevation.
  • By pressing the key p you can toggle between different perspectives.

Supports larger files as well

How To Use

To clone and run this application, you'll need Git and gcc compiler installed on your computer. Also you need miniLibX graphics library which to my knowledge doesn't work on windows. This has been tested only on MacOs and linux. Run the following commands on the command line:

# Clone this repository
$ git clone https://github.com/PietarTheWise/fdf.git
# Build the program by typing:
$ make
# in command line

#then run:
$ ./fdf maps/42.fdf

# Note: You can run different files, there are plenty of different examples in the /maps folder.
# You can also make your own. Make sure that each row and each column is the same length. For example, take a look at the content of 42.fdf:

0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0 10 10  0  0 10 10  0  0  0 10 10 10 10 10  0  0  0
0  0 10 10  0  0 10 10  0  0  0  0  0  0  0 10 10  0  0
0  0 10 10  0  0 10 10  0  0  0  0  0  0  0 10 10  0  0
0  0 10 10 10 10 10 10  0  0  0  0 10 10 10 10  0  0  0
0  0  0 10 10 10 10 10  0  0  0 10 10  0  0  0  0  0  0
0  0  0  0  0  0 10 10  0  0  0 10 10  0  0  0  0  0  0
0  0  0  0  0  0 10 10  0  0  0 10 10 10 10 10 10  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0

# Each number defines the elevation of the intersection of lines. 

# Happy wireframing.

DISCLAIMER

This is a project from the 42 school, which is a school that utilizes peer to peer learning. We're only given a document that gives us the details of the assignment, therefore each implementation is unique. Each assignment is tested for crashes and other bugs thoroughly by other peers. Apart from some exceptions, existing libraries are banned, these projects utilize our self made version of libc called libft.

About

Isometric wireframe 3D-engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published