Tokyo, Japan

Garrett Johnson

Elite
@gkjohnson

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.4k

three-gpu-pathtracer. Path tracing renderer and utilities for three.js built on top of three-mesh-bvh.

1.8k

three-bvh-csg. A flexible, memory compact, fast and dynamic CSG implementation on top of three-mesh-bvh

923

threejs-sandbox. Set of experiments and extensions to THREE.js.

860

urdf-loaders. URDF Loaders for Unity and THREE.js with example ATHLETE URDF Files open sourced from NASA JPL

802

three-edge-projection. Visible geometry edge projection and flattening based on three-mesh-bvh.

345

unity-dithered-transparency-shader. Unity material and shader for applying clipped, dithered transparency

329

closed-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

292

three-geojson. Three.js shape loaders for GeoJSON and WKT formats

237

source-engine-model-loader. Three.js loader for parsing Valve's Source Engine models

85

webgl-gpu-power-estimation. Utility for estimating the power of the GPU in the browser using WebGL debug parameters.

55

unity-clip-shader. Unity shader and scripts for rendering solid clipped geometry

52

threejs-octree. A rough octree implementation to support frustum culling and raycasts in complex THREE.js scenes

46

three-sketches. JavaScript

44

js-framerate-optimizer. Library for tracking and iteratively improving page framerate over time

40

nasa-urdf-robots. Pre-built URDF files from the open source Robonaut 2 and Valkyrie projects from JSC

40

three-depthpeeling-demo. Demonstration of depth peeling in three.js

38

collaborative-code-editor. Collaborative code editor using Ace Editor, Code-Mirror, and ShareDB

37

unity-custom-shadow-experiments. A few custom shadow implementation experiments within Unity

36

unity-wireframe-shader. Unity wireframe material using Geometry Shaders

35

xacro-parser. Utility for parsing and converting ROS Xacro files in Javascript.

31

webgl-shader-editor. Realtime editor for creating webgl shaders

29

unity-rendering-investigation. Investigation into different Unity rendering approaches with an eye on performance

27

batched-material-properties-demo. Demonstration of rendering three.js' BatchedMesh with different material properties in one draw call.

24

3d-demo-data. Set of gltf models to load in online demos and examples

24

coordinate-frame-converter. A Unity utility for simply converting between different coordinate frames.

22

vscode-urdf-preview. VSCode extension for viewing and testing a URDF file

18

threading-js. Wrapper for Web Workers for easily running a function from the client without serving the worker a script

18

batched-3d-tiles-demo. Demonstration of rendering 3d tiles using three.js BatchedMesh addon

16

webgl-precision. Webpage for computing and displaying a devices float and int precision for vertex and fragment shaders.

15

ldraw-parts-library. Upload of the LDraw parts library intended to be used for static file loading in github examples.

15

threejs-model-loader. THREE.js Model Loader for delegating to the appropriate geometry loader and associated Web Component

14

batched-instanced-mesh-demo. Proof of concept showing a single class being used to render instancing and batching geometry in a single draw call.

14

client-side-zip-server. Intercepting fetch requests and serving zip file data from a ServiceWorker.

12

webxr-sandbox. Set of experiments and extensions for WebXR with Three.js.

11

unity-bezier-curve-shader. Unity experiment using geometry, domain, and hull shaders to render bezier curves

10

unity-vector-extensions. Vector extensions to add hlsl-like functionality

8

travel-photo-visualization. Processor and visualizer of EXIF data

7

urdf-exporter-js. Utility for exporting THREE.js object trees as a URDF file

7

js-struct-data-view. Set of functions used to read and write object data to and from an ArrayBuffer

7

webgl-gpu-power-estimation-data. JavaScript

7

xatlas-three. XAtlas + Three.js: Mesh parameterization / UV unwrapping module for three.js in wasm with webworkers.

7

particle-sorting-demo. Compares a spatial-query-based particle sort to other common sorting approaches.

6

unity-fragment-sorted-transparency. Visually correct fragment sorted transparency for Unity

6

collada-exporter-js. Collada / DAE Format exporter for THREE js geometry

6

index-html-webpack-example. Example config for building a full index.html client app with Webpack

6

tokyo-sake-calendar. JavaScript

3

scriptable-three-renderer. Investigating new options for making the WebGLRenderer more customize-able.

3

animated-svg-path-element. Polymer element that animates the drawing of SVG paths

3

gkjohnson.

3

multidraw-performance-repro. Reproduction case demonstrating low multi draw performance vs instancing.

3

image-downloader-chrome-extension. Chrome Extension originally written in 2013 to download sets of images from online albums

3

dynamic-import-test. JavaScript

2

model-viewer. Easily display interactive 3D models on the web and in AR!

2
54
Apply