https://user-images.githubusercontent.com/5485824/196038523-2ff806cd-6d75-4d7e-8096-70b5b8ef13ba.mp4
Multi-threaded, CPU-based terrain generation for three.js or react three fiber
Warning These libraries are a work in progress. APIs may change unexpectedly until they reach version 1.0.
In this project you'll find a growing collection of tools to plop large planets into your three.js
scene, and then populate that world with interesting things.
If you're interested in using this library and want to keep up to date, please follow me on Twitter, and/or click the Watch button for this repository.
Visit https://worlds.kenny.wtf/intro to learn more.
Visit https://worlds.kenny.wtf to explore a test scene.
Name | Description |
---|---|
@hello-worlds/planets | Tools build large-scale planets, moons, planetoids, ring-worlds, and other fantastic environments in three.js , and help you query against them to create interesting features for your game or web experience. |
@hello-worlds/react | React.js components to easily integrate @hello-worlds/planets and other components into your @react-three/fiber scene |
@hello-worlds/tongues | Tools to build and operate against ConLangs |
@hello-worlds/cultures | Tools to generate cultures and societies |
@hello-worlds/core | shared utilities |
Find me on Twitter, streaming on Twitch, or the Hello Worlds Discord
There are a couple solutions allow you to create beautiful terrain using web technologies:
PlanetTechJS - "What sets this library apart is its utilization of the GPU for all tasks. This includes generating textures for each facet, performing displacement, and shaping PlaneGeometries into spherical forms; the entire process occurs on the GPU. Consequently, there is no need for WebWorkers at this stage."
terra - rust-based renderer of offline-generated heightmaps
three-landscape - beautiful terrain material
This library would not be possible without their help.