Tatchan said:Does it still render up the scene to 6x size, do MSAA and filter it down? Becasue the sampling method of it is so..... interesting, makes me think of it's not just 800x600 -> 1600x1200, can anyone help me? Thanks
Radeon 8500 was supposed to feature a programmable jitter sample position FSAA scheme for enhanced image quality; however, this scheme operated on a Super-Sampling basis which results in quite a performance impact (PJSS). Although Radeon 8500's PJSS FSAA scheme is included in R300, it has not been included in the drivers for Radeon 9700 PRO. Instead, Multi-Sampling is utilised.
R300's Mulisampling scheme also features the programmable jitter sampling system (PJMS) allowing for many other sampling patterns than just straight ordered grid or fixed jittered grid, and thus resulting in a higher level of edge anti-aliasing. 2, 4 or 6 Multi-Sample samples can be taken per pixels, each with a programmable jitter table forcustom sample patterns. However, if no custom patterns are used defaults will be applied.
The FSAA Sampling method on R300 also features a Gamma correction technique. Some 3D applications provide Brightness settings to allow you to adjust the outputted display to suit the particular Gamma curve of your display screen. R300's AA can read in these application settings and take them into account when generating the final FSAA image so that the actual averaged sample is best suited to the gamma curve of your display, thus reducing the visible aliasing on the edges.
Tagrineth said:Tatchan said:Does it still render up the scene to 6x size, do MSAA and filter it down? Becasue the sampling method of it is so..... interesting, makes me think of it's not just 800x600 -> 1600x1200, can anyone help me? Thanks
Well for one thing it wouldn't be 800x600 -> 1600x1200. That's 4x.
And to answer the question: No it doesn't. You can't for MSAA. Literallly.
That method is ordered-grid supersampling ONLY.
Bambers said:I don't know exactly but from what I've read (and picked up here ) there are zchecks in each render pipe (6 per pipe on r300 chips, 4 on gf3/4/FX) and these determine whether a pixel is on the edge of a polygon. If it isn't then one texture read is taken and all subsamples are written to the framebuffer with this colour. If there is a polygon edge then one texel is taken from each polygon and then the subsamples are written to the buffer with the relevant colours.
r300 and nv30 both have colour compression. Since most pixels are not on edges the subsamples are generally the same colour so they can be compressed losslessly before being written to the buffer.
This is correct. You don't use a Z check to check for edges.Tatchan said:Thanks, but how can zcheck can help to know we're on the edge? I think we can have 2 polygons with 2 different color, and same z value, right?
OpenGL guy said:This is correct. You don't use a Z check to check for edges.Tatchan said:Thanks, but how can zcheck can help to know we're on the edge? I think we can have 2 polygons with 2 different color, and same z value, right?
misae said:2 polys with different colours and the same zvalue doesnt make sense to me. Might be possible in some situations but I cannot visualise it.
Because you want accurate results when polygons intersect.Tatchan said:OpenGL guy said:This is correct. You don't use a Z check to check for edges.Tatchan said:Thanks, but how can zcheck can help to know we're on the edge? I think we can have 2 polygons with 2 different color, and same z value, right?
Then what's the reason to have different z value for each sub sample?
OpenGL guy said:Because you want accurate results when polygons intersect.Tatchan said:OpenGL guy said:This is correct. You don't use a Z check to check for edges.
Then what's the reason to have different z value for each sub sample?
SuperSampling means you are increasing the framebuffer size. That means with 4X SSAA, you've got a 4X bigger buffer.
However, MultiSampling means you're increasing the number of buffers. That means that with 4X MSAA, you've got 4 buffers of the same size as the 1 you got without MSAA.
Pretty much everything you say after this point is incorrect.Uttar said:I read the whole post, and couldn't see anyone saying this, and it's VERY important.
This is wrong.SuperSampling means you are increasing the framebuffer size. That means with 4X SSAA, you've got a 4X bigger buffer.
However, MultiSampling means you're increasing the number of buffers. That means that with 4X MSAA, you've got 4 buffers of the same size as the 1 you got without MSAA.
The colors certainly have a good chance of being related with MSAA.The main advantage of MSAA is quite simple. The hardware *knows* those sub-samples are closely related.
You lost me here. With both methods, each subsample is a subsample.With SSAA, it's nearly impossible to know which pixels are sub-samples.
I don't get this either. Isn't this true for AA or non-AA?Why? Because to increase Y by 1, you've got to increase X by the whole screen X resolution! So, at 640x480, Pixel X0, Y1 is in fact the 640th pixel!
You don't have to order things in a linear manner, and you wouldn't if you wanted good performance. As has been mentioned previously, every is using tiled memory arrangements to keep closely related data near each other.That means the hardware can put the same color in every sub-sample, to save a lot of performance but slightly reduce quality. Otherwise, you simply couldn't. You can't determine if a pixel has already been rendered, and you can't keep a pixel for a whole scanline!
No, it doesn't.Furthermore, SSAA *got* to be ordered.
With MSAA, you can put your sub-pixels in a rotated or random way to increase quality, without sacrifying performance. Actually, it might be possible to do a non-ordered SSAA approach, but it would be awfully complex ( you'd have to divide the pixel X&Y by the screen resolution, get what remains, and see where you'd have to place it in Triangle Setup. That certainly wouldn't be efficient! )
3dfx used RGSSAA on the Voodoo 5 parts. Each chip computed one of the samples for each pixel.That's why 3DFX choosed MSAA instead of SSAA; being able to have non-ordered sub-samples to increase quality.
It was supersampling. Check out the improved texture quality."What?! 3DFX didn't use MultiSampling!" - Actually, the VSA-100 used MultiSampling.
Yes, they used multiple buffers, because each chip had to compute one sample per pixel, but there's no reason why MSAA or SSAA must use multiple buffers or not. In any event, VSA100 was using supersampling: How would each chip get the color data for a pixel? They would each have to compute the color so they might as well be doing SSAA (which they were).Like with any MSAA approach, there were multiple buffers instead of one bigger buffer. And the sub-pixels were rotated.
I don't get this.But then... Why is it so often called SuperSampling? You've got to thank the nVidia PR empire for that.
MSAA has little to do with memory and everything to do with saving calculations.With the GF3, MultiSampling main advantage was finally used: taking the same color for each sub-pixel. But then, why didn't 3DFX use that? I don't know. IIRC, 3DFX had slower memory than nVidia. And that probably means that in their case, it wouldn't have done miracles ( as to why they didn't try using faster memory and add it, I've got no idea at all - maybe that was going to be a refresh? )
Ahh, it's a conspiracy.So, nVidia wanted to make people think their architecture was fundamentally different from 3DFX one, to make it sound better. But in practice, it wasn't. It's only slightly different.
And you're wrong.Now, even nVidia patents define SSAA & MSAA by saying SSAA outputs different colors while MSAA outputs the same color each time.
This just ain't correct. The true definition is what I explained above.
No, the 8500 does SSAA.And that also means the 8500 AA *is* MSAA; it just doesn't output 1 color per pixel.
What 3dfx did was RGSS. Just because it used multiple buffers doesn't mean it was multisampling.We've got no term to say it outputs one color per pixel. That's why we use MSAA for it today. It's sad, because the advantages of MSAA also reside in non-ordered sub-pixel positions. 3DFX invented MSAA, and they only get credit for hardware AA ( while hardware AA could also be done using bigger buffers and doing the resizing in hardware ) ...
nVidia simply made a small change to the MSAA idea for the GF3. Nothing as huge as most people think.
Ah well, I guess there's nothing I can do about it
RIP, 3DFX ( No, I never owned a 3DFX card. But I've got respect for them, as most people here I suppose )