Tag Archives: rendering

XNA: Adding fog to a LPP (or deferred) pipeline

Hi folks, After a long delay, here is one more gift for you: how to add fog to your scene. I will talk about global fog, although it can be easily extended to local fog volumes like spheres, cubes, etc. … Continue reading

Posted in XNA | Tagged , , , , | 33 Comments

Light Shafts + Tone Mapping

Greetings strangers! This time I will show you a simple approach to an effect that will help our renderer to have a more “artistic” look: the light shafts, also known as god-rays. Needless to say that the source code + assets are … Continue reading

Posted in XNA | Tagged , , , , , , , , | 33 Comments

XNA Light Pre-Pass: Instancing

Almost anyone out there wants to output as many meshes/triangles/details as possible. We know that individual draw calls can hurt performance, so it would be nice if there was a way to draw lots of meshes using a single draw call. … Continue reading

Posted in XNA | Tagged , , , , , | 27 Comments

XNA Light Pre-Pass: Skinned Meshes

Skinned animation is one of the most common animation techniques today (if not the most), so I couldn’t have left it out of this series. You can find more about it here. The main idea behind it is to store … Continue reading

Posted in XNA | Tagged , , , | 27 Comments

XNA Light Pre-Pass: Cascade Shadow Maps

Hi folks! After a long time without opening VisualStudio (I deserved a little vacation after DBP), I’m back! I’ve submited my game (far from what I expected it to be), here are some screenshots: I would like to thanks Virginia Broering, … Continue reading

Posted in XNA | Tagged , , , | 8 Comments

XNA 4.0 Light Pre-Pass: casting shadows

It’s been a long time since my last post, but I didn’t give up on this blog. I was working really hard on a project aimed at DreamBuildPlay, but things didn’t go as I expected. It’s hard to keep everyone … Continue reading

Posted in XNA | Tagged , , , | 39 Comments

XNA 4.0 Light Pre-Pass: Optimization Round One

Following some suggestions on my previous posts, I decided to reconstruct the z-buffer from my linear depth buffer and optimize the lighting pass. To achieve this, I did the following steps: Changed the light-accumulation render target: now it has also … Continue reading

Posted in XNA | Tagged , , , , , | 2 Comments