Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
62 lines (58 loc) · 42.2 KB
/
Copy pathindex.html
File metadata and controls
62 lines (58 loc) · 42.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>CUDA → WebShader · Showcase Explorer</title><link rel="stylesheet" href="src/explorer.css"></head><body>
<header><a class="brand" href="./">CW <span>CUDA → WEB SHADER</span></a><nav style="display:flex;gap:24px"><a href="bend.html">Bend 2 lab ↗</a><a href="sandbox.html">Sandbox ↗</a></nav></header>
<main><div class="eyebrow">THE SHOWCASE EXPLORER</div><h1>CUDA ideas.<br><span>Running in your browser.</span></h1><p class="intro">Explore live GPU experiments, inspect the CUDA behind them, and compare the results with native execution on an RTX 5080.</p>
<div class="toolbar"><div class="filters" aria-label="Filter showcases"><button data-filter="all" aria-pressed="true">All showcases <span>2</span></button><button data-filter="demo" aria-pressed="false">Live demos</button></div><label><span class="sr-only">Search showcases</span><input id="search" type="search" placeholder="Search showcases…"></label></div>
<section class="cards" aria-label="Showcases">
<article data-kind="demo" data-search="chrono sph water dam break physics 3d experimental"><a class="preview" href="sandbox.html?example=chrono"><img src="src/assets/chrono.svg" alt="Illustration of a collapsing blue SPH water column"><span class="pill">EXPERIMENTAL CUDA PORT</span></a><div class="card-body"><div class="meta">3D / SPH WATER <span>BSD-3-Clause kernels</span></div><h2>Chrono water dam-break</h2><p>Run Project Chrono's original SPH kernels on 16,731 fluid particles. Inspect all 15 CUDA-to-WGSL passes, with neighbours rebuilt every step. Currently slower than real time.</p><div class="facts"><span>Original CUDA physics</span><span>Native comparisons</span><span>Pressure colours</span></div><div class="actions"><a class="launch" href="sandbox.html?example=chrono">Open in sandbox ↗</a></div></div></article>
<article data-kind="demo" data-search="nvidia recursive quadtree spatial partition dynamic parallelism child kernels"><a class="preview" href="sandbox.html?example=quadtree"><img src="showcases/quadtree/preview.png" alt="Native CUDA quadtree partitions and 1024 points rendered directly from GPU buffers"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">2D / RECURSIVE SPATIAL PARTITION <span>BSD-3-Clause kernel</span></div><h2>NVIDIA recursive quadtree</h2><p>The original CUDA kernel splits points into quadrants and recursively launches its children. Explore the complete GPU-built tree, verified against native CUDA.</p><div class="facts"><span>1,024 points · 193 nodes</span><span>Exact native output</span><span>GPU recursive launches</span></div><div class="actions"><a class="launch" href="sandbox.html?example=quadtree">Open in sandbox ↗</a></div></div></article>
<article data-kind="demo" data-search="nvidia bezier curves tessellation dynamic parallelism child kernel allocation"><a class="preview" href="sandbox.html?example=bezier"><img src="showcases/bezier/preview.png" alt="256 coloured Bezier curves rendered from actual GPU-allocated vertices"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">2D / DYNAMIC TESSELLATION <span>BSD-3-Clause kernels</span></div><h2>NVIDIA Bezier curves</h2><p>The original CUDA parent chooses curve detail, allocates vertices and launches child kernels. GPU-generated queues drive the children; zoom into their output in the sandbox.</p><div class="facts"><span>256 curves · 3,958 vertices</span><span>Native CUDA compared</span><span>GPU allocation + child launches</span></div><div class="actions"><a class="launch" href="sandbox.html?example=bezier">Open in sandbox ↗</a></div></div></article>
<article data-kind="demo" data-search="cuda ray tracing path tracer 3d glass metal spheres roger allen"><a class="preview" href="sandbox.html?example=pathtracer"><img src="showcases/pathtracer/preview.png" alt="Actual GPU path trace of glass, metal and diffuse spheres"><span class="pill">CUDA PATH TRACER</span></a><div class="card-body"><div class="meta">3D / MONTE CARLO RENDERING <span>Public-domain CUDA source</span></div><h2>Glass, metal and 488 spheres</h2><p>Roger Allen’s final Ray Tracing in One Weekend scene. Original CUDA device functions compile into five WGSL passes, with persistent objects, material dispatch and seeded random rays.</p><div class="facts"><span>1200 × 800 pixels</span><span>10 samples per pixel</span><span>Native CUDA compared</span></div><div class="actions"><a class="launch" href="sandbox.html?example=pathtracer">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia layered texture array five layers scalar"><a class="preview" href="sandbox.html?example=layered"><img src="src/assets/layered.svg" alt="Five offset texture planes"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">46 / LAYERED TEXTURE <span>BSD-3-Clause kernel</span></div><h2>NVIDIA layered texture</h2><p>Sample five full-resolution scalar texture layers with the original CUDA kernel. Compare every output with native CUDA and inspect the generated WGSL.</p><div class="facts"><span>1,310,720 native matches</span><span>Five 512 × 512 layers</span></div><div class="actions"><a class="launch" href="sandbox.html?example=layered">Open in sandbox ↗</a></div></div></article>
<article data-kind="demo" data-search="nvidia cubemap cube texture six faces 3d directions"><a class="preview" href="sandbox.html?example=cubemap"><img src="src/assets/cubemap.svg" alt="A cube with three visible texture faces"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">45 / CUBEMAP TEXTURE <span>BSD-3-Clause kernel</span></div><h2>NVIDIA cubemap texture</h2><p>Sample all six faces through 3D directions with the original CUDA kernel. Inspect face orientation and native-verified edge filtering.</p><div class="facts"><span>24,576 native matches</span><span>Six texture faces</span></div><div class="actions"><a class="launch" href="sandbox.html?example=cubemap">Open in sandbox ↗</a></div></div></article>
<article data-kind="demo" data-search="nvidia full walsh hadamard transform dyadic convolution"><a class="preview" href="sandbox.html?example=walsh"><img src="src/assets/walsh.svg" alt="Walsh transform butterfly connections and alternating signal blocks"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">44 / WALSH CONVOLUTION <span>BSD-3-Clause kernels</span></div><h2>NVIDIA complete Walsh convolution</h2><p>Transform 8.4 million values, modulate with the original convolution kernel, then transform back. Inspect the complete native-verified output.</p><div class="facts"><span>8,388,608 values</span><span>Three full transforms</span></div><div class="actions"><a class="launch" href="sandbox.html?example=walsh">Open in sandbox ↗</a></div></div></article>
<article data-kind="demo" data-search="nvidia binomial options pricing tree finance"><a class="preview" href="sandbox.html?example=binomial"><img src="src/assets/binomial.svg" alt="Branches of a binomial tree beside a grid of option values"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">43 / BINOMIAL TREE <span>BSD-3-Clause kernel</span></div><h2>NVIDIA binomial options</h2><p>Price 1,024 options through 2,048 time steps with the original kernel. Inspect each result in the heatmap and compare CUDA with its generated WGSL.</p><div class="facts"><span>1,024 native comparisons</span><span>Original input data</span></div><div class="actions"><a class="launch" href="sandbox.html?example=binomial">Open in sandbox ↗</a></div></div></article>
<article data-kind="demo" data-search="nvidia odd-even merge sorting networks complete million keys"><a class="preview" href="sandbox.html?example=odd-even-sort"><img src="src/assets/odd-even-sort.svg" alt="Alternating comparator connections in a sorting network"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">42 / SORTING NETWORK <span>BSD-3-Clause kernels</span></div><h2>NVIDIA odd-even merge sort</h2><p>Sort a million key/value pairs using the original shared-memory stage and 155 in-place global merge passes. Compare the input and final ordering.</p><div class="facts"><span>1,048,576 pairs</span><span>30 native-verified cases</span></div><div class="actions"><a class="launch" href="sandbox.html?example=odd-even-sort">Open in sandbox ↗</a></div></div></article>
<article data-kind="demo" data-search="nvidia bitonic sorting networks complete million keys"><a class="preview" href="sandbox.html?example=bitonic-sort"><img src="src/assets/bitonic-sort.svg" alt="Unordered bars becoming a sorted sequence"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">41 / SORTING NETWORK <span>BSD-3-Clause kernels</span></div><h2>NVIDIA complete bitonic sort</h2><p>Sort a million key/value pairs through the original shared-memory and in-place global merge stages. Compare the original and sorted keys side by side.</p><div class="facts"><span>1,048,576 pairs</span><span>30 native-verified cases</span></div><div class="actions"><a class="launch" href="sandbox.html?example=bitonic-sort">Open in sandbox ↗</a></div></div></article>
<article data-kind="demo" data-search="nvidia sobol quasirandom 100 dimensions 3d projection"><a class="preview" href="sandbox.html?example=sobol"><img src="src/assets/sobol.svg" alt="Multiple coordinate planes projected into a point cube"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">40 / HIGH-DIMENSIONAL SEQUENCE <span>BSD-3-Clause kernel</span></div><h2>NVIDIA Sobol projections</h2><p>Compute ten million values across 100 dimensions. Explore a 3D projection of 100,000 vectors and choose other coordinate planes in the launch settings.</p><div class="facts"><span>100 dimensions</span><span>Native bit-for-bit match</span></div><div class="actions"><a class="launch" href="sandbox.html?example=sobol">Open in sandbox ↗</a></div></div></article>
<article data-kind="demo" data-search="nvidia quasirandom niederreiter million points 3d cube"><a class="preview" href="sandbox.html?example=quasirandom"><img src="src/assets/quasirandom.svg" alt="A cube filled with evenly distributed points"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">39 / 3D POINT DISTRIBUTION <span>BSD-3-Clause kernel</span></div><h2>NVIDIA quasirandom cube</h2><p>Generate over a million three-dimensional points with NVIDIA’s Niederreiter sequence. Orbit the complete GPU-generated distribution and compare CUDA with WGSL.</p><div class="facts"><span>1,048,576 points</span><span>Native bit-for-bit match</span></div><div class="actions"><a class="launch" href="sandbox.html?example=quasirandom">Open in sandbox ↗</a></div></div></article>
<article data-kind="demo" data-search="nvidia dxt compression texture teapot"><a class="preview" href="sandbox.html?example=dxt"><img src="src/assets/dxt.svg" alt="Image pixels grouped into compressed four-by-four blocks"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">38 / TEXTURE COMPRESSION <span>BSD-3-Clause kernel</span></div><h2>NVIDIA DXT compression</h2><p>Compress the original teapot image into DXT1 blocks, then decode the GPU result for display. Inspect the complete compressor beside its generated WGSL.</p><div class="facts"><span>16,384 blocks</span><span>Native byte-for-byte match</span></div><div class="actions"><a class="launch" href="sandbox.html?example=dxt">Open in sandbox ↗</a></div></div></article>
<article data-kind="demo" data-search="nvidia fft-custom convolution frequency"><a class="preview" href="sandbox.html?example=fft-custom"><img src="src/assets/fft-custom.svg" alt="Separate transform stages"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">36 / FFT IMAGE FILTER <span>BSD-3-Clause kernels</span></div><h2>NVIDIA custom FFT convolution</h2><p>Original real/complex preprocessing and frequency multiplication, with four million input values and all GPU stages exposed.</p><div class="facts"><span>2000 × 2000 input</span><span>Native CUDA verified</span></div><div class="actions"><a class="launch" href="sandbox.html?example=fft-custom">Open in sandbox ↗</a></div></div></article>
<article data-kind="demo" data-search="nvidia fft-fused convolution frequency"><a class="preview" href="sandbox.html?example=fft-fused"><img src="src/assets/fft-fused.svg" alt="Combined frequency processing"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">37 / FFT IMAGE FILTER <span>BSD-3-Clause kernels</span></div><h2>NVIDIA fused FFT convolution</h2><p>Combines spectrum conversion, multiplication and inverse preparation in NVIDIA’s original fused processing kernel.</p><div class="facts"><span>2000 × 2000 input</span><span>Native CUDA verified</span></div><div class="actions"><a class="launch" href="sandbox.html?example=fft-fused">Open in sandbox ↗</a></div></div></article>
<article data-kind="demo" data-search="nvidia fft convolution image filter cufft frequency"><a class="preview" href="sandbox.html?example=fft-convolution"><img src="src/assets/fft-convolution.svg" alt="An image grid transformed into a frequency spectrum and filtered output"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">35 / FFT IMAGE FILTER <span>BSD-3-Clause kernels</span></div><h2>NVIDIA FFT convolution</h2><p>Filter four million input values through texture padding, real FFTs and frequency multiplication. Original CUDA kernels with native-verified output.</p><div class="facts"><span>2000 × 2000 input</span><span>2048 × 2048 FFT</span></div><div class="actions"><a class="launch" href="sandbox.html?example=fft-convolution">Open in sandbox ↗</a></div></div></article>
<article data-kind="demo" data-search="nvidia optical flow motion vision horn schunck pyramid"><a class="preview" href="sandbox.html?example=optical"><img src="src/assets/optical-flow.svg" alt="Coloured arrows revealing motion across an image"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">34 / MOTION ESTIMATION <span>BSD-3-Clause kernels</span></div><h2>NVIDIA optical flow</h2><p>Reveal motion between two camera frames. Six original CUDA kernels build an image pyramid, warp the image and solve the displacement field.</p><div class="facts"><span>614,400 native-exact values</span><span>5 pyramid levels</span><span>7,500 solver iterations</span></div><div class="actions"><a class="launch" href="sandbox.html?example=optical">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia stereo disparity depth vision camera"><a class="preview" href="sandbox.html?example=stereo"><img src="src/assets/stereo.svg" alt="Two camera images combining into layers of disparity"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">33 / STEREO VISION <span>BSD-3-Clause kernel</span></div><h2>NVIDIA stereo disparity</h2><p>Recover image shifts from a stereo camera pair. Original CUDA block matching uses packed colour textures, shared memory and SIMD byte differences.</p><div class="facts"><span>341,120 native-exact pixels</span><span>17 disparity candidates</span><span>Depth-related image</span></div><div class="actions"><a class="launch" href="sandbox.html?example=stereo">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia fluidsGL fluid flow fft particles interactive"><a class="preview" href="sandbox.html?example=fluids"><img src="src/assets/fluids.svg" alt="Green particle streams curling through a fluid field"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">32 / INTERACTIVE FLUID <span>BSD-3-Clause kernels</span></div><h2>NVIDIA fluid flow</h2><p>Drag to stir 262,144 particles. Original CUDA advection, forces and diffusion run with GPU FFT projection in a 512 × 512 fluid field.</p><div class="facts"><span>64 native steps compared</span><span>Drag to stir</span><span>GPU FFT solver</span></div><div class="actions"><a class="launch" href="sandbox.html?example=fluids">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia smoke particles volumetric shadows 3d"><a class="preview" href="sandbox.html?example=smoke"><img src="src/assets/smoke.svg" alt="A softly lit smoke cloud with layered shadows"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">31 / VOLUMETRIC PARTICLES <span>BSD-3-Clause kernels</span></div><h2>NVIDIA smoke particles</h2><p>Orbit a cloud of 16,384 particles. Original CUDA integration and depth calculation feed GPU sorting and a 32-slice smoke renderer with volumetric shadows.</p><div class="facts"><span>64 native steps compared</span><span>Volumetric shadows</span><span>GPU feedback</span></div><div class="actions"><a class="launch" href="sandbox.html?example=smoke">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia volumeFiltering preintegrated pre-integrated 3d ray marching colour opacity bucky"><a class="preview" href="sandbox.html?example=volume-preintegrated"><img src="src/assets/volume-preintegrated.svg" alt="A three-dimensional volume with green and warm-coloured transfer layers"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">30 / VOLUME RAY MARCHING <span>BSD-3-Clause kernels</span></div><h2>NVIDIA pre-integrated volume</h2><p>See two colour and opacity tables reveal the original Bucky volume. Integration, layered tables and ray marching run from unchanged CUDA functions.</p><div class="facts"><span>Two 1024² transfer layers</span><span>6 native image comparisons</span><span>CUDA / WGSL comparison</span></div><div class="actions"><a class="launch" href="sandbox.html?example=volume-preintegrated">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia particles collision spheres gravity simulation 3d"><a class="preview" href="sandbox.html?example=particle-collision"><img src="src/assets/particle-collision.svg" alt="Spheres falling and colliding above a simulation grid"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">29 / PARTICLE PHYSICS <span>BSD-3-Clause kernels</span></div><h2>NVIDIA particle collisions</h2><p>Watch 1,024 spheres fall, collide and settle. The original integration and collision code runs with GPU sorting and shared render positions.</p><div class="facts"><span>64 native steps compared</span><span>GPU spatial grid</span><span>Animated 3D spheres</span></div><div class="actions"><a class="launch" href="sandbox.html?example=particle-collision">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia ocean fft waves water sea animated 3d"><a class="preview" href="sandbox.html?example=ocean"><img src="src/assets/ocean.svg" alt="Waves crossing a three-dimensional ocean surface"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">28 / OCEAN SIMULATION <span>BSD-3-Clause kernels</span></div><h2>NVIDIA FFT ocean</h2><p>Watch a wind-driven wave spectrum become an animated 3D surface. Spectrum, inverse FFT, heights and slopes run on the GPU.</p><div class="facts"><span>256 × 256 ocean</span><span>130,050 triangles</span><span>Native cuFFT compared</span></div><div class="actions"><a class="launch" href="sandbox.html?example=ocean">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia optimized dct8x8 quantization teapot compression shared memory image"><a class="preview" href="sandbox.html?example=dct-optimized"><img src="src/assets/dct-optimized.svg" alt="Eight image blocks processed together in a shared-memory tile"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">27 / SHARED IMAGE TRANSFORM <span>BSD-3-Clause kernels</span></div><h2>NVIDIA optimized DCT</h2><p>Run NVIDIA’s optimized floating-point transform. Threads share a 32 × 16 image tile and process rows and columns before reconstructing the teapot.</p><div class="facts"><span>512 × 512 image</span><span>Native CUDA matched</span><span>Shared-memory helpers</span></div><div class="actions"><a class="launch" href="sandbox.html?example=dct-optimized">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia dct8x8 quantization teapot compression image"><a class="preview" href="sandbox.html?example=dct"><img src="src/assets/dct.svg" alt="An image tile transformed into frequency coefficients and reconstructed"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">26 / IMAGE TRANSFORM <span>BSD-3-Clause kernels</span></div><h2>NVIDIA DCT image</h2><p>Transform the teapot into 8 × 8 frequency blocks, quantize the coefficients and reconstruct the image. Compare the original CUDA kernels with generated WGSL.</p><div class="facts"><span>512 × 512 image</span><span>Native CUDA matched</span><span>GPU intermediate copies</span></div><div class="actions"><a class="launch" href="sandbox.html?example=dct">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia image denoising knn noise filter portrait"><a class="preview" href="sandbox.html?example=denoise-knn"><img src="src/assets/denoise-knn.svg" alt="Noisy pixels filtered into a smoother portrait"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">23 / IMAGE DENOISING <span>BSD-3-Clause kernel</span></div><h2>NVIDIA KNN denoising</h2><p>Smooth image noise using colour-distance weights in a local window. Run NVIDIA’s original noisy portrait and compare CUDA with WGSL.</p><div class="facts"><span>320 × 408 portrait</span><span>Native CUDA checked</span><span>Editable filter settings</span></div><div class="actions"><a class="launch" href="sandbox.html?example=denoise-knn">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia image denoising nlm noise filter portrait"><a class="preview" href="sandbox.html?example=denoise-nlm"><img src="src/assets/denoise-nlm.svg" alt="Noisy pixels filtered into a smoother portrait"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">24 / IMAGE DENOISING <span>BSD-3-Clause kernel</span></div><h2>NVIDIA non-local means</h2><p>Compare neighbourhood patches to preserve image detail while reducing noise. Run NVIDIA’s original noisy portrait and compare CUDA with WGSL.</p><div class="facts"><span>320 × 408 portrait</span><span>Native CUDA checked</span><span>Editable filter settings</span></div><div class="actions"><a class="launch" href="sandbox.html?example=denoise-nlm">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia image denoising nlm2 noise filter portrait"><a class="preview" href="sandbox.html?example=denoise-nlm2"><img src="src/assets/denoise-nlm2.svg" alt="Noisy pixels filtered into a smoother portrait"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">25 / IMAGE DENOISING <span>BSD-3-Clause kernel</span></div><h2>NVIDIA shared non-local means</h2><p>Reuse patch weights across a shared-memory tile using the original optimized kernel. Run NVIDIA’s original noisy portrait and compare CUDA with WGSL.</p><div class="facts"><span>320 × 408 portrait</span><span>Native CUDA checked</span><span>Editable filter settings</span></div><div class="actions"><a class="launch" href="sandbox.html?example=denoise-nlm2">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia sobel shared memory tile edge detection image grayscale teapot"><a class="preview" href="sandbox.html?example=sobel-shared"><img src="src/assets/sobel.svg" alt="Sobel edges computed through a shared image tile"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">22 / SHARED IMAGE TILE <span>BSD-3-Clause kernel</span></div><h2>NVIDIA Sobel shared tile</h2><p>Run the shared-memory version of Sobel edge detection. CUDA lanes load a pixel tile together and write four packed output pixels per record.</p><div class="facts"><span>1024² grayscale image</span><span>4 native image comparisons</span><span>Original shared kernel</span></div><div class="actions"><a class="launch" href="sandbox.html?example=sobel-shared">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia sobel edge detection image grayscale teapot"><a class="preview" href="sandbox.html?example=sobel"><img src="src/assets/sobel.svg" alt="A teapot traced by the edges of a Sobel filter"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">21 / EDGE DETECTION <span>BSD-3-Clause kernels</span></div><h2>NVIDIA Sobel edges</h2><p>Find edges in the original teapot image. The unchanged CUDA kernel reads a 3 × 3 neighbourhood and writes each pixel’s edge intensity.</p><div class="facts"><span>1024² grayscale image</span><span>8 native image comparisons</span><span>Editable edge scale</span></div><div class="actions"><a class="launch" href="sandbox.html?example=sobel">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia box filter colour blur sliding window image texture"><a class="preview" href="sandbox.html?example=box-filter"><img src="src/assets/box-filter.svg" alt="A sliding filter window softening rows and columns"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">20 / COLOUR BLUR <span>BSD-3-Clause kernels</span></div><h2>NVIDIA box filter</h2><p>Blur the original teapot image with a sliding window. The CUDA row and column passes share the intermediate image on the GPU.</p><div class="facts"><span>1024² colour image</span><span>8 native image comparisons</span><span>Editable radius</span></div><div class="actions"><a class="launch" href="sandbox.html?example=box-filter">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia marching cubes bucky volume mesh surface 3d triangles"><a class="preview" href="sandbox.html?example=marching-volume"><img src="src/assets/marching-volume.svg" alt="Faceted molecular shell reconstructed from a volume"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">19 / VOLUME TO MESH <span>BSD-3-Clause kernels</span></div><h2>NVIDIA Bucky mesh</h2><p>Extract a triangle surface from NVIDIA’s original Bucky volume. Shared vertex pointers and surface normals stay on the GPU.</p><div class="facts"><span>11,126 triangles</span><span>3 native mesh comparisons</span><span>Original 32³ volume</span></div><div class="actions"><a class="launch" href="sandbox.html?example=marching-volume">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia marching cubes mesh implicit 3d triangles"><a class="preview" href="sandbox.html?example=marching"><img src="src/assets/marching-cubes.svg" alt="Triangulated implicit surface inside a voxel lattice"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">18 / 3D MESH <span>BSD-3-Clause kernels</span></div><h2>NVIDIA marching cubes</h2><p>Build a mesh from the original implicit field. Classification, scans, compaction and triangle generation run on the GPU.</p><div class="facts"><span>2,080 triangles</span><span>Native CUDA verified</span><span>Orbit the GPU mesh</span></div><div class="actions"><a class="launch" href="sandbox.html?example=marching">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia volumeFiltering volume filter 3d voxels slices texture surface"><a class="preview" href="sandbox.html?example=volume-filter"><img src="src/assets/volume-filter.svg" alt="Layered volume with a highlighted cross-section"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">17 / 3D VOLUME FILTER <span>BSD-3-Clause kernel</span></div><h2>NVIDIA volume filter</h2><p>Filter the original Bucky volume and explore its slices. Compare voxel and upstream texture coordinates using the unchanged CUDA kernel.</p><div class="facts"><span>32³ voxels</span><span>16 native volume comparisons</span><span>Interactive Z slices</span></div><div class="actions"><a class="launch" href="sandbox.html?example=volume-filter">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia mandelbrot julia fractal colour accumulation"><a class="preview" href="sandbox.html?example=mandelbrot"><img src="src/assets/mandelbrot.svg" alt="Colour bands surrounding the Mandelbrot cardioid"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">16 / FRACTAL RENDERING <span>BSD-3-Clause kernel</span></div><h2>NVIDIA Mandelbrot</h2><p>Render Mandelbrot and Julia sets with NVIDIA’s original float kernel. Edit the viewport and colours, accumulate frames and compare CUDA with generated WGSL.</p><div class="facts"><span>Six native frame comparisons</span><span>Mandelbrot + Julia</span><span>Editable colours</span></div><div class="actions"><a class="launch" href="sandbox.html?example=mandelbrot">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia bilateralfilter bilateral filter edge preserving noise photograph image"><a class="preview" href="sandbox.html?example=bilateral"><img src="src/assets/bilateral-filter.svg" alt="Noisy image smoothed while keeping its angular edges"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">15 / EDGE-PRESERVING FILTER <span>BSD-3-Clause kernel</span></div><h2>NVIDIA bilateral filter</h2><p>Smooth the original photograph while preserving colour boundaries. Run NVIDIA’s filter, edit its colour-distance setting and compare CUDA with generated WGSL.</p><div class="facts"><span>Native CUDA compared</span><span>640 × 480 photograph</span><span>Editable smoothing</span></div><div class="actions"><a class="launch" href="sandbox.html?example=bilateral">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia postprocessgl postprocess glow blur disc rgba image"><a class="preview" href="sandbox.html?example=postprocess"><img src="src/assets/postprocess-gl.svg" alt="A bright pixel spreading through a circular blur neighbourhood"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">14 / IMAGE POST-PROCESSING <span>BSD-3-Clause kernel</span></div><h2>NVIDIA post-process glow</h2><p>Blur the original teapot image and amplify its highlights with NVIDIA’s CUDA kernel. Inspect RGBA texture sampling, shared-memory tiles and the generated WGSL.</p><div class="facts"><span>Five native image comparisons</span><span>512 × 512 colour image</span><span>Editable highlights</span></div><div class="actions"><a class="launch" href="sandbox.html?example=postprocess">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia bicubictexture bicubic catmull rom texture filtering nearest bilinear image"><a class="preview" href="sandbox.html?example=bicubic"><img src="src/assets/bicubic-texture.svg" alt="Pixel steps becoming a smooth interpolated curve"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">13 / IMAGE INTERPOLATION <span>BSD-3-Clause kernels</span></div><h2>NVIDIA bicubic filtering</h2><p>Compare nearest, bilinear, bicubic, fast bicubic and Catmull–Rom sampling on the teapot image. Original CUDA filters, editable zoom and pan, and packed colour output.</p><div class="facts"><span>Five filter modes</span><span>15 native image comparisons</span><span>CUDA / WGSL comparison</span></div><div class="actions"><a class="launch" href="sandbox.html?example=bicubic">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia convolutiontexture texture convolution filter image blur"><a class="preview" href="sandbox.html?example=convolution"><img src="src/assets/convolution-texture.svg" alt="Horizontal and vertical filter passes across an image grid"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">12 / TEXTURE CONVOLUTION <span>BSD-3-Clause kernels</span></div><h2>NVIDIA texture convolution</h2><p>Filter a teapot image with the original row and column kernels. Edit the 17 coefficients and compare both generated shaders; the intermediate image stays on the GPU.</p><div class="facts"><span>Two original kernels</span><span>Native CUDA compared</span><span>512 × 512 image</span></div><div class="actions"><a class="launch" href="sandbox.html?example=convolution">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia simplegl sine wave official cuda surface"><a class="preview" href="sandbox.html?example=wave"><img src="src/assets/sine-wave.svg" alt="Illustration of a mint and blue wireframe sine wave"><span class="pill">OFFICIAL NVIDIA SAMPLE</span></a><div class="card-body"><div class="meta">01 / GRAPHICS INTEROP <span>BSD-3-Clause kernel</span></div><h2>NVIDIA sine wave</h2><p>The original simpleGL vertex kernel, unchanged. Orbit a moving surface of GPU-generated points.</p><div class="facts"><span>12 native CUDA checks</span><span>12 WebGPU checks</span></div><div class="actions"><a class="launch" href="sandbox.html?example=wave">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia nbody n-body gravity 3d particles simulation"><a class="preview" href="sandbox.html?example=nbody"><img src="src/assets/nbody.svg" alt="Three-dimensional gravitational particle cluster"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">03 / 3D GRAVITY <span>BSD-3-Clause kernel</span></div><h2>NVIDIA N-body</h2><p>The original tiled gravitational force and integration kernels. Watch 512 bodies evolve in 3D with position feedback entirely on the GPU.</p><div class="facts"><span>Native CUDA verified</span><span>NVIDIA WebGPU verified</span><span>CUDA / WGSL comparison</span></div><div class="actions"><a class="launch" href="sandbox.html?example=nbody">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia fdtd3d volume field 3d stencil finite differences"><a class="preview" href="sandbox.html?example=fdtd"><img src="src/assets/fdtd3d.svg" alt="Three-dimensional lattice of field samples"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">04 / VOLUME SIMULATION <span>BSD-3-Clause kernel</span></div><h2>NVIDIA FDTD3d</h2><p>A tiled 3D finite-difference stencil with configurable coefficients. Explore 8,192 interior field samples, colored directly from the GPU output.</p><div class="facts"><span>Native CUDA verified</span><span>NVIDIA WebGPU verified</span><span>3D scalar field</span></div><div class="actions"><a class="launch" href="sandbox.html?example=fdtd">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia simplesurfacewrite surface write texture image gpu pipeline"><a class="preview" href="sandbox.html?example=surface"><img src="src/assets/surface-write.svg" alt="An input buffer written to a surface and sampled into an image"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">11 / SURFACE AND TEXTURE <span>BSD-3-Clause kernels</span></div><h2>NVIDIA surface write</h2><p>Write the teapot image into a GPU surface, then sample it with the original rotation kernel. Both passes share the image entirely on the GPU.</p><div class="facts"><span>Two original kernels</span><span>Native CUDA compared</span><span>GPU surface writes</span></div><div class="actions"><a class="launch" href="sandbox.html?example=surface">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia simpletexture texture rotation teapot image 2d sampling"><a class="preview" href="sandbox.html?example=texture2d"><img src="src/assets/texture2d.svg" alt="A teapot image rotated inside a texture grid"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">10 / 2D TEXTURE SAMPLING <span>BSD-3-Clause kernel</span></div><h2>NVIDIA texture rotation</h2><p>Rotate the original teapot image with NVIDIA’s unchanged texture kernel. Edit the angle and compare nearest or linear sampling in the sandbox.</p><div class="facts"><span>512 × 512 image</span><span>Native CUDA compared</span><span>Float GPU texture</span></div><div class="actions"><a class="launch" href="sandbox.html?example=texture2d">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia volumerender volume renderer ray marching bucky 3d texture colour transfer"><a class="preview" href="sandbox.html?example=volume"><img src="src/assets/volume-render.svg" alt="Coloured volume viewed through a ray-marching grid"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">09 / VOLUME RAY MARCHING <span>BSD-3-Clause kernel</span></div><h2>NVIDIA volume renderer</h2><p>Ray-march the original Bucky volume using NVIDIA’s unchanged device code. Edit the camera, density and colour transfer table, then compare CUDA with generated WGSL.</p><div class="facts"><span>Full ray-marching kernel</span><span>Native image comparison</span><span>32³ volume</span></div><div class="actions"><a class="launch" href="sandbox.html?example=volume">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia simpletexture3d bucky volume slice texture sampling"><a class="preview" href="sandbox.html?example=texture3d"><img src="src/assets/texture3d.svg" alt="A slice through a three-dimensional volume"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">08 / 3D TEXTURE SAMPLING <span>BSD-3-Clause kernel</span></div><h2>NVIDIA 3D texture slice</h2><p>Sample the original Bucky volume with a real 3D GPU texture. Choose a depth and compare point or linear filtering with wrapped coordinates.</p><div class="facts"><span>32³ volume</span><span>Native CUDA verified</span><span>3D GPU sampler</span></div><div class="actions"><a class="launch" href="sandbox.html?example=texture3d">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia recursive gaussian image blur rgba filter"><a class="preview" href="sandbox.html?example=gaussian"><img src="src/assets/recursive-gaussian.svg" alt="A colour image blurred with a recursive Gaussian filter"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">07 / RECURSIVE IMAGE FILTER <span>BSD-3-Clause kernels</span></div><h2>NVIDIA recursive Gaussian</h2><p>Filter a colour image with the original recursive kernel and tiled transpose. Four GPU passes produce an RGBA preview with editable coefficients.</p><div class="facts"><span>Four GPU passes</span><span>Native CUDA verified</span><span>RGBA image preview</span></div><div class="actions"><a class="launch" href="sandbox.html?example=gaussian">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia haar wavelet transform signal decomposition"><a class="preview" href="sandbox.html?example=haar"><img src="src/assets/haar.svg" alt="A signal decomposed into coarse and detailed wavelet coefficients"><span class="pill">OFFICIAL NVIDIA KERNEL</span></a><div class="card-body"><div class="meta">06 / SIGNAL TRANSFORM <span>BSD-3-Clause kernel</span></div><h2>NVIDIA Haar wavelet</h2><p>Decompose 4,096 signal values into coarse and detailed coefficients. Two original-kernel launches exchange coefficients directly on the GPU.</p><div class="facts"><span>Full transform</span><span>Native CUDA verified</span><span>Two GPU passes</span></div><div class="actions"><a class="launch" href="sandbox.html?example=haar">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="nvidia separable convolution image filter rows columns"><a class="preview" href="sandbox.html?example=separable"><img src="src/assets/convolution-separable.svg" alt="Row and column image filtering stages"><span class="pill">OFFICIAL NVIDIA KERNELS</span></a><div class="card-body"><div class="meta">05 / IMAGE FILTERING <span>BSD-3-Clause kernels</span></div><h2>NVIDIA separable convolution</h2><p>The original row and column kernels run in sequence. Keep the intermediate image on the GPU and compare the generated shader for each pass.</p><div class="facts"><span>Two GPU passes</span><span>Native CUDA verified</span><span>Editable coefficients</span></div><div class="actions"><a class="launch" href="sandbox.html?example=separable">Launch showcase <b>↗</b></a></div></div></article>
<article data-kind="demo" data-search="particles orbital field simulation threejs cuda kernel lab"><a class="preview" href="sandbox.html?example=particles"><img src="src/assets/orbital-field.svg" alt="Illustration of gold and cyan particles in an orbital field"><span class="pill">PROJECT SHOWCASE</span></a><div class="card-body"><div class="meta">02 / PARTICLE SIMULATION <span>MIT</span></div><h2>Orbital field</h2><p>A GPU-resident particle simulation and live kernel workbench. Edit CUDA, inspect generated WGSL, and test the actual GPU.</p><div class="facts"><span>Editable particle count</span><span>Shared render buffer</span></div><div class="actions"><a class="launch" href="sandbox.html?example=particles">Launch showcase <b>↗</b></a></div></div></article>
</section><p id="empty" hidden>No showcases match. Try another search or category.</p>
<section class="about"><div><div class="eyebrow">SOURCE → SHADER → GPU</div><h2>Real kernel code. Visible results.</h2></div><p>The browser translates a supported subset of CUDA C into WGSL. Native comparisons use NVCC on an NVIDIA GPU. Each showcase explains its source, validation, and any host-side adaptation.</p></section>
</main><footer><span>Original project: MIT · NVIDIA sample: BSD-3-Clause</span><a href="https://github.com/SamG-Coder/cuda-webshader">View on GitHub ↗</a></footer><script type="module" src="src/explorer.js"></script></body></html>