Skip to content

a work-in-progress 3D renderer built on top of wgpu

Notifications You must be signed in to change notification settings

MeetKai/superconductor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Sep 4, 2023
e4a8488 · Sep 4, 2023
Jan 3, 2023
Aug 21, 2023
Aug 21, 2023
Aug 28, 2023
Jun 3, 2022
Sep 4, 2023
Sep 4, 2023
Aug 21, 2023
Aug 21, 2023
Aug 28, 2023
Jan 3, 2023
Jun 23, 2022
Sep 4, 2023
Sep 4, 2023
Oct 19, 2022
Sep 6, 2022
Jul 24, 2023
May 1, 2023
Aug 21, 2023

Repository files navigation

Superconductor

a work-in-progress 3D renderer built on top of wgpu

It primarily targets web browsers via WebGL2, with VR and AR support via WebXR. It also has some basic support for compiling to a native binary.

There are 2 main components:

  • renderer-core which contains code for rendering pipeline creation and asset loading
  • superconductor itself which contains a number of Bevy ECS systems for asset loading and rendering inside a rendering loop

Features and limitations

Superconductor is limited in scope to rendering 3D GLTF models. The main goal is to render a large variety of 3D models quickly with low overhead. It contains support for:

  • Loading both GLTF and GLB 3D models
  • Image-based lighting via cubemaps
  • Rendering both PBR and unlit GLTF models
  • A limited degree of support for animated models

It has a few limitations in order to ensure performance:

  • No custom shader support. Superconductor tries to use a über-shader model where a few large shaders are used to render all models, instead of many specialised shaders
  • No capabilities for 2D rendering
  • No support for models that use vertex-colours.

A big thanks to our generous Sponsor for making this work sustainable: