Working on graphics, space robots, path tracing, and learning some new stuff. Get in touch if you want to work together.
three-mesh-bvh. A BVH implementation to speed up raycasting and enable spatial queries against three.js meshes.
3.4kthree-gpu-pathtracer. Path tracing renderer and utilities for three.js built on top of three-mesh-bvh.
1.8kthree-bvh-csg. A flexible, memory compact, fast and dynamic CSG implementation on top of three-mesh-bvh
923threejs-sandbox. Set of experiments and extensions to THREE.js.
860urdf-loaders. URDF Loaders for Unity and THREE.js with example ATHLETE URDF Files open sourced from NASA JPL
802three-edge-projection. Visible geometry edge projection and flattening based on three-mesh-bvh.
345unity-dithered-transparency-shader. Unity material and shader for applying clipped, dithered transparency
329closed-chain-ik-js. A generalized inverse kinematics solver that supports closed chains for parallel kinematics systems, dynamic reconfiguration, and arbitrary joint configuration based on damped least squares error minimization techniques
292three-geojson. Three.js shape loaders for GeoJSON and WKT formats
237source-engine-model-loader. Three.js loader for parsing Valve's Source Engine models
85webgl-gpu-power-estimation. Utility for estimating the power of the GPU in the browser using WebGL debug parameters.
55unity-clip-shader. Unity shader and scripts for rendering solid clipped geometry
52threejs-octree. A rough octree implementation to support frustum culling and raycasts in complex THREE.js scenes
46three-sketches. JavaScript
44js-framerate-optimizer. Library for tracking and iteratively improving page framerate over time
40nasa-urdf-robots. Pre-built URDF files from the open source Robonaut 2 and Valkyrie projects from JSC
40three-depthpeeling-demo. Demonstration of depth peeling in three.js
38collaborative-code-editor. Collaborative code editor using Ace Editor, Code-Mirror, and ShareDB
37unity-custom-shadow-experiments. A few custom shadow implementation experiments within Unity
36unity-wireframe-shader. Unity wireframe material using Geometry Shaders
35xacro-parser. Utility for parsing and converting ROS Xacro files in Javascript.
31webgl-shader-editor. Realtime editor for creating webgl shaders
29unity-rendering-investigation. Investigation into different Unity rendering approaches with an eye on performance
27batched-material-properties-demo. Demonstration of rendering three.js' BatchedMesh with different material properties in one draw call.
243d-demo-data. Set of gltf models to load in online demos and examples
24coordinate-frame-converter. A Unity utility for simply converting between different coordinate frames.
22vscode-urdf-preview. VSCode extension for viewing and testing a URDF file
18threading-js. Wrapper for Web Workers for easily running a function from the client without serving the worker a script
18batched-3d-tiles-demo. Demonstration of rendering 3d tiles using three.js BatchedMesh addon
16webgl-precision. Webpage for computing and displaying a devices float and int precision for vertex and fragment shaders.
15ldraw-parts-library. Upload of the LDraw parts library intended to be used for static file loading in github examples.
15threejs-model-loader. THREE.js Model Loader for delegating to the appropriate geometry loader and associated Web Component
14batched-instanced-mesh-demo. Proof of concept showing a single class being used to render instancing and batching geometry in a single draw call.
14client-side-zip-server. Intercepting fetch requests and serving zip file data from a ServiceWorker.
12webxr-sandbox. Set of experiments and extensions for WebXR with Three.js.
11unity-bezier-curve-shader. Unity experiment using geometry, domain, and hull shaders to render bezier curves
10unity-vector-extensions. Vector extensions to add hlsl-like functionality
8travel-photo-visualization. Processor and visualizer of EXIF data
7urdf-exporter-js. Utility for exporting THREE.js object trees as a URDF file
7js-struct-data-view. Set of functions used to read and write object data to and from an ArrayBuffer
7webgl-gpu-power-estimation-data. JavaScript
7xatlas-three. XAtlas + Three.js: Mesh parameterization / UV unwrapping module for three.js in wasm with webworkers.
7particle-sorting-demo. Compares a spatial-query-based particle sort to other common sorting approaches.
6unity-fragment-sorted-transparency. Visually correct fragment sorted transparency for Unity
6collada-exporter-js. Collada / DAE Format exporter for THREE js geometry
6index-html-webpack-example. Example config for building a full index.html client app with Webpack
6tokyo-sake-calendar. JavaScript
3scriptable-three-renderer. Investigating new options for making the WebGLRenderer more customize-able.
3animated-svg-path-element. Polymer element that animates the drawing of SVG paths
3gkjohnson.
3multidraw-performance-repro. Reproduction case demonstrating low multi draw performance vs instancing.
3image-downloader-chrome-extension. Chrome Extension originally written in 2013 to download sets of images from online albums
3dynamic-import-test. JavaScript
2model-viewer. Easily display interactive 3D models on the web and in AR!
2