I've seen some discussion here and there about the GPU<->CPU interconnects/abilities of the next gen consoles. There seems to be some difficulty in thinking of things which would take advantage of the afore mentioned so I just thought it might be good to have a focused discussion about it. Maybe we could come up with some interesting things...maybe not but I at least want to try.
So far I've seen these things suggested:
For Cell:
tessellation (static, adaptive/dynamic)
post processing effects (such as?)
shadows overlaid in scene
procedural textures
physics that affect visuals (physics on sprites/alpha textures for smoke etc, fluid dynamics, cloth sim, hair sim)
For Xenon/XeCPU:
Aid in bump mapping
procedural textures
catch all: some of the stuff Cell can do at or to a lesser degree.
RSX:
So far pretty standard stuff. Cell seems the special spice on top of what it can offer.
Xenos:
Memexport may be used for physic on particles since it makes Xenos more GPGPU.
Memexport may be used to provide fluid dynamics.
Tessellation (static, adaptive/dynamic)
Xenos seem to serve up it own special toppins.
-------------------------------
Can Cell do true displacement mapping for the system?
idea: Cell can tessellate geometry and should be able to fiddle with data in a texture. Given this Cell takes a disp map(s) and tessellates the geometry before it sends the primitives to RSX. An algorithm can interpolate between disp maps for adaptive disp mapping.
Possible/Impossible? Good idea/Bad Idea?
Overlay:
I've been thinking about Cell's access to the framebuffer and some of the demos we've seen of Cell handling graphics on it's own like the terrain demo and supposed the Getaway demo at E3 last year. I also had the idea of overlaying shadows in a scene in my mind. (not my idea...I mean to say I was thinking about it.)
I was thinking the if Cell really can handle graphics from start to finish of course not as well as a GPU but still to a usably significant level perhaps this can be leveraged. I think this is a new idea so I want to put it out.
Why not have both Cell and RSX churn out graphics independently and the then synchronize and combine the final results before output. The idea is that RSX handles as much as it can in a traditional way and then Cell goes on the render more stuff and it's results are overlaid to RSX's before output. If possible this kind of overlay could be pretty versatile in adding more detail to a scene via Cell or having Cell completely handle portions of a scene.
To avoid double work Cell could send RSX simpler representations of what it is working on (volumes, planes, collision hulls...whatever) that ask for RSX to do no work on them but at the same time tell RSX portion behind them are occluded from view so that RSX doesn't do unnecessary work. Then Cell does it's thing and those portions of the scene are filled in with it's overlay of whatever is being drawn. Of course there will still be some overdraw but this still seems a valuable and straight forward optimization that could be used. Since RSX isn't drawing some portion of the scene more horsepower can be dedicated to the portions that it is drawing.
Perhaps alternate render targets where nothing is drawn in them could also be work out in some instances.
Impossible/possible? Good idea/Bad Idea?
Real time Ray-Traced Reflections?
Impossible/possible? Good idea/Bad Idea?
Well that's all the nonsense I can come up with for the moment.
note: My emphasis on Cell/RSX is due to how it seems the GPU<->CPU interconnect seems more important between them, how the bandwidth between them is greater than between Xenon/Xenos and can be dedicated solely to GPU<->CPU interactions and lastly how Cell has more resources it can dedicate to the effort. If someone sees differently I welcome the insight. I also welcome any other interesting ideas be they more inclined for the X360's or the PS3's components or indifferent to the platforms.
Please discuss
So far I've seen these things suggested:
For Cell:
tessellation (static, adaptive/dynamic)
post processing effects (such as?)
shadows overlaid in scene
procedural textures
physics that affect visuals (physics on sprites/alpha textures for smoke etc, fluid dynamics, cloth sim, hair sim)
For Xenon/XeCPU:
Aid in bump mapping
procedural textures
catch all: some of the stuff Cell can do at or to a lesser degree.
RSX:
So far pretty standard stuff. Cell seems the special spice on top of what it can offer.
Xenos:
Memexport may be used for physic on particles since it makes Xenos more GPGPU.
Memexport may be used to provide fluid dynamics.
Tessellation (static, adaptive/dynamic)
Xenos seem to serve up it own special toppins.
-------------------------------
Can Cell do true displacement mapping for the system?
idea: Cell can tessellate geometry and should be able to fiddle with data in a texture. Given this Cell takes a disp map(s) and tessellates the geometry before it sends the primitives to RSX. An algorithm can interpolate between disp maps for adaptive disp mapping.
Possible/Impossible? Good idea/Bad Idea?
Overlay:
I've been thinking about Cell's access to the framebuffer and some of the demos we've seen of Cell handling graphics on it's own like the terrain demo and supposed the Getaway demo at E3 last year. I also had the idea of overlaying shadows in a scene in my mind. (not my idea...I mean to say I was thinking about it.)
I was thinking the if Cell really can handle graphics from start to finish of course not as well as a GPU but still to a usably significant level perhaps this can be leveraged. I think this is a new idea so I want to put it out.
Why not have both Cell and RSX churn out graphics independently and the then synchronize and combine the final results before output. The idea is that RSX handles as much as it can in a traditional way and then Cell goes on the render more stuff and it's results are overlaid to RSX's before output. If possible this kind of overlay could be pretty versatile in adding more detail to a scene via Cell or having Cell completely handle portions of a scene.
To avoid double work Cell could send RSX simpler representations of what it is working on (volumes, planes, collision hulls...whatever) that ask for RSX to do no work on them but at the same time tell RSX portion behind them are occluded from view so that RSX doesn't do unnecessary work. Then Cell does it's thing and those portions of the scene are filled in with it's overlay of whatever is being drawn. Of course there will still be some overdraw but this still seems a valuable and straight forward optimization that could be used. Since RSX isn't drawing some portion of the scene more horsepower can be dedicated to the portions that it is drawing.
Perhaps alternate render targets where nothing is drawn in them could also be work out in some instances.
Impossible/possible? Good idea/Bad Idea?
Real time Ray-Traced Reflections?
Impossible/possible? Good idea/Bad Idea?
Well that's all the nonsense I can come up with for the moment.
note: My emphasis on Cell/RSX is due to how it seems the GPU<->CPU interconnect seems more important between them, how the bandwidth between them is greater than between Xenon/Xenos and can be dedicated solely to GPU<->CPU interactions and lastly how Cell has more resources it can dedicate to the effort. If someone sees differently I welcome the insight. I also welcome any other interesting ideas be they more inclined for the X360's or the PS3's components or indifferent to the platforms.
Please discuss