Rendering Engineer & Project Lead

I'm a results-driven Rendering Engineer with a passion for developing immersive environments and experiences. With the additional responsibility of being a business owner, I have developed a strong skill set in project management, budgeting, and team leadership. I'm looking for new experiences and challenges that will develop my professional goals and objectives.

As the Lead Rendering Engineer, I immerse myself in every aspect of the rendering process, meticulously bridging the gap between artists' creative intent and the final graded output. My primary focus on shader development allows me to collaborate seamlessly with artists, game cinematographers, and game photographers. Together, we crafted a toolkit that empowers them to articulate their vision with ease and precision. This hands-on involvement in shader development displays my technical proficiency and highlights my commitment to facilitating a seamless and intuitive creative process for the entire team.

Path Tracing

Real-Time Path Tracing

I have demonstrated unparalleled expertise in real-time path tracing, a complex and cutting-edge rendering technique. Working at the forefront of technology, I've successfully implemented and optimized real-time path tracing solutions that push the boundaries of visual realism.

My contributions in this realm encompass the development of efficient algorithms and the integration of real-time path tracing into practical applications. This includes collaborating closely with artists and technical teams to ensure seamless implementation and optimal performance.

Ray Denoising & Upscaling

Considering real time constraints, Path Tracing is only able to accomplish a handful of samples per pixel, resulting in a noisy image. Based on the work from Christoph Schied, Gradient Estimation for Real-Time Adaptive Temporal Filtering , I continued research and engineered a groundbreaking solution. This innovative adaptation significantly enhances ray reusability, leading to a remarkable reduction in visual anomalies.

By tailoring the denoising and upscaling processes to account for how light interacts with the surface, my approach ensures a more accurate representation of materials and lighting conditions, especially in challenging environments with limited illumination.

Custom Acceleration Structure and Traversal

Working around the constraints of the existing engine, devising a solution to create a data structure for ray tracing entirely on the GPU proved to be complex. In response to these limitations, I innovatively devised a novel implementation for voxel octree creation and traversal with performance matching or exceeding hardware acceleration.

To accomplish this I utilized the latest shader featureset and applied significant optimizations to efficiently create and store the octree data. Building on the work by John Amanatides and Andrew Woo in "A Fast Voxel Traversal Algorithm for Ray Tracing", I was able to further advance its performance by using shader intrinsics, an advanced shader feature offering substantial performance benefits.

Efficient single-pass multibounce parallax tracing

Parallax mapping allows textures to contain depth, similar to tesselation. It does so by offsetting pixels into the geometry, giving the appearance of a varied surface. In my path tracer, I've implemented a seamless transition to the inside of the texture. This becomes crucial when rendering lighting on macro-scale details required for convincing textures, as exemplified in materials like obsidian glass, where Parallax Occlusion Mapping (POM) plays a significant role.

This method maintains computational efficiency and provides a pragmatic alternative for achieving multi-bounce lighting on macro-scale features without relying heavily on intricate tessellation. The simplicity of moving from voxel to texture ensures minimal computational overhead while preserving the intricacies of complex materials and leveraging the power of POM for realistic texturing effects. This functionality showcases the path tracer's adaptability, making it a practical and efficient choice for rendering diverse scenes with lifelike textures and lighting.

Atmospherics

Unified Lighting System

This model ensures that all light originates from tangible sources: the sun, the sky, and the clouds. I've meticulously accounted for every lighting detail in a physically-based manner. My focus was on incorporating real-world values to uphold proper contrast and saturation across a wide range of atmospheric conditions.

Employing advanced techniques such as spherical harmonics and equirectangular projections, my approach extends beyond traditional considerations, factoring in proper absorption and scattering effects within dense fog. By combining real-world principles with cutting-edge rendering techniques, this unified lighting system guarantees authentic contrast and provides a comprehensive solution for accurately depicting the intricate interplay of light within the atmosphere and on the ground.

Procedural Multiscattered Volumetrics

Innovating the rendering of atmosphere, clouds, and low rolling fog, my Procedural Multiscattered Volumetrics system models their interactions in real-time. Guided by insights from Sébastien Hillaire's work in A Scalable and Production Ready Sky and Atmosphere Rendering Technique, I strategically applied optimizations across all volume forms.

