2022–26
Ph.D. in Computing — Graphics & Visualization TrackUniversity of Utah
2017–22
B.S. & M.S. in Computer Science — Graphics & Visualization TrackUniversity of Utah · Magna Cum Laude, Top 3.5%
2018–26
Research Assistant — Hardware Ray Tracing GroupUniversity of Utah, Salt Lake City, UT — Developed Arches, a cycle-accurate hardware simulator, and used it to investigate new methods to accelerate hardware ray tracing.
2025
Research Intern — Advanced Micro Devices (AMD)Salt Lake City, UT — Investigated BVH construction methods targeting traversal hardware.
2024
Research Intern — NVIDIASanta Clara, CA — Developed a high-performance software replacement for fixed-function tessellation hardware.
2023
Research Intern — Advanced Micro Devices (AMD)Austin, TX — Designed and evaluated shader execution reordering strategies for hardware ray tracing pipelines.
2022
Research Intern — Reality Labs Research, MetaRedmond, WA — Investigated anti-aliasing methods for hardware ray casting in AR/VR applications.
2021
Research Intern — QualcommSalt Lake City, UT — Developed and benchmarked a custom ray tracing architecture for mobile GPUs.
2020
Research Intern — Advanced Micro Devices (AMD)Salt Lake City, UT — Profiled and analyzed ray tracing workloads across modern AAA titles and industry benchmarks.
2019–20
Developer Intern — Scientific Computing & Imaging Institute (SCI)Salt Lake City, UT — Maintained an in-house OpenGL rendering engine.
C++
Prometheus — Spectral Path TracerFull-featured spectral path tracer with a custom compressed wide BVH, multiple importance sampling, next-event estimation, mesh and image-based lighting, physically based materials, dispersion, spectral reconstruction, texture mapping, depth of field, and volumetric scattering.
C++
Project 8K — Path TracerA CPU path tracer that fits entirely in an 8KiB executable. All windowing, threading, and file I/O are handled directly through the Windows API.
CUDA
Scoped Radix Sort — GPU Sorting AlgorithmA high-performance radix sort which executes entirely on a single SM, designed as a proof of concept for local sorting in LBVH construction. Achieves approximately 5× better performance than global sorts like OneSweep.
C++
RA5 — Film Inversion ToolA tool for inverting and editing scans of color negative film.
2025Utah Teapot Rendering Competition — Winner
2019Utah Teapot Rendering Competition — Winner
2016SIGGRAPH Pioneer Mentor Program — Selected Participant