~/talk

You can't do that with JavaScript!

Talkat NDC Sydney 2024 · 2024-02-12..02-16· [javascript, creative-coding]
slides:none on file

Builds three distinct JavaScript 3D engines: a rasterizer using Canvas ImageData with custom vector and matrix libraries, an on‑CPU ray-tracer (unit sphere, metal/glass materials, Schlick approximation) and a ray-marcher using signed distance functions. Uses OBJ loading, clipping, painter’s algorithm, per‑pixel shading and Web Workers for parallelism after cloud functions (Azure/Lambda/Cloudflare) throttle requests. Implements reflections, dielectrics and textures, gets interactive frame rates in browser, and moves next toward GPU via WebGPU.

AI-written summary · about

  1. 0:00Introduction and speaker background
  2. 7:26Crazy projects at work
  3. 13:36Why JavaScript is interesting
  4. 16:10Can't do that in JavaScript?
  5. 17:562D graphics effects in JS
  6. 20:44Plasma effect demo
  7. 22:54Building a 3D rasterizer
  8. 27:31Matrix and vector struggles
  9. 30:06Debugging JavaScript scoping quirks
  10. 35:15Shading and lighting in 3D
  11. 38:10Building a ray tracer in a weekend
  12. 40:44Cloud-based ray tracing attempt
  13. 42:55Web workers for multi-threading
  14. 44:21Ray tracing fundamentals
  15. 46:30Global illumination and materials
  16. 49:26Ray marching introduction
  17. 51:13Ray marching in the browser
  18. 54:37Inspiring others with graphics
  19. 55:40Demo scene and son's achievements
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.