"ε€γγδΌθͺ¬γζ°γγͺζ΄ε² - The Legend Evolves, A New History Begins."
I am a Software Engineering graduate currently pursuing a Master's in Games Engineering at WMG, University of Warwick.
Passionate about video games (surprise, Sherlock π΅οΈββοΈ), real-time rendering, computer graphics, and the math behind the pixels. My goal is to specialize as a Graphics Programmer, bridging the gap between artistic vision and hardware performance.
Currently, I am strengthening my foundation in the Graphics Pipeline, C++, and DirectX 12 (DX12).
Recently, I was selected for a graphics-focused Master's dissertation under the supervision of Dr. Thomas Bashford-Rogers. My current studies are dedicated to building the technical groundwork required for this upcoming research.
| Category | Technologies |
|---|---|
| Languages | |
| Graphics API | |
| Scripting & Processing | |
| Tools & Version Control |
Here are some of the projects I'm proud of:
An extended, CPU-based multithreaded, Physically Based Renderer written in C++, built to explore advanced light transport and microfacet models. The core architecture supports standard Path Tracing alongside Instant Radiosity and Light Tracing integrators. For the Instant Radiosity implementation, Halton Sampler (a quasi-Monte Carlo sampler) is utilized, relying on prime bases for the Radical Inverse. The material framework handles GGX Microfacets (Conductor BSDF, sampled proportionally to the NDF), Plastic BSDF (using Phong model), Oren-Nayar BSDF, and Layered BSDF which evaluating Beer's Law for attenuation. Render times and variance are managed via a Binned SAH BVH, tile-based rendering, Multiple Importance Sampling (MIS) for Latitude-Longitude based Environment Maps (utilizing a luminance-based PDF), and custom AOV outputs to support Intel OIDN for denoising (post-processing).
A CPU-based implementation of the graphics pipeline, accelerated using optimization techniques and multithreading.
- Tech: C++, SIMD (SSE/AVX, AVX2), Multi-threading
An ongoing multithreaded offline ray tracer (CPU-based), written in C++, acting as a proving ground for light transport math. Currently encompasses the full Ray Tracing in One Weekend (Shirley et al., 2025) architecture, extending into book two with integrated Motion Blur and a custom Bounding Volume Hierarchy (BVH) to drop spatial intersection costs. The BVH build is parallelized utilizing C++17 executions (std::execution::par) to keep the CPU fed. Actively working through the rest of the trilogy to build out the full advanced feature set.
Earlier implementation of rasterization techniques. Implements the full Model-View-Projection (MVP) transformation chain, perspective-correct interpolation, depth buffering, and Lambertian lighting using a math library written from scratch, for matrices, vectors, and homogeneous coordinates. Parses .gem mesh files and renders with pixel-perfect rasterization.
A client-server chat room application built from scratch using WinSock for networking. The server handles multiple clients concurrently, while the client features a graphical interface built with Dear ImGui. Supports public broadcast messages and private 1-to-1 direct messages (DMs). FMOD integration provides real-time sound notifications for incoming messages.
A custom rendering engine built from scratch using DirectX 12.
- Goal: To master low-level concepts including Descriptor Heaps, Root Signatures, and Pipeline State Objects (PSOs).
- Evolution: This will be the re-architected and improved version of my previous framework (Coursework Submission).