GPU<->CPU interconnect...what's possible?

!eVo!-X Ant UK said:
Its already been stated by Sony that it could indeed work like that on PS3.

But you don't do bump mapping by 'rendering textures' for goodness' sake, damnit. Do your reading please...
 
Laa-Yosh said:
But you don't do bump mapping by 'rendering textures' for goodness' sake, damnit. Do your reading please...

RSX Shades a texture and applies the standard bump maps, parralex maps etc etc etc.....Then whips it straight to VRAM/MainRam Then Cell either adds Further shadeing + Any post process you can think of.

In a fighting game RSX renders the Scene then whips it straight to Cell for some lighting + post proccess effects. Just imagin the lighting on the next gen Tekken.

WTF u on??? im extremely confused now.
 
Laa-Yosh said:
You have a 'skeleton' built from 'bones' ...
Thanks!

It sounds like on-Cell tessellation would only suit the fixed-geometry objects, unless skinning is also practical on Cell.

The obvious problem with adaptive tesselation is that as the model moves, the tesselation changes, and it'd be very very noticeable. Either you increase the levels globally (ie. tesselate each poly into n, 2n, 3n polys) which is somewhat easier to hide (based on distance from the camera) but inefficient; or use a complex algorithm depending on edge length etc. (like PRMan). The later is very tricky to get right, and change the number of polys so that it is unnoticed; I'd doubt that it could be used on this gen.

You will need more polygons for more detail... tesselation can only smooth your existing curves but it won't create extra detail on its own. You can't build a face from a cube with tesselation only, and especially can't animate it... the detail has to be there.
Ah, there was me thinking that the source models would be very high poly (e.g. like the cars in PGR3), but things like wheel arches and headlights would get lots more polys in close-up - and much less in distant views.

Similarly with animals, the models would be inherently high poly anyway and tessellation is either smoothing things because they're close, or squaring them off because they're far.

Is a 40,000 poly car exterior amenable to being tessellated to pixel-perfect smoothness close up? Or is that an order of magnitude short?

Jawed
 
Why would there be flickering?

Once the geometry for the current trough it tesselated and displaced into the space it is then static geometry. The next trough is joined to that one and to avoid too much uniformity hurting the scene that trough is displaced slightly differently accept where the troughs join or overlap.

Why would the troughs require a gazillion vertices?

Not much curvature at the bottom of the trough. Not much at the side walls. More at where the walls meet the bottom of the troughs but the transition doesn't need to be all that curvilinear or even what we'd call curvilinear at all in this case. LOD out the geometry when it's depth can't be perceived well in the distance.

The effect here is not fine detail in the troughs themselves but that they add visceral detail to the overall scene.
 
Last edited by a moderator:
liverkick said:
Another interesting example to look at might be that updated Mobile Suit Gundam "target video" shown at TGS. There's some pretty amazing looking deformation and particle effects when the robot crashes into the side of the building. Granted its a cut scene but it seems to be based on the same assets used in the real-time demo they had earlier in the year.

http://games.kikizo.com/news/200510/059.asp
(Second from the top, you have to click the link and then right click/save as on the bottom)


Thanks!

I think fits within the bounds of what one could expect though even though it looks teh nice. I'm just trying to focus on new techniques or techniques not practically usable before. Be nice if too see how the title looks now in any case though.
 
Laa Yosh said:
But you don't do bump mapping by 'rendering textures' for goodness' sake, damnit.
Well one could argue that's exactly what deferred shading does :p
But I figure you were referring to shading in actual texture space - which isn't impossible either, but it's a good question what would be the point.

Jawed said:
Is a 40,000 poly car exterior amenable to being tessellated to pixel-perfect smoothness close up? Or is that an order of magnitude short?
Cars are very amenable to subdivision - there's plenty of hi-res CG art out there that uses only around ~10k poly base, the rest comes from subdiv.
That said, adaptive tesselation should be more interesting then just using it with plain subdivision - with the kind of GP-Flops power available in the new hw, we could potentially have access to some very interesting ways of storing compressed hi-res detail.
 
Fafalada said:
But I figure you were referring to shading in actual texture space - which isn't impossible either, but it's a good question what would be the point.

Yeah, I kinda wonder what the pixel shaders on RSX would do in this case... ;)

That said, adaptive tesselation should be more interesting then just using it with plain subdivision - with the kind of GP-Flops power available in the new hw, we could potentially have access to some very interesting ways of storing compressed hi-res detail.

Well, whatever Zbrush does, it's amazingly fast on a simple P4 with a million polygons. Even a tenth of that would be pretty cool detail to have, but I wonder if the GPU can have access to enough memory to do it...
 
Last edited by a moderator:
Laa Yosh said:
Yeah, I kinda wonder what the pixel shaders on RSX would do in this case... ;)
Making coffee I bet :p

Even a tenth of that would be pretty cool detail to have, but I wonder if the GPU can have access to enough memory to do it...
Well once you go adaptive, you rarely need to access all that many polys at the same time. And the whole point of continous tesselation is that you never store any of that permamently - it's supposed to be just streamed out, not written to external memories (as long as the hw in question can support it, that is).
 
Doing matrix palette skinning on CELL SPEs would be trivial, so there is no problem doing tesselation on CELL as well as skinning. However, I don't see why CELL couldn't tesselate, and then RSX do skinning. That's what's done today in PC games in the few that use the CPU to generate geometry on the fly.
 
