Nanite Explained: How Modern Game Engines Render Billions of Triangles Without ExplodingFrom draw calls to culling to virtual geometry. Everything you need to know about the system that killed the triangle budget.Apr 15, 2026·20 min read
Why EXR Is the Real Deal for SkyboxesRegular images are broken for this A PNG stores colors as numbers from 0 to 255. That is it. The brightest white and the sun are both 255. But in reality the sun is 10,000x brighter than a white wall.Apr 14, 2026·3 min read
Building a Procedural Planet from Scratch: The Full PipelineIntroduction This is a walkthrough of every layer in a procedural 3D world generation system. Each section solves one problem. They build on each other in order. By the end you have a fully textured, Apr 14, 2026·13 min read
PBR: What It Actually Is and How Each Map WorksIntroduction PBR stands for physically based rendering. It is a lighting model that simulates how light actually behaves in the real world. All examples are from Patina. A moss How light works in reaApr 13, 2026·7 min read
Dirty Flag. Skip Work That Does Not Matter Yet.Introduction Sometimes your program does expensive calculations over and over for no reason. The input changed three times but you only needed the output once. You are throwing away work. The dirty flApr 12, 2026·5 min read
Spatial Partition. Stop Checking Everything Against Everything.Introduction Your game has hundreds of units on a battlefield. Each one needs to know which enemies are nearby. The naive approach: compare every unit to every other unit. That is O(n²). Double the unApr 12, 2026·5 min read
Object Pool. Stop Allocating. Start Reusing.Introduction Allocating and freeing memory is slow. On consoles and mobile devices it is even worse because it fragments the heap. Over time your free memory turns into a scattered mess of tiny gaps tApr 12, 2026·5 min read