Professional Work
Call of Duty: Black Ops 6 (2024)

Role:Technical Artist
Studio: High Moon Studios
Contributions: Created and owned many tools and pipelines that allowed content creators to easily perform previously complex or time consuming processes easily and quickly. Worked in a shader editor to create unique materials for assets. Created many data gathering tools to help support artists in regards to performance. Used Maya to create rigs and materials for assets. Setup and analyzed frame captures to identify high cost render passes and improve performance.
Engine and Tools: Proprietary Engine, Visual Studio, Maya, Houdini, Adobe Suite
Platforms: PC | Xbox Series X | PS5 | Xbox One | PS4
Projects
Hollow Moon

Volumetric Fog Post-Process
The volumetric fog here is done using ray marching techniques and 3D textures to simulate a dense reactive fog that offers a wide range of variations with a simple palette of parameters to mess with. Fog density, transmittance, light scattering, and color are a few properties that an artist could play with to get a plethora of unique results. The shader also supports multiple light sources.
For the sake of performance, the step size of the marched rays is kept relatively low, then being combined with a layer of gradient noise to offset banding artifacts that usually come with low step sizes.

Sketched Outline Shader
This outline effect is meant to replicate the graininess of outlining something with a pencil. It offers fine control of distances, colors, outline types, and thickness as well as control over whether outlines prioritize being drawn around changes in color or in normals.
Done in HLSL, the shader utilizes a kuwahara filter to discern changes in normals and color, then multiplies the result with voronoi noise along with some random offsets to achieve the sketched effect.
Rendering Engine

Overview
This engine was created to be a personal shader sandbox, a custom engine designed for experimenting with various shaders and easily loading 3D models into scenes. Built in C++ using the OpenGL API and with ImGUI for the user interface, this engine allowed me to rapidly create shaders. Below are two videos that showcase some of the advanced graphical effects I've implemented:
Blinn-Phong + FXAA Anti-Aliasing
In this video, I demonstrate the Blinn-Phong shading model, which is a modern lighting technique that provides a more efficient approximation of the traditional Phong reflection model. The Blinn-Phong model calculates both diffuse and specular lighting components, creating a more realistic interaction between light sources and 3D surfaces. This model is showcased on a backpack model, allowing you to see how lighting affects the model's appearance under different conditions.
Additionally, this video demonstrates FXAA (Fast Approximate Anti-Aliasing) as a post-processing effect. FXAA is a highly efficient technique designed to reduce aliasing (jagged edges) in rendered images without the performance overhead of more traditional anti-aliasing methods like MSAA. The video highlights how FXAA smooths out edges and improves image quality while maintaining high frame rates, especially for dynamic scenes.

Ocean Wave Shader
This video showcases a vertex shader that simulates realistic ocean waves using a mathematical approach based on the sum of multiple sine waves. By manipulating the height of vertices across a plane using a combination of sine functions with varying frequencies and amplitudes, the shader creates the illusion of rolling ocean waves.
This technique brings a low cost solution to water by emulating surface undulations that vary in speed and intensity. The result is a wave pattern that responds to multiple input parameters, such as time, wave direction, and strength.