If a GPU was a dedicated to pushing sprites instead of polygons...

GPU's are very very powerful on sprites. GCN and PS2 could draw 25-50 million simple sprites per second. PS3 and X360 could do push 100s of millions, of course. I think the real problem is fillrate.

What is this fillrate bottleneck?
 
And you're saying this without actually knowing whether there's a even a sprite primitive available on current nVidia GPUs?

For shame..

Cheers,
Dean

Maybe you know more. But since they make a NV_point_sprite for OpenGL, and supports D3D's PS very well, that's enough.

edit:
Ohh.. you are from Sony right?
And Sony decided to support sprites on PS3, that's what I "actually knowing".
 
Last edited by a moderator:
Sony decided to support sprites on PS3, that's what I "actually knowing".
True, but over time all form of sprite support seems to be on the way out in terms of graphics APIs.. Infact, I'm sure I remember reading that they're not supported in DX10 at all. Of course, PS3 does indeed have *point* sprites, but these are quite different to the sprite implementations used in previous versions of PS. In both PS1 and PS2, width and height could be set independently.. whereas with point sprites all you've got to adjust is a size. As a consequence, it makes them less than useful when working with display buffers that don't have a 1:1 aspect ratio.

Don't get me wrong, I love proper sprite support.. but the existing point sprite implementation (in pretty much all hardware, not just in RSX) seems to be a horrible hack. And I reckon it's this that's worth considering when comparing sprite rendering speed.

Dean
 
In both PS1 and PS2, width and height could be set independently.. whereas with point sprites all you've got to adjust is a size. As a consequence, it makes them less than useful when working with display buffers that don't have a 1:1 aspect ratio.

I'm pretty much a n00b on this topic, so forgive me my innocent curiosity. Assuming that transparency is key in working with sprites, does the aspect ratio really matter? You can create any sprite you like in any aspect ratio, right? Just not change the aspect ratio at runtime.

Or are we talking supporting different aspect ratios, like 4:3 vs 16:9, where you would simply adjust the width or height of a sprite to make it display correctly no matter what aspect ratio had been selected?

To solve this, I suppose you could write a tiny scaling routine that adjust your sprites during load-time to match the selected aspect ratio?

In general though I think I understand the issue. I remember as far back as the Atari 800XL, with games like Bounty Bob Strikes back (best high-score screen ever! Still! It deserves a tribute), when you died the character would sink into the platform while pulsating, an effect that in retrospect clearly used that effect while playing. And obviously that happened in many games before and since.

Fun to read this here now and make the connection though.
 
True, but over time all form of sprite support seems to be on the way out in terms of graphics APIs.. Infact, I'm sure I remember reading that they're not supported in DX10 at all. Of course, PS3 does indeed have *point* sprites, but these are quite different to the sprite implementations used in previous versions of PS. In both PS1 and PS2, width and height could be set independently.. whereas with point sprites all you've got to adjust is a size. As a consequence, it makes them less than useful when working with display buffers that don't have a 1:1 aspect ratio.

Don't get me wrong, I love proper sprite support.. but the existing point sprite implementation (in pretty much all hardware, not just in RSX) seems to be a horrible hack. And I reckon it's this that's worth considering when comparing sprite rendering speed.

Dean


Is this correct?

10.125 Million sprites *1 pixel sprite(1x1)*32fps=1.296Billion sprites

Standard Definition= 307,200 pixels

So can a GPU control every pixel on the screen(307,200) as a separate sprite?
 
DeanA said:
but the existing point sprite implementation (in pretty much all hardware, not just in RSX) seems to be a horrible hack. And I reckon it's this that's worth considering when comparing sprite rendering speed.

I agree with you that point sprites are implemented horribly, Both API and HW. It seems to me that the only place for sprites is in a tech demo. It's real benefit is the compact storage and higher vertex performance, which might not be important anymore these days. So I just say "fun".
 
Last edited by a moderator:
Is there any reason not to go with a 3D engine of pixel-aligned quads?
No, not at all.. although the thread topic is 'If a GPU was dedicated to pushing sprites instead of polygons' :)

I actually felt kind of happy that it wasn't a discussion about polys, as that inevitably leads to 'GPU X has more poly pushing power than GPU Y, GPU X has blahblahblah FLOPS of blahblahblah', followed by 'machine X is better than machine Y'. And that's normally when threads get (quite rightly) locked.

Cheers,
Dean
 
Point sprites have always been close to useless.
There only real advantage was less data to update but even that isn't true anymore.
Even on Xbox 1 we used to use a hack that allowed us to pull the same coordinate 4 times with an index and use polygons with a vertex shader instead of point sprites.
 
No, not at all.. although the thread topic is 'If a GPU was dedicated to pushing sprites instead of polygons'
Well then, that ties into the point of the GPU's supporting sprites. DX10 cards could manage zero Sprites instead of polygons, yet be a 2D monster. With quads, you get all the benefit of hardware sprite rotation and scaling etc. As such, the GPU best at polygons would be the one best at sprites, and we all know that would be the...
 
Well then, that ties into the point of the GPU's supporting sprites. DX10 cards could manage zero Sprites instead of polygons, yet be a 2D monster. With quads, you get all the benefit of hardware sprite rotation and scaling etc. As such, the GPU best at polygons would be the one best at sprites, and we all know that would be the...

owl-sly-i-see-what-you-did.jpg
 
I think if Treasure were to work on a 2D GH (Gunstar/Guardian Heroes)-type game on the PS3 or 360, they could make the processors sweat, and 2D nostalgists would have their minds blown. Stuff like vector animated characters, and particle debris, explosions, and other purely sprite-based effects could give 2D games a truly next gen feel, and wow even the kids reared on PS2 and 3D.
 
GPUs, or more exactly, rasterizers in this case have been dedicated to draw sprites, for a long time.
Now, virtually no modern GPU out there has hardwired support for sprites. And there's obviously a good reason for that, it's extremely easy to "emulate" 2D sprites rendering on a modern GPU.

In any case, as pointed out earlier in the thread, using flat polygons let you push as many "sprites", of any sizes, you want, with the advantage of easily integrating scaling/rotating, as well as complex lighting and special effects.
It's your lucky day! Your wish has already come true.
I have yet to try this one.
Is it single player friendly, or is it meant to be played in co-op to be any good?

And, I second the idea of a Bangai-O sequel! Actually, it would be a perfect game for online distribution on XBLA/PSN. In fact, the online distribution channels can give, and is already giving, the shooter genre a second chance on the market. But that's another topic, entirely.
 
Using the Bangai-O super attack for the first time is still among my top 10 gaming moments ever. Oh god, the carnage. O. O

I have similar memories of Super-Nashuan power in a certain other game. :D
 
Back
Top