Defrag Posted October 20, 2006 Report Posted October 20, 2006 I'm thinking of doing my final year honours project on deferred shading. It's a technology degree (I'm a programmer, allegedly!), so the focus would probably be something along the lines of how deferred shading can be used, what the pros and cons are and whether it is well-suited to current or next generation games. I'd implement a bunch of deferred shading demos and probably contrast them to forward-rendering in a variety of scenarios, then evaluate the technique and how it fits into real-world games. As I understand it, deferred shading has only really become a possibility with recent graphics cards (geforce 6 onwards) due to branching in shaders (so you can have a wider array of material types as opposed to being stuck with a few) and the prohibitive fill rate demands. As games include more complex lighting models that require multiple passes, deferred shading will probably get more popular since it scales better as lighting compexity increases, plus it has a perfect success rate when it comes to rendering only pixels that are visible. I know it breaks AA and alpha-blending, but you kinda solve the former using an edge blur shader (not as good, but I guess it's ok?) and the latter just by rendering the alpha-blended surfaces using the forward renderer as a separate case. I'm just reading around the issue right now as we have to decide on a project soon. I was initially set on trying to splice distinctly different scene management strategies (like mixing BSP, portals and octrees to allow a wide-ranging environment in a seamless fashion) but ultimately I don't think I have the technical skills to accomplish that task or, even if I did manage it, I'd probably get bogged down in writing / altering editors, compilers, rendering apps and other things that were necessary, but ultimately on the periphery of what I was trying to achieve (prove a concept). So basically I'm interested in whether any of you guys have worked on a game or engine that used or was using deferred shading. The reason I say "used" is that I've heard quite a few titles tried it and ditched it because older hardware didn't give satisfactory results. If so, what were your experiences of it in terms of flexibility and how did it stack up against traditional forward rendering? I say this with regard to both technical and artistic angles. Any thoughts (that you can give me outwith NDA stuff etc) on the subject would be great, cheers. I think this is probably a good topic to tackle as I can't find any consensus on whether deferred shading is or will be a good option to use and there seems to be a lot of debate on certain sites regarding whether engines like Unreal 3 are using deferred shading for specific parts of their rendering code. No consensus makes for a good topic, ja? Quote
Defrag Posted October 20, 2006 Author Report Posted October 20, 2006 I'll try and summarise : Basically, instead of rendering your geometry in a traditional sense, you instead write out the attributes sans-lighting (position, diffuse colour, normals, depth, any other parameters you need like spec, spec power etc.) to a so-called g-buffer (basically into graphics card memory as a series of render targets [dynamic textures]), then you do the shading as a post process (hence the name, deferred shading). It results in a reduction in rendering cost in terms of reducing the amount of passes it takes to do complicated effects, plus it means you get the added bonus of efficient perfect pixel rasterisation. Using deferred shading, you don't get any wasted effort rendering expensive operations to an area of the screen only for an object to cover the same area later on. It also scales very well for multiple lights on multiple surfaces, but I don't yet undertand how the actual lighting calculations work when using it, so I can't go into that. http://www.talula.demon.co.uk/DeferredShading.pdf explains it pretty well. Quote
e-freak Posted October 20, 2006 Report Posted October 20, 2006 If i understood right this is something like a raytracebox? like it Quote
Sindwiller Posted October 20, 2006 Report Posted October 20, 2006 If i understood right this is something like a raytracebox? like it No, it isn't one. Quote
BlackPanther Posted October 20, 2006 Report Posted October 20, 2006 hey if it looks pretty, go for it Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.