Latest Articles
BPF or How I Learned to Stop Worrying and Love the Kernel
Welcome back. This time we’re covering a cool feature of GNU/Linux called eBPF. It’s a set of tools that let you write small (or not so small) programs that run in the Linux Kernel whenever an interesting event happens. In this post we will briefly discuss why BPF is useful. We will write a toy…
Dynamic Programming for People that Simply Want to Get a Job
Let me start with a question. Do you like solving Data Structure & Algorithms problems during interviews? If you’re like me the answer is hell no. I hated doing it at my school. I hated doing it at university. And, surprise-surprise, I hate it now. But here’s the deal – to get an awesome job…
CHIP-8 (and Emulators) In Plain English
Emulators So… what is an emulator? Let’s say you want to play an old game from the MS-DOS era. You have the DUKE3D.EXE file, you launch it and …nothing happens. But why? Old systems had a different architecture from your PC. Loosely speaking, your PC doesn’t recognize the program and refuses to execute it. You…
Raymarching from Scratch (Part 3)
First Person Shooter (FPS) style camera In this chapter we will step away from our Raymarcher renderer. Instead we are going to implement a camera movement. We will be able to move forward, strafe, fly and look around using our mouse and keyboard. This chapter is Godot-heavy. I assume you have some passing experience with…
Raymarching from Scratch (Part 2)
Rendering our first Sphere Unshaded Sphere We are ready to render our first sphere. Lets start with defining the SDFs. In your shader create 2 new functions after uniform variables definitions: sdf is our main function. It tells us how far the point pos is from the scene. sdSphere is a SDF for a sphere.…