Yamauchi on the PS3: "...beginning of a new world..."

Fafalada said:
Yep, pretty much. Stalker for instance uses this approach for one of their renderers.

Thinking about it, I'd say it'll take a lot of bandwith to transfer all the buffers per frame... in offline rendering it takes a lot of disk IO ;)
But wouldn't it leave the pixel shaders on the RSX idle for most of the time? Still, you can do a lot with these separate passes, even things like enviroment mapping with bent normals and (re-)lighting too... Certainly an interesting approach.
Also, based on what I know about compositing, you should be able to apply AA to the individual buffers in the hardware and thus get AA on the final image as well.
 
Laa Yosh said:
Thinking about it, I'd say it'll take a lot of bandwith to transfer all the buffers per frame... in offline rendering it takes a lot of disk IO
It depends on how many inputs and what precision you require really. I did a mental excercise yesterday on minimum inputs needed to do basic pixel illumination with HDR on PSP, and the bandwith cost of the buffer writes (if I copied them to main mem) is a pretty small fraction (and on PSP there's the added benefit that it wouldn't really be needed to copy anything out to main mem so long as number of inputs is small enough).
The majority of the cost would really be the time needed for multiple rendering passes to layout the inputs in this case.

But wouldn't it leave the pixel shaders on the RSX idle for most of the time?
Well it depends on how long the parameter layout phase would be - but yea, it could amount to a lot of wasted resources. Like ERP mentioned, it may not be the best suited approach for the architecture in question.

Also, based on what I know about compositing, you should be able to apply AA to the individual buffers in the hardware and thus get AA on the final image as well.
We're not actually compositing - the buffers are just arrays of shader inputs. You could obviously supersample them (at enormous cost to memory and bandwith) but multisampling would make no sense here.
It is however possible to laydown additional information required to perform edge AA in the shading stage, which is much more reasonable then SS.
 
Last edited by a moderator:
scificube said:
Is this how G72 is supposed to work? ...it's scary to think RSX might be a dual-GPU solution...scary!
It's just an nVidia patent adding a little more ideas to their multi-GPU setup as far as I can see. Nothing to do with PS3.
 
Shifty Geezer said:
It's just an nVidia patent adding a little more ideas to their multi-GPU setup as far as I can see. Nothing to do with PS3.

Of course...I was merely fantasizing. I didn't see any harm in that we don't know what RSX is yet. I was just think that RSX is based off G70 where I think it's been suggested G72 is a dual GPU part based of G70 as well. It was just a wet dream...two G70 parts at 550Mhz...very wet dream :)
 
Shifty Geezer said:
...
Edit : SSAA is rendering to extra resolution and downscaling. For PS3 to get 2xSSAA on a 1080p screen, it'll be rendering to a 3840x2160 buffer and downsampling. That's quite a bit of rendering!

The 'two' in 2xSSAA represents 'twice' the samples being used when downsampling. NOT multi-plying BOTH the horizontal and vertical resolutions by 'two', i.e. 3840x2160 buffer for 1080p, which would actually be 4xSSAA!
 
Oh, okay. I didn't think '2x' SS was possible as basic downsized sampling in 2 dimensions is natural going to use a grid sampling pattern. In which case how is 2xSS achieved? Does the n in nxSSAA just correspond to the total number of pixels as opposed to a nxn matrix? So 2xSSAA on a 720p image would use a 1810x1018 pixel buffer downsized to 1280x720? In which case AA won't be uniform and image detail will suffer.
 
Shifty Geezer said:
Oh, okay. I didn't think '2x' SS was possible as basic downsized sampling in 2 dimensions is natural going to use a grid sampling pattern. In which case how is 2xSS achieved? Does the n in nxSSAA just correspond to the total number of pixels as opposed to a nxn matrix? So 2xSSAA on a 720p image would use a 1810x1018 pixel buffer downsized to 1280x720? In which case AA won't be uniform and image detail will suffer.

