{"id":21285353,"url":"https://github.com/izenynn/fdf","last_synced_at":"2026-04-18T07:32:31.712Z","repository":{"id":134167839,"uuid":"419110702","full_name":"izenynn/fdf","owner":"izenynn","description":"42 Cursus - FdF: Wireframe rasterizer.","archived":false,"fork":false,"pushed_at":"2022-02-21T21:15:42.000Z","size":8365,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-08T18:03:20.472Z","etag":null,"topics":["42","42born2code","c","fdf","fdf-42","graphics","linux","macos","minilibx","wireframe"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/izenynn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-19T22:35:09.000Z","updated_at":"2024-03-21T08:29:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"c32669c2-ea57-4818-bb8c-0bcfb15e928e","html_url":"https://github.com/izenynn/fdf","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/izenynn/fdf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izenynn%2Ffdf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izenynn%2Ffdf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izenynn%2Ffdf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izenynn%2Ffdf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/izenynn","download_url":"https://codeload.github.com/izenynn/fdf/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izenynn%2Ffdf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31961183,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["42","42born2code","c","fdf","fdf-42","graphics","linux","macos","minilibx","wireframe"],"created_at":"2024-11-21T11:19:55.910Z","updated_at":"2026-04-18T07:32:31.683Z","avatar_url":"https://github.com/izenynn.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fdf\n\n## Info\n\nWireframe rasterizer.\n\n- Status: finished\n- Result: 125%\n- Observations: you can zoom, translate (move) and rotate the wireframe :D\n\n# How to use\n\n## Clone repo and submodules\n\n```sh\ngit clone --recurse-submodules https://github.com/izenynn/fdf.git\n```\n\n## Linux extra steps\n\n- If you are using Linux, firts you will need to install a few dependencies\n\n```sh\nsudo apt-get update \u0026\u0026 sudo apt-get install xorg libxext-dev zlib1g-dev libbsd-dev\n```\n\n- Also, give execution permissions to the file `./lib/mlx_linux/configure`\n\n```sh\nchmod +x ./lib/mlx_linux/configure\n```\n\n## Change window resolution\n\nOpen the `Makefile`, go to line 40 and change WIN_H value to you desire windows height, and WIN_W value to the window width :)\n\n- For Full HD example:\n\n```make\nCCFLAGS += -D WIN_H=1080 -D WIN_W=1920\n```\n\n## Change color palette\n\nA custom palette will be aplied when no colors are present on the map, the color will depend on the z axis, to change this palette, uncomment line 57 - 61 in the `Makefile` and change the color values, example:\n\n```make\nDCOLORS =   -D COLOR_1=0x00a0b0     \\\n            -D COLOR_2=0x4f372d     \\\n            -D COLOR_3=0xcc2a36     \\\n            -D COLOR_4=0xeb6841     \\\n            -D COLOR_5=0xedc951\n```\n\n## Compile\n\n- Run `make` (make rules: `all`, `clean`, `fclean` and `re`)\n\n```sh\nmake all clean\n```\n\n- Run `./fdf` with a map as an argument (test maps on the `test_maps` folder)\n\n```sh\n./fdf ./test_map/42.fdf\n```\n\n## If the program is closing instantly\n\nI do not know for sure if this bug is related with minilibx, linux, or wsl.\n\nThis is because of ESC key ghosting. to fix this comment the lines that close the program when ESC key is pressed.\n\nGo to `src/mlx_hook.c` and comment line 25 and 26:\n\n```c\n//if (keycode == KEY_ESC)\n//\tclose_win(vars);\n```\n\nYou will stil be able to exit either closing the window or by pressing CTRL + C on the terminal.\n\n## MAC OS alternative version\n\nIf you have any issues on MAC OS, an alternative minilibx is included in the repo, just uncomment the lines 108 and 109, and comment lines 111 and 112 of the `Makefile` :)\n\n- Before\n\n```make\nifeq ($(UNAME_S),Darwin)\n\tCFLAGS += -D OSX\n#\t########## SHARED VARS       ##########\n\tCCFLAGS += -framework OpenGL -framework AppKit\n\tLDLIBS = -lft -lmlx\n#\t########## mlx_mms           ##########\n#\tLMLX_NAME = $(LMLX_NAME_MMS)\n#\tLMLX_DIR = $(LMLX_DIR_MMS)\n#\t########## mlx_macos_sierra  ##########\n\tLMLX_NAME = $(LMLX_NAME_MACOS_SIERRA)\n\tLMLX_DIR = $(LMLX_DIR_MACOS_SIERRA)\nendif\n```\n\n- After\n\n```make\nifeq ($(UNAME_S),Darwin)\n\tCFLAGS += -D OSX\n#\t########## SHARED VARS       ##########\n\tCCFLAGS += -framework OpenGL -framework AppKit\n\tLDLIBS = -lft -lmlx\n#\t########## mlx_mms           ##########\n\tLMLX_NAME = $(LMLX_NAME_MMS)\n\tLMLX_DIR = $(LMLX_DIR_MMS)\n#\t########## mlx_macos_sierra  ##########\n#\tLMLX_NAME = $(LMLX_NAME_MACOS_SIERRA)\n#\tLMLX_DIR = $(LMLX_DIR_MACOS_SIERRA)\nendif\n```\n\n## Screenshots\n\n![map elem2.fdf screenshot](https://github.com/izenynn/fdf/blob/main/screenshots/01-elem2.png)\n\n![map t2.fdf screenshot](https://github.com/izenynn/fdf/blob/main/screenshots/02-t2.png)\n\n![map elem-col.fdf screenshot](https://github.com/izenynn/fdf/blob/main/screenshots/03-elem-col.png)\n\n![map julia.fdf screenshot](https://github.com/izenynn/fdf/blob/main/screenshots/04-julia.png)\n\n![map elem-fract.fdf screenshot](https://github.com/izenynn/fdf/blob/main/screenshots/05-elem-fract.png)\n\n# Useful links\n\n### Minilibx documentation:\n\n- [documentation](https://qst0.github.io/ft_libgfx/man_mlx.html) (by [qst0](https://github.com/qst0))\n\n- [documentation and guide](https://harm-smits.github.io/42docs/libs/minilibx/getting_started.html) (by [harm-smits](https://github.com/harm-smits))\n\n- [minilibx images guide](https://gontjarow.github.io/MiniLibX/mlx-tutorial-create-image.html) (by [Gontjarow](https://github.com/Gontjarow))\n\n- [minilibx images examples](https://github.com/keuhdall/images_example) (by [keuhdall](https://github.com/keuhdall))\n\n- [fdf mini wiki](https://github.com/VBrazhnik/FdF/wiki) (by [VBrazhnik](https://github.com/VBrazhnik/FdF/wiki))\n\n### Minilibx for linux:\n\n- [minilibx for linux](https://github.com/42Paris/minilibx-linux)\n\n#\n[![forthebadge](https://forthebadge.com/images/badges/made-with-c.svg)](https://forthebadge.com)\n[![forthebadge](https://forthebadge.com/images/badges/you-didnt-ask-for-this.svg)](https://forthebadge.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fizenynn%2Ffdf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fizenynn%2Ffdf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fizenynn%2Ffdf/lists"}