{"id":15002151,"url":"https://github.com/kurtkuehnert/bevy_terrain","last_synced_at":"2025-04-12T23:30:18.596Z","repository":{"id":41289751,"uuid":"464461092","full_name":"kurtkuehnert/bevy_terrain","owner":"kurtkuehnert","description":"A terrain rendering plugin for the bevy game engine.","archived":false,"fork":false,"pushed_at":"2025-04-02T20:00:12.000Z","size":1528,"stargazers_count":239,"open_issues_count":7,"forks_count":26,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-04-04T03:07:38.839Z","etag":null,"topics":["bevy","bevy-plugin","graphics","rust","terrain-rendering"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kurtkuehnert.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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":"2022-02-28T11:48:26.000Z","updated_at":"2025-04-03T17:19:01.000Z","dependencies_parsed_at":"2023-11-11T09:31:16.694Z","dependency_job_id":"b57f2563-a854-450a-a0ff-31e1d630de6a","html_url":"https://github.com/kurtkuehnert/bevy_terrain","commit_stats":{"total_commits":289,"total_committers":4,"mean_commits":72.25,"dds":0.1384083044982699,"last_synced_commit":"ec300f0d65e5a78b870bb4d410ea7312e4003186"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kurtkuehnert%2Fbevy_terrain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kurtkuehnert%2Fbevy_terrain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kurtkuehnert%2Fbevy_terrain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kurtkuehnert%2Fbevy_terrain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kurtkuehnert","download_url":"https://codeload.github.com/kurtkuehnert/bevy_terrain/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248647249,"owners_count":21139081,"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":["bevy","bevy-plugin","graphics","rust","terrain-rendering"],"created_at":"2024-09-24T18:33:58.445Z","updated_at":"2025-04-12T23:30:18.576Z","avatar_url":"https://github.com/kurtkuehnert.png","language":"Rust","funding_links":[],"categories":["Assets"],"sub_categories":[],"readme":"# Bevy Terrain\n\n![GitHub](https://img.shields.io/github/license/Ku95/bevy_terrain)\n![Crates.io](https://img.shields.io/crates/v/bevy_terrain)\n![docs.rs](https://img.shields.io/docsrs/bevy_terrain)\n![Discord](https://img.shields.io/discord/999221999517843456?label=discord)\n\nBevy Terrain is a plugin for rendering terrains with the Bevy game engine.\n\n![](https://user-images.githubusercontent.com/51823519/202845032-0537e929-b13c-410b-8072-4c5b5df9830d.png)\n(Data Source: Federal Office of Topography, [©swisstopo](https://www.swisstopo.admin.ch/en/home.html))\n\n**Warning:** This plugin is still in early development, so expect the API to change and possibly break you existing\ncode.\n\nBevy terrain was developed as part of my [bachelor thesis](https://github.com/kurtkuehnert/terrain_renderer) on the\ntopic of large-scale terrain rendering.\nNow that this project is finished I am planning on adding more features related to game development and rendering\nvirtual worlds.\nIf you would like to help me build an extensive open-source terrain rendering library for the Bevy game engine, feel\nfree to contribute to the project.\nAlso, join the Bevy Terrain [Discord server](https://discord.gg/7mtZWEpA82) for help, feedback, or to discuss feature\nideas.\n\n## Examples\n\nCurrently, there are two examples.\n\nThe basic one showcases the different debug views of the terrain. See controls down below.\n\nThe advanced one showcases how to use the Bevy material system for texturing,\nas well as how to add additional terrain attachments.\nUse the `A` Key to toggle between the custom material and the albedo attachment.\n\nBefore running the examples you have to preprocess the terrain data this may take a while.\nOnce the data is preprocessed you can disable it by commenting out the preprocess line.\n\n## Documentation\n\nThe `docs` folder contains a\nhigh-level [implementation overview](https://github.com/kurtkuehnert/bevy_terrain/blob/main/docs/implementation.md),\nas well as, the [development status](https://github.com/kurtkuehnert/bevy_terrain/blob/main/docs/development.md),\nenumerating the features that I am planning on implementing next, of the project.\nIf you would like to contribute to the project this is a good place to start. Simply pick an issue/feature and discuss\nthe details with me on Discord or GitHub.\nI would also recommend you to take a look at\nmy [thesis](https://github.com/kurtkuehnert/terrain_renderer/blob/main/Thesis.pdf).\nThere I present the basics of terrain rendering (chapter 2), common approaches (chapter 3) and a detailed explanation of\nmethod used by `bevy_terrain` (chapter 4).\n\n## Debug Controls\n\nThese are the debug controls of the plugin.\nUse them to fly over the terrain, experiment with the quality settings and enter the different debug views.\n\n- `T` - toggle camera movement\n- move the mouse to look around\n- press the arrow keys to move the camera horizontally\n- use `PageUp` and `PageDown` to move the camera vertically\n- use `Home` and `End` to increase/decrease the camera's movement speed\n\n- `W` - toggle wireframe view\n- `P` - toggle tile view\n- `L` - toggle lod view\n- `U` - toggle uv view\n- `C` - toggle tile view\n- `D` - toggle mesh morph\n- `A` - toggle albedo\n- `B` - toggle base color black / white\n- `S` - toggle lighting\n- `G` - toggle filtering bilinear / trilinear + anisotropic\n- `F` - freeze frustum culling\n- `H` - decrease tile scale\n- `J` - increase tile scale\n- `N` - decrease grid size\n- `E` - increase grid size\n- `I` - decrease view distance\n- `O` - increase view distance\n\n\u003c!---\n## Supported Bevy Versions\n\n| `bevy_terrain` | `bevy` |\n|----------------|--------|\n| 0.1.0          | 0.9    |\n---\u003e\n\n## Attribution\n\nThe planar terrain dataset is generated using the free version of the Gaia Terrain Generator.\nThe spherical terrain example dataset is a reprojected version of the GEBCO_2023 Grid dataset.\n\nGEBCO Compilation Group (2023) GEBCO 2023 Grid (doi:10.5285/f98b053b-0cbc-6c23-e053-6c86abc0af7b)\n\n## License\n\nBevy Terrain source code (this excludes the datasets in the assets directory) is dual-licensed under either\n\n* MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)\n* Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)\n\nat your option.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkurtkuehnert%2Fbevy_terrain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkurtkuehnert%2Fbevy_terrain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkurtkuehnert%2Fbevy_terrain/lists"}