Blog

I write mostly about the hobby side of my programming – which usually is related to algorithms, game development and graphics programming.

October 18, 2024
Unicode Text Rendering in Zig with FreeType and HarfBuzz
How to use state-of-the-art libraries to render (almost) any text.
May 8, 2024
Open Problems of A* for Any Angle Pathfinding
Exploration of various ways to apply A* for any angle paths.
March 23, 2024
Constrained Delaunay Triangulation from a Paper
Sloan's fast algorithm for generating constrained Delaunay triangulation or how to implement an algorithm from a paper.
September 29, 2023
Drawing Text in WebGPU Using Just the Font File
How to parse TTF font file and render text using the SDF method.
August 29, 2023
Thousands of Styled Rectangles in 120FPS on GPU
Secrets of rendering performant UIs in WebGPU.
July 15, 2023
PBR in WebGPU: Implementation Details
Short write up on how to implement Physically Based Renderer with Image Based Lighting using WebGPU.
June 25, 2023
How to Write a Flexbox Layout Engine
You won't guess how little code it takes to write a full-blown layout engine.
April 29, 2023
Using Zig for Writing OpenGL in Browsers
What if, instead of running JS everywhere, we went all-in hardcode low-level coding?
August 12, 2021
Understanding React by Implementing It
From the creator of broken Google Maps clone, now a broken React ready to conquer your node_modules.
January 18, 2021
Baked Lighting in r3f
Technique of baking light used for achieving very well performing Three.js scene with amazing visuals.
January 6, 2021
Making of: 3D Chess in React
Short summary of how I made a 3D Chess game in React.
November 2, 2019
TTF File Parsing
Even though TTF files are binary ones and are not meant to be read by humans directly, they are not magic either. So we're going to parse them in NodeJS.
September 7, 2019
Making Our Own Tiny Google Maps
Have you ever dreamed about creating your own interactive maps like the Google Maps? I did. Here's how to achieve it.
September 5, 2019
Fetching Data from the Open Street Maps
A non-obvious task of downloading data from OSM has unexpected, highly programmable solutions.
January 13, 2019
Triangulation of Polygons
Triangulation is the thing you need when you have polygons, but graphic engines only accept triangles. Features Ear Cut algorithm.
January 5, 2019
Wireframes with Barycentric Coordinates
A handy hack to render wireframe of a mesh. How to use barycentric coordinates to achieve uniform edge width.
December 26, 2018
Brief Explanation of WebGL
Quick guide about the concepts of 3D rendering and the maths behind it. Why matrices are so powerful, adding perspective, cameras and lighting.
December 23, 2018
Web Mercator Projection
Formulas and notes on the Web Mercator projection.