diff --git a/README.md b/README.md index c9407b8..0c2c3f0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # FDF - fil de fer -**this is an exercize to discover 3D drawing, keyboard events, and pixel images manipulation** +### this is an exercise to discover 3D drawing, keyboard events, and pixel images manipulation it reads a map, which is a simple text file like this : @@ -12,7 +12,7 @@ it reads a map, which is a simple text file like this : 0 0 0 0 0 ``` -and it convert it into a rectangular net, like a landscape with the height equal to the numbers : +and it converts it into a rectangular net, like a landscape with the height equal to the numbers : ![example 3D of map before modification](assets/fdf_demo_1.jpg) @@ -20,7 +20,17 @@ we can modify the map to change the 3D drawing : ![example 3D of map after modifications](assets/fdf_demo_2.jpg) -then it listen to keyboards events to transform the 3D, like turning around, zooming... : +### it is based on a library called [minilibx](https://github.com/42Paris/minilibx-linux), which is like a simplified version of X11 + +some of the difficulties of this program : + +- finding the equations to transform a 2D drawing into a perspective +- drawing a line between two points +- bits manipulation for colors +- organization of the code to take care of all the events and transformations +- building images instead of asking the minilibx library to draw each pixel one by one + +it can listen to keyboards events to transform the 3D, like turning around, zooming... : **zoom :**