HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
regl-project
regl
JavaScript2016–2021
regl-project / regl

regl

👑 Functional WebGL

8Distinct people
12Mentions
1Explicit recommenders
5.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

👑 Functional WebGL

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

The author, Mikola Lysenko, is a remarkable engineer. He's wildly prolific, but my favorite project of his is regl[1], which is an unparalleled WebGL library. I think it might…

wwwtyro used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year12 dated mentions

Observed mentions: 2016-07-28 20:30:21 UTC to 2021-02-26 19:51:17 UTC.

02462016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2021

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC606
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC211
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC211

What Hacker News says

12 sources
I second this heavily. I've implemented a 3d scene renderer for 3D CAM software in the past and have been wanting to get back into some 3D things to practice math as I've been feeling a bit behind where I used to be. I spent a while getting an OpenGL environment setup in VisualStudio and got frustrated with the tooling as I've also been spending much of the last 3 years doing trivial web development. I ran across shadertoy and was able to whip up much of the core of the pathtracer there and very easily move it over to it's own project supper easily utilising REGL (https://github.com/regl-project/regl) in ~100 lines that included a camera, dynamic shader compilation based on a scene, etc...
In How to Start Learning Computer Graphics Programming
You kind of have to do that stuff, though. There's no getting around understanding linear algebra and feeding vertices into the GPU. It's kind of like the bare minimum you need to swim. Yeah you gotta learn it and there's some funky techniques, but you gotta tread water somehow, yeah? It is a lot to learn at once, but no more than web dev where you are learning html and databases and HTTP and god knows what else at once. And like you said once you grok it, it's pretty easy. Graphics programming terrified me for the longest time because people acted like it was dark magic and hard. Figuring this stuff out slowly but surely it shocks me how little there is to it and I wish someone would have told me sooner. I've gotten rendering a cube down to an art (gotta start somewhere). You're talking ~100 lines of JS and double that of C++ but no more
Read the rest
than that in any decent language. And that's a cube (or multiple) and a basic camera. A library like regl shows how simple this stuff can get without lots of boilerplate. https://github.com/regl-project/regl/blob/gh-pages/example/b... Boom a triangle in 40 lines, but the underlying process of vertices, buffers, shaders, etc is apparent. Cool stuff. Those asking about Vulkan - Vulkan only increases the boilerplate by design.
In I Am Graphics and So Can You
The demo uses WebGL, and if you can't get the demo to work, you can here(https://github.com/Erkaman/regl-cnn) find a recorded gif that shows what it is supposed to look like. This demo does handwritten digit recognition by evaluating a Convolutional Neural Network on the GPU with WebGL. The network was trained in TensorFlow by this script here(https://github.com/Erkaman/regl-cnn/blob/gh-pages/scripts/cr...), and the network was then reimplemented on the GPU by hand with WebGL. The main purpose of the demo was to demonstate how our WebGL framework regl(https://github.com/mikolalysenko/regl) can be used to greatly simplify GPGPU programming in WebGL. The secondary purpose was to test whether evaluating Deep Learning networks in WebGL is doable. To our knowledge(but we may be wrong!), our implementation is the first implementation ever to a
Read the rest
ttempt GPU accelerating neural networks with WebGL And we hope that this implementation will provide a foundation for people who, like us, wish to experiment with Deep Learning and WebGL The GPU implementation can be found here(https://github.com/Erkaman/regl-cnn/blob/gh-pages/src/gpu.js) Note that this network will probably be slower than the corresponding network implemented on the CPU. This is because of the overhead associated with transferring data to and from the GPU. But in the future we will attempt implementing more complex networks in the browser, such as Neural Style(https://arxiv.org/pdf/1508.06576v2.pdf), and then we think that we will see a significant speedup compared to the CPU. Lastly, if anyone has any questions, I will be glad to answer them here.
In Show HN: GPU-Accelerated Digit Recognition with WebGL
The demo uses WebGL, and if you can't get the demo to work, you can here(https://github.com/Erkaman/regl-cnn) find a recorded gif that shows what it is supposed to look like. This demo does handwritten digit recognition by evaluating a Convolutional Neural Network on the GPU with WebGL. The network was trained in TensorFlow by this script here(https://github.com/Erkaman/regl-cnn/blob/gh-pages/scripts/cr...), and the network was then reimplemented on the GPU by hand with WebGL. The main purpose of the demo was to demonstate how our WebGL framework regl(https://github.com/mikolalysenko/regl) can be used to greatly simplify GPGPU programming in WebGL. The secondary purpose was to test whether evaluating Deep Learning networks in WebGL is doable. To our knowledge(but we may be wrong!), our implementation is the first implementation ever to a
Read the rest
ttempt GPU accelerating neural networks with WebGL And we hope that this implementation will provide a foundation for people who, like us, wish to experiment with Deep Learning and WebGL The GPU implementation can be found here(https://github.com/Erkaman/regl-cnn/blob/gh-pages/src/gpu.js) Note that this network will probably be slower than the corresponding network implemented on the CPU. This is because of the overhead associated with transferring data to and from the GPU. But in the future we will attempt implementing more complex networks in the browser, such as Neural Style(https://arxiv.org/pdf/1508.06576v2.pdf), and then we think that we will see a significant speedup compared to the CPU. Lastly, if anyone has any questions, I will be glad to answer them here.
In I Implemented GPU-Accelerated Digit Recognition with WebGL
Hi guys. For the purpose of demonstrating the GPGPU capabilities of the WebGL framework regl(https://github.com/mikolalysenko/regl), I implemented this parallel reduction algorithm on the GPU. Even if I run it on my silly integrated graphics card, the GPU is like four times faster than the CPU. Yet the implementation is just a simple full-screen shader that is run for a couple of passes. You can see the source code here: https://github.com/mikolalysenko/regl/blob/gh-pages/example/... In case you are not familiar with parallel reduction, I will explain it here: given some elements x0, x1, x2,..., and a binary operator 'op', the parallel reduction becomes 'op(x0, op(x1, op(x2,...) ))'. For example, given the elements 4, 2, 4, 1, and the operator '+', the parallel reduction will be 11, which is just the sum of the elements. So parallel reduc
Read the rest
tion can for instance be used to compute the maximum, sum, or minimum of a list of elements. It is a very important component for many parallel algorithms. These kinds of parallel algorithms on the GPU is what makes Google's TensorFlow library so fast.
In I implemented fast parallel reduction on the GPU with WebGL
Hi guys. This is a reference implementation of shadow volumes that I implemented with the help of Mikola Lysenko. This demo was implemented to demonstrate the stencil buffer manipulation features of our WebGL Framework regl: https://github.com/mikolalysenko/regl I provide a video here: https://www.youtube.com/watch?v=oO0LJWy5COg in case the demo won't run. Since these shadows are shadow volumes, there are no jaggies whatsoever. Even if you zoom them in, they remain crisp and clear. That is one advantage of shadow volumes compared with shadow maps, but it is also the only real advantage of the method I can come up; I personally think shadow volumes is a pretty terrible technique. Drawing the shadow silhouette eats fill-rate, constructing the silhouette can be very CPU-intensive, and the technique in general is quite tricky to implement, co
Read the rest
mpared with shadow mapping. Personally, I can't find a single reason that a sane person would use this technique nowadays. But some may disagree with me, I suppose... I mainly implemented this demo to provide a reference implementation of shadow volumes. In particular, this is an implementation of Carmack's Reverse(https://en.wikipedia.org/wiki/Shadow_volume#Depth_fail), or depth fail, as some people like to call it. My implementation follows the description on Wikipedia pretty closely. I provide the source code here: https://github.com/mikolalysenko/regl/blob/gh-pages/example/... I want others to be able to learn from this code how shadow volumes can be implemented, so I have littered the code with comments. I hope that at least someone will find it interesting.
In Show HN: I Implemented Shadow Volumes in WebGL
Whoops, wrong link. Here is the correct one: https://mikolalysenko.github.io/regl/www/gallery/planar-refl... In this demo, I render reflections in a plane using a trick with the stencil buffer. I provide a video(https://www.youtube.com/watch?v=FUNAcjJHo8U), in case the demo won't run. Those who are curious can find the implementation details described in the top of the source code: https://github.com/mikolalysenko/regl/blob/gh-pages/example/...
In Show HN: Planar Reflections in WebGL

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.