https://github.com/xenoverseup/procedural-planets
A procedural planet generation tool written in WebGL, ThreeJS. It uses multiple layered Simplex noise to generate terrain.
https://github.com/xenoverseup/procedural-planets
gpgpu react reactthreefiber threejs webgpu
Last synced: 10 months ago
JSON representation
A procedural planet generation tool written in WebGL, ThreeJS. It uses multiple layered Simplex noise to generate terrain.
- Host: GitHub
- URL: https://github.com/xenoverseup/procedural-planets
- Owner: XenoverseUp
- License: mit
- Created: 2024-07-05T01:05:17.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-08T14:50:22.000Z (over 1 year ago)
- Last Synced: 2025-04-02T14:15:44.011Z (about 1 year ago)
- Topics: gpgpu, react, reactthreefiber, threejs, webgpu
- Language: TypeScript
- Homepage: https://procedural-planets.vercel.app
- Size: 14.6 MB
- Stars: 28
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Procedural Planet Generation (GPGPU)
Read the full article on [Medium](https://medium.com/fractions/gpgpu-on-the-web-procedural-planet-meshes-0601b044c818?sk=529caf4fffdb74a381b4f53dc7495d00).
This is a procedural planet mesh generation tool working on web technologies. Using multilayered simplex noises, we can simulate continents and mountains. In the showcase, a polaroid of the scene and the `.obj` file can be exported. Thanks to _Sebastian Lague_ for it's series on the subject and the inspiration.

## Installation
Since this is a web app, apparently, you need [NodeJS](https://nodejs.org/en) installed.
- `npm install`: Installs the necessary dependencies.
- `npm run dev`: Runs the local development server on [localhost:5173](http://localhost:5173).
- `npm run build`: Build the project as a client only bundle.
To utilize GPGPU, you don't need any additional configuration. Instead of WebGPU, it uses rendering pipeline, so it is widely supported. In case you need CPU generation, you can swap `PlanetGPU` with the `PlanetCPU` on the `src/editor/renderer.tsx`.
## Technicality & Implementation
## Generation Parameters
## Examples