Portfolio Work

Total War: Warhammer III

As part of my work at The Creative Assembly, I was involved in the development of Total War: Warhammer III As I joined the project late, I was mostly focused on bug fixing. This was a nice change of pace from the refactoring work I was doing beforehand, as I… Continue reading Total War: Warhammer III

Unity Compute Shaders

During October of 2020 I took part in a compute shader workshop by arsiliath. This was a great opportunity to learn more about compute shaders and create some awesome simulations using the full power of the GPU. Here’s a few showcasing videos I produced as part of the workshop: After… Continue reading Unity Compute Shaders

CPU-based Path-tracer

On my free time, I’ve been reading “Raytracing in One Weekend” and “Raytracing: The Next Week” by Peter Shirley and implementing his code (which you can find here) The resulting images are very beautiful, however the performance of such a brute-force approach left a lot to be desired. It was… Continue reading CPU-based Path-tracer

Vulkan Forward Renderer

You can find the code for this project here. As a continous effort to get better at graphics programming, I started working on a vulkan renderer at the start of summer 2019. I started out following the vulkan-tutorial.com tutorial. After finishing the tutorial, I wanted to be able to render… Continue reading Vulkan Forward Renderer

CPU-based ray-tracer

You can look at the code for this project here. After showing him a GPU-based ray-tracer I had been working on, Tommi Lipponen, programming teacher at Uppsala Universitet campus Gotland, suggested I try doing the same thing on the CPU as an exercise in low-level optimisation. I worked on the project… Continue reading CPU-based ray-tracer

Shadertoy experiments

Over the past couple of months I’ve been trying out different things in shadertoy, a few of which you can see in this video: I also rendered a few stills in 8K using a simple offline renderer made in vulkan: Overall these shaders are quite modest. Creating them has given… Continue reading Shadertoy experiments