Jump to content
  • Advertisement
Sign in to follow this  
beebs1

Deferred Rendering & Compatability

This topic is 2347 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hiya,

I've not looked at much graphics programming for a couple of years. I remember when deferred rendering was first used, it had some problems relating to the number of render targets supported and fill-rate (iirc) and needed fairly high-end hardware to be acceptable.


Is deferred rendering now a suitable choice for more casual games, where the player might not be expected to have the latest hardware?



I'm assuming that most low-end nVidia or ATI cards can handle deferred rendering nowadays. How about integrated cards such as Intel HD or the Intel GMA series?

Thanks for any advice :)

Cheers.

Share this post


Link to post
Share on other sites
Advertisement
The hardware limitations were diminished with Deferred Lighting, an alternative that uses less render targets (especially at the same time) that Deferred Shading. Most console games uses deferred lighting partially because of this.

Bye!!

Share this post


Link to post
Share on other sites
Thanks!

Hmm, that's very interesting - this is the first time I've heard of deferred lighting. I'll have a trawl for more information.

Any links would be appreciated :)

Share this post


Link to post
Share on other sites
Some time is mentioned as Light Pre Pass.
http://www.insomniacgames.com/tech/articles/0409/files/GDC09_Lee_Prelighting.pdf
http://www.slideshare.net/guest11b095/a-bit-more-deferred-cry-engine3
LightPrePass.ppt (search in google)

If you need an implementation (XNA only sorry):
Tutorial: http://mquandt.com/blog/2010/03/light-pre-pass-round-2/
Tutorial2: http://roy-t.nl/index.php/2010/12/28/deferred-rendering-in-xna4-0-source-code/
My engine: http://xnafinalengine.codeplex.com/

Good luck!!

Share this post


Link to post
Share on other sites
Intels from HD onward should be able to handle deferred shading or deferred lighting fairly well, if the graphics overall aren't too complex (though, the same would apply to forward rendering.) GMA 3xxx & 4xxx can theoretically do deferred, but you'll likely find the raw performance lacking. GMA 950 and co. cannot render to multiple render targets, and only support rendering to RGBA8 textures, so you would likely need a fallback-path, and the performance would be abysmal anyway.

Note that deferred lighting requires to render the scene geometry twice, so depending on the scene you may become drawcall and vertex bound, while not winning that significantly in bandwidth. On consoles (of which I have no experience) the performance picture may well be different.

Share this post


Link to post
Share on other sites

Note that deferred lighting requires to render the scene geometry twice, so depending on the scene you may become drawcall and vertex bound, while not winning that significantly in bandwidth. On consoles (of which I have no experience) the performance picture may well be different.


This is completely true and is probably the main disadvantage of deferred lighting. Also, I remembered a good article in Shader X7.

Bye.

Share this post


Link to post
Share on other sites
Yeah light prepass/deferred lighting is usually not so great on PC due to the possibility of doubling your draw calls. Of course you can also get into the same situation if you want to do an z-only pass before laying out your G-Buffer in a traditional deferred renderer. Usually the best case for deferred lighting is when there is a disproportionate rendering cost associated with using too many render targets, which is certainly the case for 1 of the consoles but not for most PC hardware.

Share this post


Link to post
Share on other sites
On any DX10 compatible hardware (including recent Intel chipsets), I would assume that deferred shading / deferred lighting will be able to be implemented with decent performance.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!