{"id":19982143,"url":"https://github.com/tvumcc/procedural-terrain","last_synced_at":"2025-05-04T05:32:15.646Z","repository":{"id":162633808,"uuid":"621523506","full_name":"tvumcc/procedural-terrain","owner":"tvumcc","description":"An OpenGL 3.3 and C++ program that generates unique landscapes using Perlin Noise. Overall winner of my school's CS Club Simulation Jam 2023.","archived":true,"fork":false,"pushed_at":"2023-04-12T04:48:27.000Z","size":4543,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T04:22:14.083Z","etag":null,"topics":["cpp","opengl","terrain-generation"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tvumcc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-03-30T20:50:33.000Z","updated_at":"2025-04-02T23:30:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"e992cccf-00ee-4a73-a7a7-887b267f52b9","html_url":"https://github.com/tvumcc/procedural-terrain","commit_stats":null,"previous_names":["tvumcc/procedural-terrain"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tvumcc%2Fprocedural-terrain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tvumcc%2Fprocedural-terrain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tvumcc%2Fprocedural-terrain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tvumcc%2Fprocedural-terrain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tvumcc","download_url":"https://codeload.github.com/tvumcc/procedural-terrain/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252293082,"owners_count":21724960,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cpp","opengl","terrain-generation"],"created_at":"2024-11-13T04:09:21.799Z","updated_at":"2025-05-04T05:32:14.731Z","avatar_url":"https://github.com/tvumcc.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Procedural Terrain Generator\n\nAn OpenGL 3.3 and C++ program that generates unique landscapes using [Perlin Noise](https://en.wikipedia.org/wiki/Perlin_noise).\n\n![preview](assets/preview.png)\n\n## Building\n\nTo build, you must have [CMake](https://cmake.org/) installed.\nStart by cloning the repository and creating a folder named build:\n\n```bash\ngit clone https://github.com/piigle/procedural-terrain.git --recursive\ncd procedural-terrain\nmkdir build\ncd build\n```\n\nIf you are on Linux, you will have to install some dependencies:\n\n```bash\nsudo apt install mesa-utils libglu1-mesa-dev freeglut3-dev mesa-common-dev libglew-dev libglfw3-dev libglm-dev libao-dev libmpg123-dev\n# for X11 I found that I needed to install the following\nsudo apt install libxinerama-dev libxcursor-dev libxi-dev\n```\n\nSelect your generator and build, for Windows I usually use `\"Visual Studio 17 2022\"` or `\"MinGW Makefiles\"`, as for Linux, I use `\"Unix Makfiles\"`.\n\n```bash\ncmake -G \"Unix Makefiles\" .\ncmake --build .\n```\n\nMake sure that you run the executable from the root of the project or else the shaders and assets will fail to load.\n\nContact me if you have any questions or trouble concerning the build process.\n\n## Libraries\n\n- [glfw](https://github.com/glfw/glfw) - for window management and input handling\n- [glad](https://glad.dav1d.de/) - for loading OpenGL functions\n- [glm](https://github.com/g-truc/glm) - for linear algebra\n- [stb_image](https://github.com/nothings/stb/blob/master/stb_image.h) - for image loading\n- [imgui](https://github.com/ocornut/imgui) - for GUI\n- [FastNoiseLite](https://github.com/Auburn/FastNoiseLite) - for the GLSL implementation of Perlin Noise\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftvumcc%2Fprocedural-terrain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftvumcc%2Fprocedural-terrain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftvumcc%2Fprocedural-terrain/lists"}