Leveraging a deep understanding of spherical harmonics, I optimized the effects, pushing beyond traditional real-time standards. This achievement reflects my commitment to advancing atmospheric rendering techniques and demonstrates the successful application of cutting-edge research for a refined and efficient solution, exceeding the limits of previous real-time achievements.

Materials

Multi-layer material

Building upon foundational research, I've significantly advanced the rendering of multi-layer materials by seamlessly integrating the GGX-Smith lighting model. Drawing inspiration from Earl Hammon, Jr., PBR Diffuse Lighting for GGX+Smith Microsurfaces and incorporating the Correlated GGX-Smith model from Heitz, my contributions ensure a precise fit for diffuse interactions within the GGX framework.

This strategic implementation prevents energy loss and enables the layering of materials with exceptional fidelity. The result is a renderer capable of accurately depicting intricate materials like clear coats, liquid pools, and thin films, where the interplay of light with multiple layers is captured authentically. This achievement shows my deep understanding of light interactions and my commitment to pushing the boundaries of realism in rendering.

Index of Refraction Transfer

Navigating the complexities of light transfering from liquids to surfaces poses a unique set of challenges in rendering. Achieving realistic visual outcomes demands a nuanced understanding of the interactions between light, liquids, and surfaces.

My work in this domain involved tackling the intricacies of these transfers, ensuring a faithful representation of how light bends and interacts when passing through different substances. I developed solutions that preserve energy and enhance the visual fidelity of liquid-to-surface interactions. This included devising algorithms to accurately simulate the behavior of light as it traverses various mediums, considering factors like scattering, color absorption, and performance.

GGX-Smith Porosity fit

In the pursuit of rendering authentic wet or weathered environments, I delved into the intricacies of porosity, a property of materials that defines small holes that could be saturated with a fluid like water. Recognizing its pivotal role in altering the reflective and diffusive properties of surfaces like concrete or clay; I drew inspiration from notable works such as S. Merillou, J.-M. Dischler, and D. Ghazanfarpour's A BRDF postprocess to integrate porosity on rendered surfaces and Juan Miguel Bajo, Claudio Delrieux, and Gustavo Patow's Physically inspired technique for modeling wet absorbent materials, and embarked on a journey to enhance the rendering of such scenarios.

My contribution lies in the meticulous refitting of proposed works to align with the GGX-Smith diffuse and specular models. This not only ensures the retention of energy but also remains decoupled into specular and diffuse, allowing for easy integration to existing workflows. The result is a rendering approach that authentically captures the impact of porosity on GGX-Smith materials, elevating the visual fidelity of wet and absorbent surfaces.

Multiscattering GGX-Smith Model

The GGX-Smith model, while extremely robust, still has some energy loss if only accounting for a single bounce within the surface. This is especially visible on metals, however it affects all rough surfaces. By modifying the shadow and masking function to account for multiple interactions, surfaces can be made rough without a loss of energy.

This is accomplished with a real-time approximation of Eric Heitz, Johannes Hanika, Eugene d'Eon and Carsten Dachsbacher's Multiple-Scattering Microfacet BSDFs with the Smith Model, accompanied by the diffuse model outlined in Earl Hammon, Jr.'s PBR Diffuse Lighting for GGX+Smith Microsurfaces to account for the saturation change. All of my work on lighting models has passed the white furnace test, which is commonly used for understanding where light is going once it hits a surface to assure energy conservation. I also tested for accuracy against materials found in the MERL BRDF Database, which contains the lighting properties of common materials.

Color Science

Spectral Rendering

Embarking on the path of spectral rendering, I drew inspiration from the pioneering work by Eric Bruneton in Precomputed Atmospheric Scattering: A New Implementation. Bruneton's findings revealed the limitations of standard RGB primaries in capturing the intricate absorption and scattering properties of the atmosphere. While his precomputed approach fell short of meeting requirements of our renderer, the subsequent work by Sébastien Hillaire in A Scalable and Production Ready Sky and Atmosphere Rendering Technique provided a breakthrough.

