Skip to content

theoreticalphysicsftw/web-lightning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

web-lightning

Web ligthning is work in progress WASM/WegGL web framework that aims to replace the classical DOM element creation and manipulation with JS and CSS in order to create web GUI. Instead everything should be rendered on a single WebGL canvas. This should in principle avoid the bloated DOM manipulation, give the ability to do complex effects cheaply on the GPU, and rasterize all the fonts on the GPU as well (having an advantage when zooming over the CPU rasterization used by browsers).

Building

For WebAssembly/WebGL builds:

emcmake cmake -B build && cmake --build build -j `nproc`

For Desktop/WebGL

 cmake -B build && cmake --build build -j `nproc`

Usage

Progress

General

  • General WebGL rendering interface.
  • CPU font rendering.
  • GPU font rendering.
  • GPU bezier curve rendering.
  • CPU general 2D vector rendering.
  • GPU general 2D vector rendering.
  • API for 3D rendering

Widgets

  • Boxes
  • Containers
  • Grids
  • Buttons
  • Progress Indicators
  • Sliders
  • Menus
  • Images
  • Canvases
  • Input Fields

Animations

  • Per-widget per-frame arbitrary property animation chains.
  • Bezier curve particle traversal.

Format support

  • Lizard compressed data.
  • WebP images.
  • SVG images.
  • Avif images.
  • AV1 streams.

Showcase

About

WebGL + WebAssembly front end web framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages