This time we'll chase down how the Global Illumination contribution is calculated. It takes some work, because the code which does the key calculations is behind layers of quality choices, which are encoded as defines.
What I do
Professionally I'm a programmer, but my interests both in programming and outside vary quite a bit.
Graphics Programming, allows me to unite art, science, and programming, and is, naturally enough, my favourite.
I have written a book on shader development in Unity: Physically Based shader Development for Unity 2017.
I like learning new programming languages, and different programming paradigms (e.g. Rust, FP).
I also gingerly but stubbornly proceed in training myself to be both a concept artist and a 3d artist. Coding is definitely easier for me :P
What I know
How I got here
When I was 2.5 years old I was fascinated by the black and green screen of our Commodore PC-10. I learned to type in commands at the DOS prompt before I learned to read.
I offered a fair bit of resistance to becoming a programmer (I wanted to be an artist) but in the end, programming is the easiest thing I can do at a professional level.
I haven't given up on becoming a good artist though. Game Development, especially Graphics Programming, allows me to unite art and programming, and is, naturally enough, my favourite.
Procedural Modelling (and generative art in general) is another great way to unite programming and art (Houdini, Blender Geometry Nodes, and Unreal's Geometry Scripting)
If you know Elm and want to add to your toolset a language, which actually has those higher abstractions that you've heard about, Purescript is the obvious choice.
Talks about Physically Based Rendering, AR development, and interactive debugging.
I also speak at conferences. Since I started in order to help popularise Functional Programming, most of my talks are about that.
Here I'm only going to list talks that were recorded.
Articles regarding Game Development, either that I wrote, or that were written about me.
Articles and Podcasts regarding Functional Programming.
Are We Game Yet?
Want to develop games in Rust? I made Arewegameyet? to gather all Rust crates useful for gamedev in one place.
It's now maintaned by the Rust Gamedev community.
Rust for Rendering & Gamedev
C++ is the lingua franca of the game industry, but my experience with Functional Programming taught me that Type Systems can be much more useful than you'd expect.
Rust is a proper attempt at using PL research to achieve a practical goal, namely a memory safe, low level and high performance language.
I think Rust will prove itself very useful in making gamedev much less painful.
In order to help people use Rust for gamedev, I built and maintain Arewegameyet.rs, an overview of the state of the ecosystem, and an index of useful libraries.
An Interactive Fiction game about a lonely boy who is hit by some forceful hope in the aftermath of a catastrophe of local proportions.
A realistic 3d cooking simulation for iOS and GearVR. I made the physically based shaders, amongst other things.
With my trusty rugged Lumix (update: now Canon M50) I take mainly photos of great architecture and landscapes.
The ideal complement of a Graphics Programmer is 3d modelling and animation.
I'm currently learning Houdini and procedural modelling.