Jack Tollenaar: Rendering the clouds through advanced graphics programming

Jack Tollenaar: Rendering the clouds through advanced graphics programming

03/04/2026 - 08:41

Jack Tollenaar is a second-year Creative Media and Game Technologies (CMGT) student on the programming track, specialising in graphics. With a strong passion for rendering techniques and a clear ambition to work in AAA studios, Jack recently completed an in-depth research project focused on volumetric cloud rendering. In this interview, he shares his journey into game development, his fascination with graphics programming, and the technical challenges behind building high-performance volumetric systems.
Games
  • Stories
  • Student work

Can you tell us about your journey into game development and how you ended up studying at BUas? 

Jack: ‘From a very young age I knew I wanted to create things. As a child I was already designing board games, and once I discovered digital tools like Scratch and other basic programming environments, I immediately wanted to start making games digitally.’ 

‘During high school I created maps and modifications for games like Minecraft, which really deepened my interest in game development. I spent a lot of time working with Unity, developing small projects both on my own and together with another student who eventually applied to BUas with me.’ 

‘So when I finished high school, coming straight to BUas felt like a natural step. I already knew this was the direction I wanted to take.’ 

You recently worked on a volumetric cloud rendering project. What was the assignment? 

Jack: ‘For my year 2 block B project, I had to conduct research into a specific technique and then build a technical implementation based on that research. I chose volumetric rendering because I find clouds visually fascinating, and I’d seen impressive examples in presentations from studios like Guerrilla Games.’ 

‘They’ve given some great technical talks about their cloud systems, which really inspired me. I also researched multiple other articles and techniques, but I ended up primarily following the voxel-based approach described in Nubis³, since that aligned best with my goals.' 

‘The idea was not just to make something pretty, but to truly understand how these systems work under the hood.’ 

How did you approach the research-first structure of the project? 

Jack: ‘That structure was quite new to me. I’m used to starting with an idea and then researching along the way while implementing. But for this project, I had to spend the first week and a half almost entirely on research before touching any code.’ 

‘At first that was difficult because I just wanted to start programming. But in hindsight, it really helped me avoid major mistakes and choosing the wrong techniques. It made the implementation phase much more efficient. Planning is not something I naturally enjoy, but this project showed me how important it is.’ 

Can you walk us through the development process? 

Jack: ‘After the research phase, I broke everything down into smaller milestones. I started purely with visuals, making something that simply looked like a cloud. Then I moved on to lighting, and voxel storage techniques and shaping.’ 

‘Later in the project, I focused heavily on optimisation. Volumetric rendering is expensive, so performance was a major concern. I ran scalability tests and profiled using tools like PIX and NSight. I implemented several optimisations, including adaptive sampling based on distance fields, caching lighting data, block compression, and temporal reprojection with jittering.’ 

‘What I enjoyed most was optimising performance. Seeing the frame times drop is incredibly satisfying. In fact, for this project, the faster it runs, the prettier it can look because you can push higher-quality settings. By the end, my scene was running close to the performance numbers mentioned in the Guerrilla Games presentation. I’m very proud of that.’ 

You’ve chosen to specialise in graphics programming. How did that decision come about? 

Jack: ‘In the first year, I actually thought I might focus more on procedural generation or systems programming. But once we started getting graphics lectures, especially about ray tracing from Jacco Bikker, something just clicked.’ 

‘At one point we were building a 2D Metal Gear-style project, and after a lecture on ray tracing I immediately implemented a 2D ray tracer into that project because I found it so interesting.’ 

‘In the second year of the study programme we choose between physics, engine, or graphics specialisation. By that point, I was already strongly leaning towards graphics, so the choice felt very natural.’ 

What are your ambitions for the coming years? 

Jack: ‘This current block we are working on a project using a custom engine. I’m the only graphics programmer on the team, which is a bit intimidating because I’ll be responsible for both the PlayStation and PC renderers. But it also gives me a lot of creative control.’ 

‘In the long term, I’d love to do an internship at a AAA studio. Larger studios allow you to specialise deeply as a graphics programmer. In smaller studios, you often become more of a technical generalist or tech artist, which is also interesting, but I’m particularly drawn to specialised rendering features like cloud systems and advanced lighting. That’s where I see myself developing further.’ 

Finally, is there something about this project that you’re especially proud of? 

Jack: ‘I’m especially proud of the optimisation results. Early on, I kept performance considerations in mind but didn’t focus heavily on optimisation yet. Towards the end, I really pushed it, and seeing it run that fast felt like a big achievement.’ 

 

To learn more about Jack’s work, connect with him on LinkedIn, or check out his portfolio website