Last edited by a moderator:
Titanio said:
As for AI, I'm not sure what techniques they're using, but the MoH team at EA for one is reportedly using SPUs for AI.

Not that I'm doubting you, but do you have a link for this?

Also, all this talk of audio really sucking the FLOPs out of the CPU, how will other consoles with less FLOP performance than the PS3 fair in terms of sound processing? Will sound consume an entire Xenon core? Does the Revolution have a dedicated sound chip?
 
Laa-Yosh said:
You'd not be able to skin an adaptively tesselated model this way either, unless the tesselator would also interpolate the bone weights.
Is there any particular reason why you can't interpolate bone weights (and all other parameters like UVs) during tesselation? Should be trivial. Though obviously tesselation post-skinning would save a considerable amount of vertex transforms. A 10k model skinned would need 10k vertex transforms, and then tesselated to 40k, whereas a 10k model tesselated to 40k first would need 40k vertex transforms.

However, won't HOS be needed to some degree for tesselated curves? If interpolated vertices are going to follow the line of a curve, say a 4 box-section tentacle (about 32 triangles) interpolated up to several hundred, otherwise you're just going to get high-poly boxes. Or is the adaptive tesselation is only limited to smallish variations on relatively highly-detailed models?
 
DemoCoder said:
However, I don't see why CELL couldn't tesselate, and then RSX do skinning. That's what's done today in PC games in the few that use the CPU to generate geometry on the fly.
Nothing wrong with that, but I'd like to do skinning before tesselation
 
!eVo!-X Ant UK said:
Fill Rate bound this early on??? thats quite bad no..??? Or is it the codeing?? In fact whats is RSX's Fillrate.

It just means that it's fillrate bound before being anything-else-bound. It doesn't necessarily mean that they're complainign about not having enough fillrate (which i'm sure they could do with more but that's not the point), they're just saying that the rest of the system is damn fast.
Lots of games are fillrate bound these days, i'd say the majority are.
 
!eVo!-X Ant UK said:
Fill Rate bound this early on??? thats quite bad no..??? Or is it the codeing?? In fact whats is RSX's Fillrate.
EA have used up 3 SPU's worth of float on the grahics and have reached the limits of the fillrate (in this one game with little experience of the hardware too). That leaves 4 SPe's for other stuff. If the GPU wasn't fillrate limited at this point, and wasn't running at the limit of the fillrate until 7 SPE's were used on graphics, there'd be nothing left.

At the end of the day, games that aren't at the limit of the fillrate or other finite capabilities of the hardware are leaving resources unused. If the graphics are running full pelt and only 50% of the fillrate is used, that's a bad system design that shows an overabundant, redundant resource. In that case the system would be processing limited, and the resources spent on providing all that fill-rate are a waste as the rest of the system can't use it. A balanced console should have everything in use at it's limits (where appropriate. Some software just won't be that taxing in one or other department. Tetris is never going to be CPU bound or fillrate limited, unless they raytrace it!).
 
Shifty Geezer said:
EA have used up 3 SPU's worth of float on the grahics and have reached the limits of the fillrate (in this one game with little experience of the hardware too). That leaves 4 SPe's for other stuff. If the GPU wasn't fillrate limited at this point, and wasn't running at the limit of the fillrate until 7 SPE's were used on graphics, there'd be nothing left.

At the end of the day, games that aren't at the limit of the fillrate or other finite capabilities of the hardware are leaving resources unused. If the graphics are running full pelt and only 50% of the fillrate is used, that's a bad system design that shows an overabundant, redundant resource. In that case the system would be processing limited, and the resources spent on providing all that fill-rate are a waste as the rest of the system can't use it. A balanced console should have everything in use at it's limits (where appropriate. Some software just won't be that taxing in one or other department. Tetris is never going to be CPU bound or fillrate limited, unless they raytrace it!).

I never really understood what EA was saying until now. Thanks Shifty.
 
Laa-Yosh said:
I wouldn't consider that one-pass either, because you'd have to take the HOS geometry, load it into the SPE, generate tesselated meshes, write that out to memory, then load into RSX and process it like any other bit of geometry. Even if you could send it from the SPE directly to RSX, it'd just as well defeat the main purpose of displacement mapping, which is to 'compress' geometry.

How does that defeat it? You save main memory and main memory bandwidth with the compression in exchange for CELL<->RSX bus bandwidth, seems like a great tradeoff.

Something like EdgeBreaker geometry compression would be even better.
 
Shifty Geezer said:
Is there any particular reason why you can't interpolate bone weights (and all other parameters like UVs) during tesselation?

First is the performance.
Second could be when you want to do some morphing, which requires the number of vertices to remain the same.
And usually, skinning after tesselation would look a hell of a lot uglier, you wouldn't get the smoothing effect from the algorithm. It's also unpredictable for artists to work with.

However, won't HOS be needed to some degree for tesselated curves?

I'm not sure I get you... tesselation is the process of converting a HOS into triangles. You can then leave the mesh as it is, or apply displacement mapping too, or whatever.
 
Laa-Yosh said:
I'm not sure I get you... tesselation is the process of converting a HOS into triangles. You can then leave the mesh as it is, or apply displacement mapping too, or whatever.
Yeah, sorry. We had burglers couple o' days ago and I haven't slept as well as I ought, and so have been running a bit on fuzzy-logic! I was thinking of taking flat surfaces and subdividing them to get higher mesh resolution, which obviously has no benefit (save perhaps displacement mapping) and hence my question.
 
Back
Top