In the first part we talked about how we got started on path tracing with WebGPU. We began with simple parametric shapes just for testing, then continued with what we were really interested in, polygon meshes. We made a simple improvement to our intersection testing, saw how it work, and more importantly how it didn’t work, then concluded we need a proper acceleration structure in order to get things going. In this part we’ll be focusing on such an acceleration structure: Bounding Volume Hierarchies
Continue reading “Casually PathTracing with WebGPU Part2”Casually Pathtracing with WebGPU Part 1
This is the first post part of a series spread across a somewhat long period of time and several WebGPU API versions. I started working on this out of passion and curiosity. I’ve been working in computer graphics for a while now but it’s been mostly rasterization, hardware accelerated or otherwise. Besides a toy raytracer I wrote way back in the day with Java (don’t ask), I never got to write my own true pathtracer/raytracer. Additionally, my graphics experience so far was limited to older generation graphic APIs like OpenGL, so I never had the chance to delve into modern APIs like Vulkan.
Continue reading “Casually Pathtracing with WebGPU Part 1”Screen Space Refraction in WebGL
Back in 2018, I worked on a quick demo for a potential client. The topic was rendering a beer bottle in a browser. I only had a few days, but decided to go ninja and do it all from scratch in WebGL. I knew I had to get refraction right for it to look good so I went with implementing this article here, which is connected to this one here both written by the same author.
Continue reading “Screen Space Refraction in WebGL”