Brandon Shihabi

Rendering Engineer | Game Engine Programmer

brandon.shihabi@gmail.com

Hi, my name is Brandon Shihabi! I'm a Software Engineer specializing in low-level programming, particularly Game Engines and Rendering. I am currently studying Computer Science and Engineering at UCLA and have professional experience working on AAA Games and Graphics tech.

This summer, I worked as the Core Rendering Intern at Insomniac Games working on Wolverine and other Insomniac titles. I worked on our proprietary game engine developing new mesh shading pipelines from scratch for the PS5. I also helped the team ship Marvel's Spider-Man 2 in the summer of 2023 working on performance optimizations and bug fixes to help get the game ready for gold and reviewer patch.

I also worked at Apple on the Metal Ecosystems Team working with external game developers looking to port their games and engines to the Apple platform. I worked with the Metal graphics API and helped move pre-existing MoltenVk backends using Vulkan to use Metal backends. I also optimized performance for the M1's TBDR GPU architecture

In my spare time I have developed my own personal engine projects, including a Vulkan Game Engine for Linux and a D3D12 Renderer that supports real-time ray-traced global illumination.

EXPERIENCE

Insomniac Games | Core Rendering Intern

JUN. 2024 - SEP. 2024 | Managed by Al Hastings (Chief Engine Architect/Co-Founder)

I worked on the core rendering team to develop and implement new mesh shading technologies on Marvel's Wolverine and other unnannounced titles. Previously, our engine did not have any support for any mesh shaders. I developed and integrated, from scratch, a mesh shading pipeline with real-time decompression of meshlet buffers and custom per meshlet culling solutions to improve performance and reduce memory usage and bandwidth. I added support in material pipelines to compile mesh shader versions of all existing materials and implemented APIs in our graphics context to support mesh shading dispatches on both PS5 and PC. I also implemented fallback support for GPUs which do not support mesh shaders using emulation with comparable performance.

Apple | Graphics/GPU Software Intern

FEB. 2024 - JUN. 2024 | Managed by Josh Doss

Worked on the Metal Ecosystems team helping the Godot game engine port to a Metal backend. I profiled the engine to find performance hot-spots/bottlenecks for improvement and figured out solutions to adapt to the TBDR architecture on Apple platforms. I also optimized existing NUMA patterns in engines (such as using staging buffers) to better support UMA.

To support HDR on Apple platforms and respond to the luminance headroom, I developed a real-time approximation of the ACES tone-mapping curve which takes in a max luminance parameter and creates a tone mapping curve responding to the output headroom and adjusting the shoulder of the curve. And since Godot has no support for HDR in the engine at all, I implemented a from scratch HDR 10 implementation for the Metal backend with a PQ transfer function and proper Rec. 2020 color space conversion.

Insomniac Games | Core Rendering Intern

JUN. 2023 - SEP. 2023 | Managed by Al Hastings (Chief Engine Architect/Co-Founder)

I worked on the core rendering team to help maintain and improve our proprietary Game Engine on Marvel's Spider-Man 2. I collaborated with the rest of our rendering team to deliver essential fixes and improvements to ship gold and reviewer patch. I also worked closely with other departments, such as environment and lighting, to diagnose rendering bugs those teams encountered and improve graphics.

I diagnosed bottlenecks of various rendering systems and optimized performance to reduce GPU starvation, increase wavefront occupancy, and move more work to async compute. I also worked to diagnose bugs specific to our PS5 graphics context and command buffer submission scheme and improved graphical fidelity in many different areas throughout the open world.

Rhombus Systems | Firmware Engineer

JUN. 2021 - SEP. 2022 | Managed by Drew Gallatin (Director of Engineering)

Rhombus Systems is an enterprise security camera startup focused on a cloud-based platform. They provide AI services to help monitor video streams automatically.

We often found that many of the same issues would always occur on-site when installing our cameras, mainly related to firewall issues. I led the design of a new device that would test for issues over a PoE connection and show the user what tests, if any, failed. This device ran a custom firmware I built based on Linux. I designed an in-house graphics driver to show the UI on the LCD display and ran a suite of tests to check for connectivity, MITM attacks, and more.

PROJECTS

D3D12 Renderer

FEB. 2023 - PRESENT

Athena is my personal experimental renderer that I use to explore the boundaries of graphics. It is built directly off of D3D12 and takes advantage of many of the next-generation features that the API provides. A render-graph abstraction is used to declare render passes with all resource-transitions and synchronizations handled by the graphics context. It also takes full advantage of bindless descriptors using Shader Model 6.6. The renderer uses a deferred shading model and real-time ray-tracing to implement dynamic diffuse global illumination using light probes. The demo shown is running at 60 FPS on a 3050ti laptop with <1 ms dedicated to dynamic global illumination.

Vulkan Game Engine

OCT. 2021 - OCT. 2022

Vultr is a custom 3D Game Engine I built from scratch for Linux with a Vulkan rendering backend. I designed an editor for the engine using ImGui that supports editing materials, assets, the entity hierarchy, levels, and exposed gameplay structs using my own macro-based runtime type reflection. All changes in the editor are serialized and deserialized into a YAML format on save. The engine uses my own ECS architecture and supports hot-reloading gameplay code through DLLs (including changes to component structs), optimized asset imports into a custom runtime file format, and a complete material system that works with custom shaders. The engine can render PBR graphics supporting roughness, metalness, normal, and albedo textures. The meshes, textures, shaders, and all other assets are loaded using separate thread submission queues to maximize performance. It also uses a minimal subset of the C++ STL, opting for a custom template library where possible.

BlueBubbles - iMessage on Android and Windows

APR. 2020 - DEC. 2020

BlueBubbles is an iMessage solution for Android, Linux, and Windows that allows you to send and receive Apple iMessage texts from non-Apple devices. I started this open-source project in 2020 with some other developers, and the app now has over 11,000 active users. I worked on the Android client and designed the Flutter app to communicate with our Mac server. The video playing above was created (voluntarily, we did not ask) by the YouTube channel HowToMen to showcase our app and has over 350k views.