Handling Deep Transform Hierarchies

Transform component of an entity in a game scene encodes where that entity is in the scene, how it’s oriented, what is its relation to other entities, and…

Adding Frustum Culling to My Engine

Even though not every object in a 3D scene appears on the screen, their data is still sent to the GPU for processing, only to be discarded later in the…

3D Rendering With OpenGL

Common Transformations In most 3D applications, we define a few different coordinate spaces (or frames) to make it easier to perform and reason about certain…

Math and Transformations for OpenGL

Coordinate Spaces, Systems and Frames Notice that so far, we’ve used points within the range $[-1,1]$ on all axes. Also, recall that our vertex shader did…

OpenGL Rendering Pipeline and Shaders

Rendering Pipeline The sequence of steps that OpenGL takes to transform 3D shapes into 2D images is called the rendering pipeline. This pipeline is designed as…

OpenGL Setup and First Application

This is the first post of a series summarizing the lectures on https://learnopengl.com with some additions of my own. OpenGL OpenGL is a cross-platform API for…

Making a Game Engine

I’m writing this to reflect on my progress so far in making my own game engine, Kuki, that is named after my eldest cat. My journey began by following the…

Pathfinding and AI in Unity

Following my experiments with procedural map generation, I wanted to see some action on the maps I generated. So, I decided to add agents to the scene to…

Procedurally Generated Maps for MOBAs

In recent months, I’ve been exploring procedural level generation techniques and algorithms to streamline the level design process for my future game…

Formal Syntax Scraping With ANTLR

A few years ago, I discovered ANTLR while trying to build a parser for a custom config file format. By defining a simple grammar, I was able to get my work…