By using this site, you agree to our Privacy Policy and our Terms of Use. Close
fatslob-:O said:
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 ...

 

interesting article, but then again why you mention it has nothing to do with performance when reliable source articles say so?

here

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

"

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.

"

or perhaps you would prefer

http://www.cse.chalmers.se/edu/year/2011/course/TDA361/Advanced%20Computer%20Graphics/DeferredRenderingPresentation.pdf

"

Deferred Rendering Pro

• Complexity

• Shades only visible pixels

• Few shaders

• Post-processing stuff ready

• Lots and lots of Lights!

 

Deferred Rendering Con

• Lots of memory

• Bandwidth!

• Transparency

– G-buffers store one value per pixel

• Antialiasing

– MSAA

"

 

Seems you again didnt care to read my response while i have read yours, what kind of respect is that?

sorry dude, you may have known more abut the triple buffering, but as for the gbuffers and deffered rendering either you knew nothing or maybe you just pretneded not to since wouldnt be convenient for your hidden purposes. And if you have doubts, yes the triple buffering they are talking baout is for the deffered rendering

"

Deferred rendering needs multiple framebuffers. We also store GPU computed intermediate buffers there for faster access.

"