-
An ECS lite architecture
Small write-up about my chip layout renderer.
-
WebGL renderer for chip layouts
Rendering layout data for integrated circuits with Rust and WebGL.
-
Extracting Faces from Graphs
How we extract faces from Arcol sketches. The cool part is the wedge algorithm from Jiang and Bunke.
-
Make a Daily Pull Request
My personal PR philosophy for achieving developer happiness.
-
Serialization-based undo
How I used zstd compression to implement an undo system for Blockdown.
-
C++ as a scripting language
How I used dynamic linking to quickly iterate on Blockdown puzzles.
-
Exploring Special Relativity
I coded up some Exploratorium style interactive diagrams to learn about special relativity.
-
Generating SVG for the Prime Knots
How I created a wall poster of knot diagrams.
-
Kauffman's Cross Products Paper
How the Four Color Theorem relates to the algebra of cross products.
-
Tait Coloring
Tait coloring and the Four Color Theorem.
-
The Graceful Tree Conjecture
Graceful labelings on graphs and the GTC.
-
My American lineage
An interactive sunburst visualization of my father's pedigree.
-
Page turn animation
Deforming a page in a book.
-
Octasphere Tessellation
The virtues of the humble subdivided octahedron.
-
Perfect Panning
Pan and zoom like Google Maps, but with perspective.
-
Euler's Polyhedron Formula
Legendre's proof of the polyhedron formula using scrollytelling.
-
Split-free occlusion sorting
Random musings on occlusion sorting and collision detection.
-
3D Wireframes in SVG
Using Python to generate 3D line art.
-
par_streamlines.h
My tiny C library for triangulating wide lines, Béziers, and streamlines.
-
Identity Theft
Timeline of my 2018 saga with identity theft.
-
Distance Fields
Generating and visualizing distance fields.
-
prideout/snowy
Small Python 3 module for manipulating and generating images.
-
streamlines
Rendering streamlines for data visualization.
-
Animated Strava Paths
Fun with Strava Activities, D3, and Google Maps.
-
par_sprune.h
My tiny C library for broad phase collision detection in 2D.
-
par_bubbles.h
Single file C library for enclosing points with disks and making bubble diagrams.
-
par_shapes.h
Generate triangle meshes from parametric surfaces, polyhedra, and L-systems.
-
prideout/aobaker
Quick and dirty ambient occlusion baking tool.
-
Remember 3Dlabs?
Reminiscing about my corporate alma mater.
-
GPU Particles
GPU-Driven Particles with WebGL 1.0.
-
Zoomable Texturing
Texture experiments with highly zoomable content.
-
Marching Squares
My single-file C library for generating triangles from images.
-
Headless Rendering
Diary of adventures with headless OpenGL on an EC2 server.
-
Recursive Wang Tiles
My single-file C library for generating progressive blue noise sequences via Recursive Wang Tiles.
-
Emulating Double Precision
How to cheat your vertex shader into doing a more precise transform.
-
Coordinate Fields
Discusses an interesting way to encode unsigned distance.
-
prideout/heman
My own little open-source C library for doing heightmap stuff.
-
Quad Meshes
Tricks for rendering quad meshes with OpenGL (core profile) and computing smooth normals with transform feedback.
-
Organic Animation
Demonstrates a type of 2D animation that's better suited to WebGL than Canvas 2D.
-
Ear Clipping
Tessellation of concave polygons (with holes) in Javascript, using a simple ear clipping algorithm.
-
Knot Gallery
Interactive gallery of the prime knots through 9 crossings.
-
Modern Opengl
Prezo on Modern OpenGL that I put together for my colleagues.
-
Fluid Sim
I open sourced my purely OpenGL-based volumetric fluid sim.
-
Sympy Surfaces
Generate interesting parametric surfaces using SymPy.
-
Barrel Distortion
Playing with barrel distortion.
-
Strings Inside Vertex Buffers
Stupid OpenGL trick: embed a raw C string in a vertex buffer.
-
Distance Picking
Create a distance field on the GPU, use it for point selection.
-
Clip Planes
How to use clip planes in modern OpenGL.
-
Go And Renderman
RenderMan bindings for Google's new language go.