Ryan GattisGraphics & Systems Engineer

Ryan Gattis

Seattle, WAryangattis@outlook.comgithub.com/matthewgattisLinkedIn

Download PDFTypeset with LaTeX · 94 KB · updated August 2026

Technical Skills

Languages
C++, C#, C, Python, GLSL/HLSL, Bash/Shell, PowerShell
Performance & Systems
Multithreading and concurrency, real-time systems, latency instrumentation, GPU compute (OpenCL)
Graphics & XR
Vulkan, OpenGL, OpenXR, Unity, MRTK, XR Interaction Toolkit, HoloLens 2, Shaders
Math
Linear algebra, quaternions, GLM, Eigen3
Libraries, Tools & Practices
SDL3, VMA, Dear ImGui, shaderc, OpenMesh, GoogleTest, GStreamer, ZeroMQ, CMake, vcpkg, Git, Jenkins, Visual Studio, AI-Assisted Development
Platforms
Windows, Linux, macOS, WSL

Experience

XR Software Design Engineer II — Microsoft Corporation

July 2024 – April 2025 · Redmond, Washington · contract through TEKsystems

Worked on HoloLens 2 and IVAS — the Army’s Integrated Visual Augmentation System — where most of what I built was measurement infrastructure for a real-time system that could not be conventionally debugged.

Instrumentation and diagnostics

Diagnosed Bluetooth connectivity and latency problems with WinDbg against the head tracking system, alongside trace logging. That combination works when the question is discrete — which events fired, and in what order.

Spatial questions need a different instrument. Are anchors landing where we expect? is not a question a breakpoint answers: halting execution destroys the continuous relationship you were trying to observe. That work needed instrumentation that captured enough to reconstruct the behavior afterward, and rendering that put the discrepancy on screen rather than in a log.

Extended a C++ head tracking API to surface internal metrics to the application layer, so diagnostics had real signal to work from rather than inferred behavior.

Validation tooling

Implemented runtime anchor loading and rendering to verify spatial consistency between actual and expected positions — expected-versus-actual validation for a tracking system, rendered in place so discrepancies were visible rather than buried in a log.

Built and extended Unity test tools with MRTK and the XR Interaction Toolkit to validate HoloLens 2 and IVAS functionality.

Collaboration

Worked with the head tracking team to identify and resolve real-time tracking inconsistencies, and authored internal documentation to improve onboarding and knowledge transfer.

3D Software Engineer · Tech Lead · Scrum Master — E4D Technologies, LLC

November 2015 – May 2024 · Richardson, Texas

Eight and a half years building CAD/CAM software for restorative dentistry — processing 3D intraoral scan data to design and manufacture dental restorations. Real geometry, real manufacturing constraints, and a clinician waiting on the result.

GPU compute and performance

Applied OpenCL to offset surface computation, moving it onto the GPU. Offset surface generation is a batch step in the tool path pipeline, and putting it on the GPU made that step faster.

The more consequential result was downstream: it made real-time cutback surface manipulation possible in the Abutment Implant module, where there had been no interactive equivalent before. That is the difference between a designer waiting on a result and a designer shaping one.

Rendering

Implemented slice plane rendering in HLSL, enabling cross-sectional inspection of 3D models during design.

Built camera controls on quaternions and 3D math for precise scene navigation: double-click focus, interpolated tracking during point cloud acquisition, and automatic framing derived from the scene AABB.

Geometry and manufacturing

Developed controls for positioning and manipulating 3D objects in the scene, including mill block placement with space constraint visualization.

Computed sprue angle positioning for implant restorations, constraining orientation to the discrete angles of the implant’s interface geometry so the Ti-base locking cam aligns. Getting this wrong produces a restoration that will not seat.

Solo developed meshfilterapp, a C++ command line tool for loading, transforming, and exporting PLY, STL, and OBJ meshes as part of the manufacturing export pipeline.

Architecture demonstration

Solo built a TypeScript web demo with Webpack, streaming real-time 3D scene graph construction over WebSockets and ZeroMQ into a Three.js scene, to demonstrate a proposed product architecture.

Leadership

Created onboarding infrastructure — multi-repo setup scripts and documentation — that measurably shortened new hire ramp-up. Mentored engineers on MVVM architecture, code patterns, and C# async/await. Ran sprint planning, retrospectives, and code reviews as Tech Lead and Scrum Master.

Education

B.S. Computer Science, Minor in Electrical Engineering
Texas Tech University · Fall 2010 – Spring 2015

Projects

Selected personal work — renderers, engine libraries, and GPU compute — is written up in detail under projects.