fatslob-:O said:
curl-6 said:
English is not their first language, it could be a translation mistake.
So would these "render targets" be stored in eDRAM? Cos according to them the whole reason they upgraded to a deferred rendering solution with their new engine was due to the Wii U's large eDRAM making it doable at 60fps.
|
Alright, I want you to know this the most ...
DO NOT take deferred rendering as something of a FEAT. The reason why we moved to deferred rendering in the first place was because it put less pressure than a forward renderer at the time. Deferred rendering is just a technique!
Yes you can store render targets in the eDRAM ...
|
well, it depends, like the article about the deffered rendering in ogre 3 said, in the worst case forward rendering may require the shader power of objects*lights while deffered rendering would take the shader power for objects+lights. If thats the case then you would save up a lot amount of shder power, if we have 6 lights and 6 objects for forward rendering that could be 6*6 and in deffered rendering would be 6+6, this means that for forward rendering you would require about 3x more shader power than what you would need for the deffered rendering, and this is a basic example, surely games may require more than 6 lights and 6 objects
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.
"
zarx said:
curl-6 said:
zarx said: There were a whole bunch of games that used deferred rendering on PS360 |
Looking at the wikipedia page, the ones listed all seem to be 30fps.
|
most games on PS360 were 30FPS whether they were deferred rendered or not. There were a few 60fps ones tho for example Trials HD is a 60fps with deferred rendering, and if I remember correctly Mortal Kombat 9 and Wipeout HD is also 60fps with deferred rendering.
|
wipeout hd was one of the few games i ever heard that had a variable resolution instead of variable framerate, now that is interesting
http://www.eurogamer.net/articles/wipeout-hds-1080p-sleight-of-hand
And yes, although deffered rendering was possible on ps3 and in 360, the implementation was not striaght forward and required the use of at least 5 spus and cboc 360 gpu parallelism+cpu to get it to work. not saying isnt good idea but clearly they used far to much shader power that would not have been required if they had the memory bandwidth for this technique in the first place, so obviously the performance in the new consoles including wii u requires less shader power than those workarounds