However, the color primary issue persisted, particularly in modeling ozone absorption in the upper atmosphere. To address this, I leveraged the alpha channel to selectively render new primaries into the Look-Up Tables (LUTs) every frame. This dynamic approach enhances the accuracy of color representation while also achieving results near ground truth in just three frames. This process significantly expanded my understanding of color spaces and conversions, demonstrating a practical application of spectral rendering techniques to overcome atmospheric challenges and achieve more realistic visual outcomes.

Large Gamut and HDR

Informed by the insights gleaned from Alex Fry's talk at Siggraph 2015, ACES in VFX on "The Lego Movie", I've expanded beyond the traditional sRGB base to explore rendering with richer color primaries. This allows for precise color blending in a linear fashion, ensuring the retention of proper saturation. Embracing these principles has broadened my understanding of color and paved the way for a more accurate portrayal of HDR content.

In parallel, my work encompasses the complexities of HDR signaling paths, where the importance of balanced color spaces becomes evident. This holistic understanding—from capturing physical values reminiscent of high-end cameras to optimizing HDR content for immersive viewing—speaks to my comprehensive knowledge of color and its multifaceted applications in rendering and display technologies.

Simulated Lens Optics

People have become accustomed to many of the optical limitations of cameras and lenses in regard to observing photos of the real world on a screen. Therefore, to make the appearance of our renderer even more realistic and create believable imagery from a game, we needed to simulate a physical camera. We landed on a polygonal separable convolution depth-of-field based on work by John White and Colin Barré-Brisebois in Separable Bokeh DoF, Kleber Garcia in Circular separable convolution depth of field, and Colin Barré-Brisebois in Hexagonal Bokeh Blur Revisited.

For simulating lens flares and other ghosting artifacts, we adapted Matthias Hullin, Elmar Eisemann, Hans-Peter Seidel, and Sungkil Lee's work in Physically-Based Real-Time Lens Flare Rendering to fit our performance budget.

Academy Color Encoding System

My proficiency with the Academy Color Encoding System (ACES) extends across the entire pipeline, showcasing a thorough understanding of its integration with film production workflows. This expertise spans from initial color encoding to the nuanced tonemapping processes within the ACES color space. Drawing inspiration from its application in film, I've harnessed the power of ACES to ensure consistency and accuracy throughout the entire rendering pipeline.

A notable aspect of my work lies in the skillful utilization of Look Modification Transforms (LMTs) within the ACES framework. This involves precise tonemapping to achieve desired visual aesthetics while maintaining fidelity to the original scene. By seamlessly integrating ACES into my workflows, I've not only aligned with industry standards but have also demonstrated a keen understanding of color science and tone mapping techniques, further enriching my capabilities in rendering and post-production.

Code Quality

Maintainable Renderer Approach

In my approach to shader design, I emphasize modularity, allowing for effective code reuse across multiple projects. This method involves creating shader effects as distinct modules, providing a unified and streamlined way of interacting with them. This modular structure facilitates code efficiency and ensures consistency and ease of integration into various applications.

For renderer maintainability, I've applied Resource Acquisition Is Initialization (RAII) and Object-Oriented Programming (OOP) practices to develop a stable and efficient renderer. This design focus has been crucial in achieving rapid iteration of new features while reducing implementation time. The result is a renderer that performs efficiently and allows for quick and easy development, adapting seamlessly to evolving project needs.

Renderer Optimization

My expertise in Graphics Optimization encompasses a comprehensive array of tools, including Nsight, RenderDoc, and Pix, which I adeptly leverage for debugging and enhancing GPU performance. With a keen eye for detail, I swiftly identify potential bottlenecks and inefficiencies within rendering pipelines, ensuring optimal utilization of hardware resources.

Through meticulous analysis and testing, I employ these tools to pinpoint areas of improvement, whether in shader complexity, texture management, or general rendering techniques. This proactive approach not only streamlines development processes but also enhances the overall performance and visual quality of graphics applications. My proficiency with these optimization tools underscores my commitment to delivering high-performance solutions and pushing the boundaries of real-time rendering capabilities.