WebGPU, as you might already know, is a future Web standard for low-level graphics and compute API. It will allow browser-based apps to interact with GPU in a modern way, using explicitly defined pipelines and an immutable state. …


For several years I used Travis CI and AppVeyor for running integration tests of my projects, and recently decided to switch to Actions — cloud-based CI/CD service integrated into GitHub. Actions has many industry-standard features such as matrix builds, containers and artifacts. It provides great platform support including Linux, macOS…


As you may know, my main D project is dlib, a general purpose library for D language. It contains such functionality as linear algebra objects, computational geometry algorithms, I/O streams and filesystem abstraction, image and audio processing.

dlib has rather interesting early history which is rooted in my old C++…


const qualifier is familiar to everyone, it is present in many modern C-like languages and used in many different contexts. In the most general sense, it means an immutable variable that can only be initialized once. …


Contrary to common belief, I think that D is a perfect first language to learn by a complete beginner of native programming. D has its roots in C/C++ realm, but its syntax is clean, modern and friendly. D doesn’t require deep knowledge of computer architecture to start writing programs. …


DUB is a standard package manager and build automation system for D. Before DUB appeared in 2012, everyone in D community used different build tools — such as classic Make, DSSS, CDC, xfBuild and custom build scripts, including those written in D itself. I used my own, called Cook, which…


D is a garbage collected language, and unfortunately this fact hinders its adoption by majority of game developers. Indeed, GC is not a helper for us. Writing effective and predictable real-time applications require full control over dynamic memory allocation and freeing. Games usually preallocate all the data in advance, and…


Hi! My name is Timur, I’m a graphics programmer from Kazan, Russia. My favourite language is D. If you also write in D, you probably know my most popular project — dlib, a general purpose library for game engines and multimedia applications. I’ve also written a bunch of other stuff in D, most notably dmech physics engine and Cook build system. My current project is Dagon — a 3D game engine for D based on OpenGL 4.0 and SDL2.

I‘ve been developing Dagon since 2016 and reporting my progress at https://dlanggamedev.blogspot.com (Russian). Unfortunately, D community in Russia is rather small, so recently I decided to start blogging also in English to reach worldwide audience. I’m going to write about D, OpenGL, shaders and graphics tech. Stay tuned!

Timur Gafarov

3D game engine developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store