Announcing wrend, a Rust/Wasm + WebGL2 rendering library (callable from both Rust and JavaScript!)

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • wrend

    A framework-agnostic Rust/WASM + WebGL2 Rendering library, compatible with calling from both Rust and JavaScript on the web.

  • Hi all! Wrend is a wrapper library around raw WebGL2 code. Its goal is to make working with WebGL/WebGL2 more convenient when writing Rust and/or JavaScript/TypeScript code in the browser. Because of a JavaScript-compatible wrapper API around the raw Rust code, wrend is callable from both Rust AND JavaScript, and it includes a strongly typed TypeScript API. Similarly, it is available for download from both crates.io and npm. I initially started this library out of frustration. I love to do creative coding, but I found myself dedicating more and more time and energy to refactoring bad infrastructure rather than working on new creative projects, so I decided to channel that misspent energy instead into a structured library that would give me the unified organization I was looking for and that I could also share with others. Some highlights: wrend provides safe and easy abstraction over requestAnimationFrame calls, making continuous animations as simple as calling start_animating and then holding the returned handle in memory. Stopping is also as easy as dropping the returned renderer handle and/or calling stop_animating. (When working with JavaScript, it’s as simple as calling free() on the the renderer. Taking canvas screenshots is built in, and so is direct recording of the canvas—something invaluable when doing creative coding and sharing the results. Why WebGL and and not WebGPU? While I’m aware that WebGPU is up-and-coming, and I’m very excited for it, and while it is even possible to write right now in Rust, I’m a web developer first and foremost, and I like to share my creations with lots of people. As soon as WebGPU support is stable in mainstream browsers, I will happily redirect my energies :) Wrend is very work in progress, and it’s actually my first Rust library in general, but I decided it was finally time to share what I’m working on with the world. Code: https://github.com/austintheriot/wrend Live Demo Site: https://austintheriot.github.io/wrend/

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts