DEPRECATED
March 19, 2025 ยท View on GitHub
DEPRECATED
Left for historical and resarch purposes. Next relevant project may be at https://github.com/dakom/awsm-renderer
DEMO
What will it be?
A Rust wasm/webgl2 renderer that uses Shipyard ECS for the Entity-Component-System engine and awsm-web for web api helpers.
Though by the time it's done, WebGPU might be a thing... so we'll see :P
While this crate can be used as a library, and the Shipyard World can be passed around freely, another viable approach is to just clone the code locally. That's probably the most straightforward way to add more post-processing effects, particle systems, and other things that may want to hook into the core renderer logic mid-pipeline.
Thank you
PBR shader code and more "ported" (with much copy-paste!) from the glTF Sample Viewer
Dependency stack
| Web | ECS |
|---|---|
| web-sys | shipyard |
| awsm_web | shipyard-hierarchy |
| shipyard-scenegraph |
The demo additionally uses Dominator to tie it all together with a DOM-based UI
Local Dev
One-time setup
- clone
https://github.com/KhronosGroup/glTF-Sample-Models.gitintodemo/media/glTF-Sample-Models - install trunk
- install http-server (this is just for locally serving the media, you can easily edit package.json and use a different http server)
yarn installindemo/
Up and running
yarn serve:devfrom insidedemo/
Media
HDRIs from https://polyhaven.com/hdris