For SSAA, the samples are f(x,y,z) but usually are f(x,y) whilst MSAA it's usually f(z), hence MSSA needs less bandwidth...
 
The reason why some of the bickering is useful is this. Stuff like shifty and Jaws drawing out info on SSAA that someone like me hadn't known previously. I knew MSAA differed from SSAA, but wasn't aware that MSAA was z-axis and SSAA was x/y-axis. Thanks, Jaws. I learn something new everyday. :) PEACE.
 
Careless

Shifty Geezer said:
ihamoitc2005 is incorrect AFAIK. It's not that 7800 can't do AA and HDR, it's that it can't do MSAA and HDR. It can do SSAA and HDR, which is much more costly (but looks better).

Yes thank you for clarification. I was careless due to my inate assumption that SSAA would not be used due to performance consideration and so MSAA would be the one we discuss. I was unaware that DoD:Source on 7800GTX was utilizing SSAA method of anti-aliasing but I am interested to learn what amount of scaling is performed?
 
Hardware AA

pixelbox said:
Sorry, what i meant was is there a game on ps2 that uses true AA and not some cheap post-processed filter done in software. I was under the impression ps2 could never do ture AA in hardware or software. I always thought devs used a lighter palet to prevent contrast from causing jaggies.

And Shifty Geezer, mind telling me what uses true AA? Kinda left me hanging there.:???:

Playstation 2 is equipped with hardware FSAA capability but few developers take advantage of this capability. Most known method is hard-ware edge anti-aliasing but other methods also exist according to certain developers and this article on Gamasutra.

http://www.gdconf.com/archives/2001/mitchell.doc

SAA on PS2

Sony's Playstation 2 has hardware, which can perform high quality edge anti-aliasing on each rendered primitive. However, the sort dependent requirement makes this method undesirable for many games. Fortunately, the following alternative methods can be implemented to achieve sort independent FSAA.

5.1 Regular Supersampling

As an example, regular 2X2 supersampling can be performed by rendering 1024x448x16bit to an off screen buffer and then downsampling this to 512x224x16bit. By setting the off screen buffer as a texture and rendering this with a bilinear filtered sprite onto the frame buffer. This can be completed during the vertical retrace and so avoids this form of flickering when the frame buffer is always visible. When rendering at 60hz half-pixel offsets can be applied on alternate frames to achieve a supersampled interlaced resolution of 512x448x16bit.

However, as scanlines are interleaved, the filter draws samples in a non-regular way. This effect can be undesirable. Rendering in non-interlaced mode halves the vertical resolution and increasing the resolution to 1024x896x16bit is rather impractical with 4MBytes of VRAM available.

5.2 Frame Buffer Filtering with Sprites

A variant of the above technique uses equally sized buffers to render the frame with bi-linear filtering applied. Although this doesn’t anti-alias the image it generates sufficient blending overlap between scanlines on alternate frames to avoid the interlace flicker problem.

Both these methods can be optimized by splitting the source and destination buffers into vertical tiles appropriate for the horizontal cache size, thus, avoiding page misses.

5.3 Frame Buffer Accumulation Method

In a similar way to the accumulation buffer method [6], the frame buffer can be used to blend a series of offset images. In this case, the sprite is rendered multiple times with alpha to generate a filtered image. Due to the extra layers rendered this method is slightly slower than the previous one.

5.4 Emotion Engine Filtering Method

To perform customised filtering and image processing the render target can be downloaded to RAM, processed with the emotion engine’s multi-media instructions and then return to VRAM for viewing. Clearly, this is the slowest of the techniques described and its use is limited. It is, however, a very flexible technique with the ability to bring to bear arbitrary image processing.

5.5 Merge Circuit Method

This method sets up equally sized buffers and uses the PS2’s merge circuit hardware to blend between frames at 60hz with no performance degradation. This makes the dual circuit method the best chioce for most games. Although the merge circuit method is fastest, the idea of using a render buffer as a texture in the other methods is a powerful one and leads to many interesting special effects.
 
Back
Top