Alternatives
Products that do what a Rust ray tracer that runs on any GPU – even in the browser does
I’ve been experimenting with Rust lately and wanted a project that would help me explore some of its lower-level and performance-oriented features. Inspired by Sebastian Lague’s videos, I decided to implement my own ray tracer from scratch. The initial goal was just to render a simple 3D scene in the browser at a reasonable frame rate. It evolved into a small renderer that can: • Run locally or on the web using wgpu and WebAssembly • Perform mesh rendering with a Bounding Volume Hierarchy (BVH) for acceleration • Simulate both direct and indirect illumination for photorealistic results • Be…
- 1IW
Jun 2026 · github.com
- 2CW
Creator here. I built ChartGPU because I kept hitting the same wall: charting libraries that claim to be "fast" but choke past 100K data points. The core insight: Canvas2D is fundamentally CPU-bound. Even WebGL chart libraries still do most computation on the CPU. So I moved everything to the GPU via WebGPU: - LTTB downsampling runs as a compute shader - Hit-testing for tooltips/hover is GPU-accelerated - Rendering uses instanced draws (one draw call per series) The result: 1M points at 60fps with smooth zoom/pan. Live demo:…
Jan 2026 · github.com
- 3IV
This is a GPU "software" raytracer (i.e. using manual ray-scene intersections and not RTX) written using the WebGPU API that renders glTF scenes. It supports many materials, textures, material & normal mapping, and heavily relies on multiple importance sampling to speed up convergence.
2024 · github.com
- 4IM
I was fascinated by this [0] and this video [1]. After many struggles, I finally built this app that traces images using circles similar to what these videos had shown. The most challenging part (to me) is to find a way to convert images to vector lines. I had tried Potrace, but its output is not suitable for my use case: too many small elements share the same border. Potrace's goal is to represent the original image faithfully using vector lines. But I want to trace the image edges. After searching and trying some Potrace alternatives in vain, I finally found my keyword. Surprisingly (to…
2022 · phqb.github.io
- 5MC
2020 · github.com
- 6GA
For the past three years I've been building what I hope will be the next Blender, tackling the lack of any good 2D design or image editing tools outside the Adobe monopoly. This was our first year participating in Google Summer of Code and this Q3 update includes the big payoff from that, covering the most progress we've made so far as a project. If you're a Rust dev, consider getting involved as we apply for the next GSoC in the new year— you could be our intern next summer :) Q3 progress report: https://graphite.rs/blog/graphite-progress-report-q3-2024/
2024 · graphite.rs
- 7AP
We ported pbrt-v4 to Julia and built it into a Makie backend. Any Makie plot can now be rendered with physically-based path tracing. Julia compiles user-defined physics directly into GPU kernels, so anyone can extend the ray tracer with new materials and media - a black hole with gravitational lensing is ~200 lines of Julia. Runs on AMD, NVIDIA, and CPU via KernelAbstractions.jl, with Metal coming soon. Demo scenes: github.com/SimonDanisch/RayDemo
Feb 2026 · makie.org
- 8SA
I'm the co-creator and maintainer of https://aframe.io/ and long time Web 3D graphics dev. Super excited about new techniques to author / render / represent 3D. Spark is a an open source library to easily integrate Gaussian splats in your THREE.js scene I worked with some friends and I hope you find useful. Looking forward to hearing what features / rendering techniques you would love to see next.
2025 · sparkjs.dev
- 9AT
2015 · github.com
- 10RT
2023 · antimatter15.com
- 11SC
Svader is a library for rendering 2D shaders on Svelte websites, using either WebGL or WebGPU. It's streamlined for the specific use case of rendering 2D graphics using fragment shaders as an alternative to SVG or the JS canvas API, so it's not meant for doing 3D objects like three.js, for example. This started as something I needed for my own project, but I eventually decided to split it into a separate library. I've since found that this use case fits really well into the Svelte compiler-based approach and its fine-grained reactivity system. In general, I think using shaders like these has…
2024 · github.com
- 12M3
Grant Sanderson (3Blue1Brown) created Manim, the Python library he uses to make the math animations in his videos. We reimplemented Manim with the same Python API, but the implementation underneath is Rust, connected to Python through PyO3. The Rust code uses wgpu, so rendering happens on the GPU. To run it in the browser, we compiled the Rust parts to WebAssembly so the PyO3 extension loads in Pyodide. In the browser, wgpu targets the WebGPU API, so animations render in real time on your GPU through the browser. The editor is Monaco (the editor that powers VS Code) with a live preview:…
Jul 2026 · studio.academa.ai
- 13IM
2025 · seve.blog
- 14AA
Earlier this year, we released our open-source game engine [0] built with Rust, WebAssembly, and WebGPU. Today, we’re happy to announce the Ambient platform, which brings web deployment, server hosting, and more to the runtime. With Ambient, you can make a game, deploy it to the browser in one command, share your URL and instantly play with others, no downloads or installs needed. Our WASM use is innovative; it is being used as both a sandboxed runtime for user code, and as a way to run the entire Ambient runtime in the browser. This, paired with our ECS data model, enables a highly modular…
2023 · ambient.run
- 15AS
Hi HN, author here. SHARP is Apple's recent single-image 3D Gaussian splatting model (https://arxiv.org/abs/2512.10685). Their reference code is PyTorch + a pretty heavy pipeline; I wanted to see if it could run in a browser with no server hop, so I exported the predictor to ONNX and ran it via onnxruntime-web with the WebGPU EP. What works: drop in an image, get a .ply you can download or preview live, all on your machine — your image never leaves the tab. The model is large (~2.4 GB sidecar) so first load is slow on a cold cache, but inference itself is a few seconds on…
May 2026 · github.com
- 16HG
Tabs, splits, and tmux work fine until you have several projects open with logs, tests, and long-running shells. I kept rebuilding context instead of resuming work. Horizon puts shells on an infinite canvas. You can arrange them into workspaces and reopen later with layout, scrollback, and history intact. Built in 3 days with Claude/Codex, dogfooding the workflow as I went. Feedback and contributions welcome.
Mar 2026 · github.com
- 17AE
2017 · github.com
- 18AR
Hey HN! I'm a huge fan of Raycast, but as a Linux user, I was always disappointed it wasn't available on my main OS. This summer, I decided to just build it myself. This project has the goal of being interoperable with Raycast itself, including a majority of the extensions. It's built with Tauri and Rust on the backend, with a Svelte frontend. The biggest challenge was getting it to run existing Raycast extensions, which required building a custom React renderer as well as making a custom API. I also wrote a quick post, which I hope to expand on in the future, about this project. You can…
2025 · github.com
- 191A
We added a new feature to our open-source HTML5 game engine today that allows you to create Sprite GPU Layers. These pack together simple JS object definitions onto the GPU and renders them using a custom vertex shader. This skips all CPU computation and GPU upload operations, resulting in vastly increased performance. For objects that don't need to be updated by input, physics, or other interactive behaviors, we found it to be a great solution. In testing, we've easily managed to blast millions of sprites around on moderate desktop-grade GPUs. Indeed, we hit the fill rate limitation of the…
2025 · phaser.io
- 20WTWebGPU Tech Demo▲141
WebGPU tech demo running in modern browsers showcasing various rendering techniques like deferred rendering with 400+ dynamic lights, Hi-Z screen space reflections and cascaded shadow mapping.
2024 · gnikoloff.github.io
- 21CR
Jun 2026 · github.com
- 22AP
So, after years of abandoning Rust after the hello world stage, I finally decided to do something substantial. It started with simple line rendering, but I liked how it was progressing so I figured I could make a reasonably complete PSX style renderer and a game with it. My only dependency is SDL2; I treat it as my "platform", so it handles windowing, input and audio. This means my Cargo.toml is as simple as: [dependencies.sdl2] version = "0.35" default-features = false features = ["mixer"] this pulls around 6-7 other dependencies. I am doing actual true color 3D rendering (with Z buffer,…
Sep 2025 · totenarctanz.itch.io
- 23WP
This is a small particles simulation that can run either with WebGPU (GPU Compute) or with the CPU, and it can be changed in real time
2023 · github.com
- 24IW
2023 · github.com
Ranked by how close each launch is in meaning, then by votes. Refine with a description →