Gamma-correct forward pipeline
Blinn-Phong lighting, textured & glTF-loaded meshes, directional shadow mapping with PCF, procedural sky — running in an sRGB-correct DX12 pipeline.
Canary is a C++20 / DirectX 12 game engine, built from scratch — no third-party runtime, no engine-for-hire detour. One focus: shipping games, milestone by milestone, in the open.
Blinn-Phong lighting, textured & glTF-loaded meshes, directional shadow mapping with PCF, procedural sky — running in an sRGB-correct DX12 pipeline.
JSON scene descriptors, dynamic spawn/destroy with a stable id→index map — no dangling references when entities come and go mid-frame.
Platform input (GLFW) is fully abstracted behind engine key codes. Gamepad support via the SDL mapping database, plus time-scale and pause built in.
A PIMPL-isolated AudioEngine service on top of miniaudio — pitch-varied footsteps, jump/land/pickup cues, ambient loops.
Five rotating cubes on screen, WASD/QE orbital camera. The first real 3D pipeline.
Blinn-Phong lighting, textured materials, glTF mesh loading, JSON scenes, ImGui debug panel, mouse look.
The engine and the game became separate things. First playable: a third-person character controller with collision and a real win condition.
Gamma-correct rendering, directional shadow mapping, procedural sky, resizable and borderless-fullscreen windows.
A dedicated AudioEngine service; full sound design pass on the first playable game.
Action-based input with gamepad support, time scale & pause, and a fully dynamic scene lifecycle with stable IDs.
Continuing past M07 with one goal: demonstrable, playable game content built on what's already running.
Building Canary from scratch to go deep on low-level systems and graphics programming — and because making games, not tooling for other industries, is the point. Currently studying Advanced Programming for AAA Video Games at UPC School, Barcelona.