Nathan is a researcher at Adobe Systems, Inc. working on computer graphics related topics. He joined Adobe after completing his Ph.D. from the Department of Computer Science at the University of Illinois Urbana-Champaign under the guidance of John C. Hart. His interests range from image and geometry processing, to computer graphics. His primary areas of focus have been in rendering, graphics hardware, and geometry processing. His thesis focused on techniques for mesh parameterization with an emphasis on making them useful for accelerating surface processing algorithms on consumer level graphics hardware.

While at Adobe, he helped develop the Adobe Image Foundation, a GPU accelerated image processing library that became part of the Adobe Flash player. He created ART, the global illumination renderer that is part of Photoshop Extended. He helped port that vector graphics and image filtering portions of the Adobe Flash player to run accelerated on mobile GPU devices. He served as the co-chair of ACM/Eurographics Sixth Symposium on Sketch-Based Modeling and Interaction. He helped develop the Repousse’ 3D modeling system that that is part of Photoshop Extended. He was the co-chair for the Adobe Technology Summit 2011, which was an internal event with an excess of two thousand employees in attendance.

Prior to Adobe, Nathan spent his summer of 2002 at Nvidia in Santa Clara, California where he worked on their architecture team that designs the new up and coming graphics processors. During his time there, he designed new features for future products while assessing Nvidia’s existing product line with that of their competitor’s.

Has has spent two summers interning at Intel at their Intel Architecture Labs in their 3D software technologies group, which is intended to be an “Idea Factory”, research oriented branch of Intel. In the summer of 2000, he worked closely with Intel’s software graphics team. The team at that time was developing the 3D authoring capabilities of Macromedia (now Adobe) Director 8.5 Shockwave Studio. Much of his work focused on developing real-time simulation techniques for cloth animation. In the summer of 1999 he worked on developing Intel’s IPEAK graphics performance toolkit product with assisted developers in performance tuning, optimizing, and profiling OpenGL applications.

Nautilus: Recovering Regional Symmetry Transformations for Image Editing

FlowRep: Descriptive Curve Networks for Free-Form Design Shapes

k-Curves: Interpolation at Local Maximum Curvature

Skippy: Single View 3D Curve Interactive Modeling

Topology-Controlled Reconstruction of Multi-Labelled Domains From Cross-Sections

Gradient-Domain Vertex Connection and Merging

Feature-aligned segmentation using correlation clustering

PatchMatch-based Automatic Lattice Detection for Near-Regular Textures

High-Quality Hair Modeling from a Single Portrait Photo

Topology-Constrained Surface Reconstruction From Cross-sections

Anisotropic geodesics for live-wire mesh segmentation

Pack Merger: A 3D Print Volume Optimizer

Dual-Color Mixing for Fused Deposition Modeling Printers

Automatic scene inference for 3D object compositing

Adaptive Rendering Based on Weighted Local Regression

A general and efficient method for finding cycles in 3D curve networks

An Algorithm for Triangulating Multiple 3D Polygons

Creating Contour Gradients using 3D bevels

Efficient Nonlinear Optimization via Multiscale Gradient Filtering

Stress Relief: Improving Structural Strength of 3D Printable Objects

Context-aware garment modeling from sketches

A Linear Variational System for Modeling From Curves

Optimizing Structure Preserving Embedded Deformation for Resizing Images and Vector Art

Importance Sampling Spherical Harmonics

Coherent Layer Peeling for Transparent High-depth-Complexity Scenes

Repoussé: Automatic Inflation of 2d Artwork

Fast GPU ray-tracing of dynamic meshes using geometry images

Rectangular multi-chart geometry images

Particle-based fluid simulation on the GPU

Voronoi rasterization of sparse point sets

Two algorithms for fast reclustering of dynamic meshed surfaces

GPU algorithms for radiosity and subsurface scattering

Meshed atlases for real-time procedural solid texturing

Antialiased parameterized solid texturing simplified for consumer-level hardware implementation