DEPRECATED

March 19, 2025 ยท View on GitHub

Build Status LICENSE LICENSE Crates.io Documentation Demo

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

WebECS
web-sysshipyard
awsm_webshipyard-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.git into demo/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 install in demo/

Up and running

  • yarn serve:dev from inside demo/

Media

HDRIs from https://polyhaven.com/hdris