Deferred Lighting
Friday, 31 August 2012
Not sure what linked you here but...
This site is abandoned!
Here's my personal website:
ThomasBowker.com
Oh, and here's the last video of my lighting progress:
YouTube
Monday, 7 November 2011
A Post!
Hey Blog,
Over the past few months/weeks I've been distracted with my group project, but I also have been working on this. It's just that I wasn't sure I wanted to post without anything new to show and before I knew it, I got deferred directional and point lights working!
I had some trouble setting up all the render targets, shaders, and meshes correctly but right now I'm very, very close to a working deferred renderer. Just need to improve the depth buffer and reconstructing worldPos. Pics to prove!
From left to right, Depth, Normal, Diffuse, Light Buffers.
Hoping to update a few more times before next week. Depends if I can grab a laptop to bring down to Melbourne/GCAP.
Over the past few months/weeks I've been distracted with my group project, but I also have been working on this. It's just that I wasn't sure I wanted to post without anything new to show and before I knew it, I got deferred directional and point lights working!
I had some trouble setting up all the render targets, shaders, and meshes correctly but right now I'm very, very close to a working deferred renderer. Just need to improve the depth buffer and reconstructing worldPos. Pics to prove!
From left to right, Depth, Normal, Diffuse, Light Buffers.
Hoping to update a few more times before next week. Depends if I can grab a laptop to bring down to Melbourne/GCAP.
Tuesday, 2 August 2011
Point Lights
What I've done over the past few days is revisit basic lighting shaders, created a simple HLSL point light shader with normal map support. I'll have point lights flying everywhere in my final demo hopefully.
Sunday, 5 June 2011
What is Deferred Shading?
Deferred Shading is an alternative rendering technique for 3D scenes. The traditional rendering approach, often called Forward Rendering, will render an object once for each light affecting it. So if a model has 4 lights affecting it, it will be rendered 4 times. Since each surface needs to be drawn again for every light affecting it there are many redundant draws, triangles, and pixel operations.
Deferred Shading was invented to solve some of these problems, it involves all objects rendering their lighting related information to a texture called the G-Buffer. This holds things such as their colours, normals, depths and any other information that is relevant to calculating their final colour. Each light then uses the G-Buffer to compute the final image. Using deferred shading, hundreds of lights can be rendered in a scene at once.
The G-Buffer used in Killzone 2 |
Some of the main disadvantages to using Deferred Shading are:
- The G-Buffer takes up a lot of memory
- Transparency is much more difficult
- Anti Aliasing is near impossible on DX9 or less hardware
Recent popular games to use Deferred Shading:
- Brink
- Battlefield 3
- Crysis 2
- Deadspace 1/2
- GTA IV
- Halo Reach
- Killzone 2/3
- LittleBigPlanet
- Red Dead Redemption
- Starcraft II
Further reading:
http://en.wikipedia.org/wiki/Deferred_shading
http://graphicrants.blogspot.com/2008/08/deferred-rendering.html
http://www.gamedev.net/page/reference/index.html/_//feature/fprogramming/deferred-rendering-demystified-r2746
http://www.ogre3d.org/tikiwiki/Deferred+Shading
http://gameangst.com/?p=141
http://www.gamerendering.com/2008/11/01/deferred-lightning/
Deferred rendering in Killzone2:
http://www.guerrilla-games.com/publications/dr_kz2_rsx_dev07.pdf
Light pre-pass alternative:
http://gamedevcoder.wordpress.com/2011/04/11/light-pre-pass-vs-deferred-renderer-part-1/
http://mquandt.com/blog/2010/03/light-pre-pass-round-2/
Monday, 16 May 2011
Start!
Hey my name is Thomas Bowker, I study programming at the AIE Sydney and this is my blog for my Game Industry Research Project due December 2011.
I went from inverse kinematics to some kind of procedurally generated universe that could be explored, but I finally settled on Deferred Shading as the topic I would research and implement. I hope to update this blog fairly often, cya then.
I went from inverse kinematics to some kind of procedurally generated universe that could be explored, but I finally settled on Deferred Shading as the topic I would research and implement. I hope to update this blog fairly often, cya then.
Subscribe to:
Posts (Atom)