I make Unreal Engine 5 games run faster and fit in memory on PS5, Xbox Series X|S and PC. I profile the frame, find which part of a pass actually costs time, and fix it in the renderer or in the content. In my own time I build Cerberus, a Vulkan renderer with a hardware ray-traced path tracer.

Results from my work at Third Kind Games (Virtuos). The current project is unannounced and under NDA, so only the pass, the change and the measured result are shown.
Moved skinned-foliage shadow invalidation to the static path and time-sliced GPU invalidation across frames when lighting changes.
Profiled the pass and found voxels (~28%) and programmable raster (~20%) were its largest costs. Built tools to switch foliage Nanite settings to voxels and tuned programmable raster, density and rasterizer configuration.
Quantified programmable-raster cost with A/B tests: masked materials and World Position Offset accounted for about a tenth of the pass.
Broke down shading with A/B tests and measured the cost of derivative-heavy shading and vertex-side material features; traced most of the cost to a small set of shading groups. Turned the findings into a prioritized action plan for Art and Tech Art.
Reduced the upload spikes that caused frame hitches.
Worked extensively on memory within tight, fixed console budgets (notably Xbox Series S): fixed memory leaks, improved memory management in a custom plugin and used memory profiling tools to drive game-wide optimizations. Backported Unreal Engine fixes for memory, performance and stability.
Diagnosed and fixed multiple rendering and RHI issues, including AMD-specific D3D12 crashes when adding Ray Tracing Pipeline State Objects and black-patch artifacts in Runtime Virtual Textures.
Designed a graphics settings framework for DLSS, FSR 4 and frame generation, and per-platform Performance and Quality modes built on Device Profiles.
Added a distance-based ray-count falloff for Shadow Map Ray Tracing and custom cache invalidation for large, streamed worlds.
Percentages are approximate and measured on the project's own captures. Bars show the share of the pass's cost removed.
A Vulkan renderer written from scratch in C++20. It has two scene renderers you can switch at runtime: a forward PBR rasterizer and a hardware ray-traced path tracer with its own denoiser. Both run on a render graph over a thin RHI.

Raygen, closest-hit and miss shaders, BLAS/TLAS builds with compaction, a shader binding table and bindless textures. One sample per pixel, BSDF-sampled indirect light and next-event estimation for directional lights.
Demodulated diffuse and specular signals. Temporal reprojection with consistency checks and a ReLAX-style search fallback, virtual reprojection for reflections, a history-fix pass and variance-guided à-trous filtering.
Passes declare what they read and write. The graph sorts them, derives every barrier from real per-frame access history, merges compatible passes into one Dynamic Rendering scope, culls unused passes and times each pass on the GPU.
Typed command lists for graphics, compute, transfer and ray tracing, handle-based resource ownership and deferred deletion. A forward renderer with shadow cascades and GPU-baked IBL, and an ImGui editor.
// one frame, one submit Editor / Application └─ SceneRenderer Forward | PathTracer // only the active one is alive └─ RenderGraph declared access → order, barriers, scope merging └─ Command lists graphics · compute · ray tracing └─ Cerberus RHI → Vulkan



Unannounced UE5 project under NDA (since Jul 2026) and Mavrix (Feb 2025 – Jul 2026). GPU performance, memory and stability on PC, PS5 and Xbox Series X|S; engine-level renderer and RHI changes.
Judas, Unreal Engine 4. Time-sliced, on-demand reflection-probe generation for procedurally generated content; mentored a junior developer.
Judas, Unreal Engine 4. Render-state streaming to cut primitives processed per frame; backported UE5 compute visibility to UE4.
Judas, Unreal Engine 4. Culling to reduce draw calls and lighting optimization within performance budgets.
Master's in Computer Science, Instituto Superior Técnico, Lisbon (2019 – 2021) · Bachelor's in Computer Science, University of Lisbon (2016 – 2019)
Engines built for university graphics courses, with particles, bloom and cel shading.
adrianrodriguesm.dev@gmail.com