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
For a change I am not reinventing the wheel but using 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 Euclidean path search problem.
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 to render text using the SDF (Signed Distance Field) method.
August 29, 2023
Thousands of Styled Rectangles in 120FPS on GPU
Secrets of rendering extremely fast UIs in WebGPU by minimizing overhead on the GPU.
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 Flexbox-like layout engine that could render any website.
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
Summary of how I made a playable Chess game in React using React Three Fiber and 3D assets I made in Blender.
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. 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
A short note on formulas and notes on the Web Mercator projection.