A 2D 7 key rhythm game that uses C++ and OpenGL for graphics rendering and OpenAL for audio for my final year project.

A game heavily inspired by Bomberman with a map editor and custom game modes in a future update

OpenGL terrain generation with water using C++

A CPU ray tracer written in C++ using the Walnut application as a starting point.

A mobile game that I created in 2021. A casual game where you tap the screen as much as you can to launch the punching bag as far as you can.

Terrain is procedurally generated using simplex noise on the compute shader. The normal calculations on the terrain are calculated using the central difference method done on the compute shader.

The wireframe view demonstrates the usage of the tessellation shaders on the procedurally generated terrain

Implemented water using a quad and created the water reflections using the Fresnel effect as well as applied water flow using DuDv maps that moves every frame.

Recoloured note image using Vue and modified the graphics of the viewer and removed leftmost lane which is unused

The shapes are drawn by casting a ray that extends to a large distance from the position of the camera. The shapes themselves have an equation that plots multiple points in 3D where if the ray intersects with that point, the pixel on that screen is coloured.
Light bounces are calculated by doing the same process but from the position of where the ray intersected the point.