By using this site, you agree to our Privacy Policy and our Terms of Use. Close
megafenix said:

??

really, then that means you didnt even bother to read the entire article at all cause i am not the one thats says that but developers themseleves

here

http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Deferred+Shading

"

What is Deferred Shading?

Deferred shading is an alternative approach to rendering 3d scenes. The classic rendering approach involves rendering each object and applying lighting passes to it. So, if an ogre head is affected by 6 lights, it will be rendered 6 times, once for each light, in order to accumulate the affection of each light. 
Deferred shading takes another approach : In the beginning, all of the objects render their "lighting related info" to a texture, often called the G-Buffer. This means their colours, normals, depths and any other info that might be relevant to calculating their final colour. Afterwards, the lights in the scene are rendered as geometry (sphere for point light, cone for spotlight and full screen quad for directional light), and they use the G-buffer to calculate the colour contribution of that light to that pixel.

See the links in Further Reading section to read more about it. It is recommended to understand deferred shading before reading this article, as the article focuses on implementing it in ogre, and not explaining how it works.

Deferred Shading Advantages

The main reason for using deferred shading is performance related. Classing rendering (also called forward rendering) can, in the worst case, require num_objects * num_lights batches to render a scene. Deferred shading changes that to num_objects + num_lights, which can often be a lot less. 
Another reason is that some new post-processing effects are easily achievable using the G-Buffer as input. If you wanted to perform these effects without deferred shading, you would've had to render the whole scene again.

Deferred Shading Disadvantages

There are several algorithmic drawbacks with deferred shading - transparent objects are hard to handle, anti aliasing can not be used in DX9 class hardware, additional memory consumption because of the G-Buffer. 
In addition to that, deferred shading is harder to implement - it overrides the entire fixed function pipeline. Pretty much everything is rendered using manual shaders - which probably means a lot of shader code.

"

 

about what i think thshinen is refering to, well, if you at least check what a buffer is and why developers tend to use double buffering for the framebuffer then you would udnesrtand

I didn't read the article because it provided no relevance to the subject at hand ... If you actually knew some of this stuff then you wouldn't be posting such trivial things. 

http://www.anandtech.com/show/2794

Anandtech has a good article on this subject and "Triple Buffering" allows for variable framerates in an environment where refresh rates are synchronized. To cut it short, YOU DIDN'T know anything about the subject initially. It's as simple as that ...