Streamlines with Raytraced Impostors
WebGL, GLSL, JavaScript, lil-gui
Efficient rendering of cylinder streamlines and spheres using raytraced impostors. Implemented hierarchical Z-buffer occlusion culling to cull unseen objects and mitigate overdraw. Features post-processing with depth of field and bloom, along with screen-space ambient occlusion and temporal anti-aliasing.
Streamlines with Raytraced Impostors
WebGL, GLSL, JavaScript, lil-gui
Efficient rendering of cylinder streamlines and spheres using raytraced impostors. Implemented hierarchical Z-buffer occlusion culling to cull unseen objects and mitigate overdraw. Features post-processing with depth of field and bloom, along with screen-space ambient occlusion and temporal anti-aliasing.
Streamlines with Raytraced Impostors
WebGL, GLSL, JavaScript, lil-gui
Efficient rendering of cylinder streamlines and spheres using raytraced impostors. Implemented hierarchical Z-buffer occlusion culling to cull unseen objects and mitigate overdraw. Features post-processing with depth of field and bloom, along with screen-space ambient occlusion and temporal anti-aliasing.
Voxel Terrain Min-max Mipmap Traversal
WebGL, GLSL
Voxel terrain rendering with quadtree displacement mapping using min-max mipmaps. Terrain texturing done procedurally using multiple noise functions. Clouds are rendered as 2D with shadows to give depth. Smooth camera path is done using Catmull-rom splines.
Project Link
Heightmap Pathtracing using Quadtree Displacement Mapping
WebGL, GLSL, JavaScript, dat.GUI
Efficient ray-traversal of heightmaps using quadtree displacement mapping. Allows modification of texture offset and scale without recomputation of any acceleration structure.
Project Link
GPU Falling Sand Cellular Automata Simulation
WebGL, GLSL, JavaScript
Falling sand simulation done in the GPU in fragment shaders using block cellular automata with a Margolus neighborhood.
Features colored dynamic 2D lighting using the jump flooding algorithm.
Project Link
Hybrid SDF-Voxel Traversal
WebGL, GLSL, Shadertoy
Voxel traversal using a hybrid SDF-voxel method. Traversal is done by initially doing raymarching/sphere tracing, and switching
to voxel traversal when the distance is less than the bounding radius of the voxel.
Project Link
Extruded Quadtree Path Tracing
WebGL, GLSL, Shadertoy
Path tracing of an extruded quadtree structure of rectangular prisms using an implicit algorithm. Features polygonal bokeh for depth of field.
Project Link
SDF Octree Voxel Traversal
WebGL, GLSL, Shadertoy
Implicit octree traversal using SDFs to define occupancy of a given cell. The basic idea is to check for occupancy of a cell by querying the SDF at the cell center, and if the distance is less than the bounding radius of the cell, it is occupied.
Project Link
SpectraPT - Spectral Compute Shader Pathtracer
OpenGL, C++, GLSL, Dear ImGUI
Spectral rendering in a compute path tracer.
Blender Sky and Atmosphere Rendering
Blender, Python, GLSL
Physically-based real-time sky and atmosphere with multiple scattering, implemented in Blender shader nodes.
PBR GGX Path Tracing
WebGL, GLSL, Shadertoy
Path tracing with Physically-based shading with GGX BRDF with approximate multiscattering. Features depth of field with uniform sampling of various shapes for different aperature shapes for bokeh.
Project Link
Rhombic Dodecahedron Voxel Traversal
WebGL, GLSL, Shadertoy
Ray traversal of a packed sphere grid/rhombic dodecahedral honeycomb.
Project Link
Hybrid SDF-Voxel Traversal
WebGL, GLSL, Shadertoy
Voxel traversal using a hybrid SDF-voxel method. Traversal is done by initially doing raymarching/sphere tracing, and switching
to voxel traversal when the distance is less than the bounding radius of the voxel.
Project Link
Two Grid Traversal w/ 1-Pass DoF
WebGL, GLSL, Shadertoy
Ray-traversal of two grids of primitives in a single traversal loop with single-pass depth of field.
Project Link
GPU Falling Sand Cellular Automata Simulation
WebGL, GLSL, Shadertoy
A falling sand simulation using block cellular automata with Margolus neighborhood.
Project Link
Extruded Hexagonal Grid Traversal
WebGL, GLSL, Shadertoy
Fast ray-traversal of an extruded hexagonal grid.
Project Link
Implicit Quadtree Traversal
WebGL, GLSL, Shadertoy
Fast traversal of a dense grid of rectangular pillars using an implicit quadtree acceleration structure.
Project Link
Spectral Cornell Box Path Tracing
WebGL, GLSL, Shadertoy
Spectral path tracing of a Cornell box scene with next event estimation/multiple importance sampling and basic hero wavelength spectral sampling.
Project Link
2-Pass Mipmap Bloom
WebGL, GLSL, Shadertoy
Bloom implementation using only 2 buffer passes by making use of texture mipmaps.
Project Link
Blender Sky and Atmosphere Rendering (Nightsky)
Physically-based real-time sky and atmosphere with multiple scattering, implemented in Blender shader nodes.
Production Sky and Atmosphere
Blender, Python, GLSL
Physically-based real-time sky and atmosphere with multiple scattering and aerial perspective.
Volumetric Shadows using Shadowmaps
WebGL, GLSL, Shadertoy
Rendering volumetric shadows using raymarching with shadowmaps.
Bitruncated Cubic Honeycomb Traversal
WebGL, GLSL, Shadertoy
Ray-traversal of a truncated octahedron tessellation/bitruncated cubic honeycomb.