Originally posted by: Nemesis 1
Well the visual pic I just got from that made me . LOL.
Originally posted by: BFG10K
Your recollection is wrong. Also the fact that you ignored the two examples of MSAA I gave you and instead discussed Quincunx tells me, to quote you, ?that you don?t really understand? the significance of those modes. Also to quote yourself: ?you don?t fool me?.
Originally posted by: BFG10K
Hmm, two samples?as in 2xRGMS, which is exactly what I said earlier.
Originally posted by: BFG10K
But hey, I guess nVidia, Tom, Anand (et el) are all wrong when they say the card supports MSAA.
Well if nV is going to be trouble, they're just going to have to buy them out then, won't they?
Uhh, zbuffering is done per pixel, not per triangle.
Doesn't sound like you know how a z-buffered rasterizer works.
They didn't bother to describe AA specifically because it's trivial, as I said, just an extra iteration to refine the grid you're rasterizing.
You seem to sling some vague terms and statements around, but I think you fail to grasp the basics of rasterizing, such as supersampling/multisampling and zbuffering (or the difference between a multicore CPU and GPGPU programming model). You're not fooling me.
As far as I recall, GeForce3/4 only used that Quincunx thing, which nVidia may have called multisampling, but is not the same algorithm as the one used by ATi in the R300 and all later GPUs. THAT is the algo that is now known as multisampling in the Direct3D API. Not the one nVidia used.
Besides, if you're going to be arrogant and smug like the way Ben chose to argue, you deserve to be called out when you are talking nonsense.
"ATI's resulting Radeon 9700 Pro defeated the Ti 4600 by 15?20% in normal conditions. However, when anti-aliasing (AA) and/or anisotropic filtering (AF) were enabled, the 9700 would beat the Ti 4600 by anywhere from 40?100%."
Originally posted by: BenSkywalker
WTF? We are discussing visibility checks, you going to render everything then do a visibility check to see what to render? That doesn't make any sense. Visibility determination on geometry is the issue with cache and possible bandwidth on deferred renderers, this hasn't changed.
Originally posted by: BenSkywalker
On the software side it is trivial, on the hardware side dealing with the increased amount of data that needs to be handled for a deferred render device is not.
Originally posted by: BenSkywalkerReally now, we should use final render data to determine visibility of a scene prior to rendering and then we have your extensive knowledge of 3D hardware on display. Heh, you are a different sort.
Originally posted by: BenSkywalkerDon't assume people know less about something then you do.
Z-buffering IS the visibility check:
http://en.wikipedia.org/wiki/Z_buffer
You calculate the z-value of each pixel to see if that pixel is visible. If not, shading can be skipped. Makes perfect sense, all modern 3d hardware works that way.
Ofcourse there is also hidden surface removal through backface culling, but since that is done before rasterizing, I don't see how that part is relevant here.
Also, I already pointed out that Larrabee is NOT a deferred ('infinite planes') renderer.
It's a TBR (Tile-based renderer) not a TBDR (Tile-based deferred renderer).
What exactly ARE the 'visibility checks' that you think Larrabee (or any other hardware for that matter) does?
Wait, you REALLY don't understand z-buffering, and the fact that ALL modern hardware uses it?
As for the MSAA, I never denied that nVidia calls their solution multisampling, or even that generally speaking that term could be used in that sense.
They're saving on texture fetches, but NOT on shading in general. So yes, the texture sampling resolution is lower than that of other parts of the sampling. In that sense it's 'multisampling'. But the key to multisampling as we know it in OpenGL/Direct3D is that ONLY the depthbuffer is sampled at a higher resolution. This is what allows for huge bandwidth savings and framebuffer compression, which make the MSAA of the R300 and later GPUs so efficient (and explains why it doesn't work on bumpmapping, unlike nVidia's solution).
Originally posted by: BenSkywalker
Why do you quote Wikki man? Why not try Foley&VanDam
Originally posted by: BenSkywalker
LRB itself isn't any particular sort of renderer, the rendering technique Abrash explains looks like deferred to me.
Originally posted by: BenSkywalker
Intel's clearly stated goal is LRB is supposed to be a RTR, so their design goal would be that the visibility check is a 'Ray'.
Originally posted by: BenSkywalker
RTR won't use anything like what we currently use for ZBuffering.
Originally posted by: BenSkywalker
Based on YOUR links the MSAA performance difference between the R300 and NV2X almost exactly matches the bandwidth difference.
You claimed the GF4 only had super-sampling when this patently false.Originally posted by: Scali
I never denied that nVidia called this technique multisampling.
Yes it is. It takes multiple color/z/stencil samples while only taking one shader & texture sample. That?s multi-sampling. The sample positions were changed on the NV25 and again on the NV40, but it?s still multi-sampling.I was just saying that it is NOT the multisampling that is standardized in OpenGL and Direct3D.
I didn?t say they had the same algorithm, I said the GF3 was the first board in consumer space to offer MSAA in the form of 2xRGMS and 4xOGMS. Don?t put words in my mouth and state things I never said.You can't argue that GeForce3/4 perform the same algorithm as R300, because that simply isn't true.
No it isn?t. You posted links to Quincunx which has nothing to do with the 2xRGMS/4xOGMS modes I mentioned earlier.That much is clear from the links I posted.
It is true; that you can?t understand that Quincunx isn?t part of this discussion isn?t my problem.You also can't argue that the GeForce3/4 performs multisampling in the way OpenGL and Direct3D standardized it, because that also isn't true.
We did; Ben provided you with a link. Here?s another, complete with IQ comparisons:Why don't you go ask the people at Beyond3D or something.
Stop talking about Quincunx and linking to documents about it because it's an irrelevant tangent that occludes the core issue.Since the GeForce3 uses a multisampling technique for antialiasing, the Quincunx option is not present for the GeForce and GeForce2 which perform antialiasing via supersampling.
Originally posted by: BFG10K
Yes it is. It takes multiple color/z/stencil samples while only taking one shader & texture sample.
Originally posted by: BFG10K
Again, I still don?t think you understand that these modes are pure MSAA modes
Originally posted by: BFG10K
Using your reasoning, you?d have to claim the GF3?s tested modes of 2xAA and 4xAA are all either super-sampling or Quincunx, which would then be trivial to disprove based on the benchmark figures and the differences in IQ.
Originally posted by: BFG10K
Stop talking about Quincunx and linking to documents about it because it's an irrelevant tangent that occludes the core issue.
That?s like saying CSAA is MSAA because both have coverage samples. :roll:Originally posted by: Scali
So you have two colour samples and 2 depth samples. Sounds like SSAA to me.
It doesn?t, because we?re not talking about Quincunx. You?re the only one using that irrelevant strawman, so stop it.They're not supersampling the zbuffer. The 5-sample filter then is purely on the colourbuffer.
How does that fit with:
"The specification dictates that the renderer evaluate one color, stencil, etc. value per pixel, and only "truly" supersample the depth value."
That?s right, except for the fact that everybody uses nVidia?s technique. Furthermore it?s not really ?nVidia?s? technique given the MSAA in use today is taking exactly the same sample types as it was on the GF3, just more of them, and with different grids.However, since R300 and the standardization of multisampling in OpenGL and Direct3D, nobody uses nVidia's technique anymore, and when talking about 'multisampling' they always refer to the standardized technique.
There?s no confusion here, other than you thinking Quincunx is somehow the same thing as the 2xRGMS/4xOGMS.The confusion is because GeForce3/4 came out in a time when this standard was not set yet. Hence talk of multisampling in those days could be a bit confusing.
Again, using that reasoning CSAA is a special case of SSAA. :roll:"In graphics literature in general, "multisampling" refers to any special case of supersampling where some components of the final image are not fully supersampled. For example, a real-world multisampling implementation may also supersample stencil values.?
Uh, no; Quincunx is neither MSAA or SSAA; it?s MSAA + post-filter. The GF3?s 2xAA & 4xAA modes, OTOH, are pure MSAA.The GeForce3/4 AA methods are special cases of supersampling, no doubt about that.
This is patently false, and has been proven repeatedly to be so. All your irrelevant rhetoric and links to Wikipedia won?t change that."nVidia only support their own special case of supersampling, not multisampling as it is standardized in OpenGL and Direct3D and known to everyone today".
This is more semantic games, rhetoric, and goal-post shifting on your part. This is the typical behavior your arguments exhibit when you?re cornered, which is why it seems like you ?win?. In reality, most people simply can?t be bothered dealing with that crap anymore.Besides, the point was that ATi's algorithm was the first to actually make it EFFICIENT, and people actually started to USE AA (and AF) in games.
At this point it?s clear to me that you have absolutely no idea what MSAA is, nor how it works.Originally posted by: Scali
How can you take multiple colour samples when you only take one shader sample? The shader output IS the colour sample.
There?s only one definition, but that?s not the one you?re using. You?re also the only one using this magic definition.I think you don't understand that this depends on your definition of what a 'pure MSAA' mode is.
Because you?re claiming they?re not MSAA. What else was there at the time?Why would ALL modes have to be either supersampling or Quincunx?
No, I?m saying the different benchmark scores show they can?t all be Quincunx (since it?s always five samples), and the differences in IQ compared to SSAA used on the GF2 in comparison show they can?t be SSAA.And are you now saying that regardless of whether an AA mode is 2x or 4x, if it is supersampling it will always have the same benchmark figures and no differences in IQ?
The core issue is that the GF3 was the first part to offer MSAA, not the R300 like you claimed. Furthermore it was MSAA, not some ?different? definition you claim.What exactly IS the core issue? Because you've completely lost me.
Can you answer a simple question? Do you understand the concept of the 2x and 4x modes existing on the GF3, and they?re neither super-sampling or Quincunx?You're arguing that Quincunx is based on MSAA?
Excuse me while I slap you in the face with an earlier post of mine:
"As far as I recall, GeForce3/4 only used that Quincunx thing, which nVidia may have called multisampling, but is not the same algorithm as the one used by ATi in the R300 and all later GPUs."
You haven?t conceded anything; you?re simply continuing to play semantic and rhetorical games.So what is your point, aside from continuing to argue things that I have LONG conceded to?
Originally posted by: BFG10K
At this point it?s clear to me that you have absolutely no idea what MSAA is, nor how it works.
Originally posted by: BFG10K
There?s only one definition, but that?s not the one you?re using. You?re also the only one using this magic definition.
Originally posted by: BFG10K
Because you?re claiming they?re not MSAA. What else was there at the time?
Originally posted by: BFG10K
No, I?m saying the different benchmark scores show they can?t all be Quincunx (since it?s always five samples), and the differences in IQ compared to SSAA used on the GF2 in comparison show they can?t be SSAA.
Originally posted by: BFG10K
Can you answer a simple question? Do you understand the concept of the 2x and 4x modes existing on the GF3, and they?re neither super-sampling or Quincunx?
All of the samples are the same color, but they?re stored multiple times, once for each sub-pixel.Originally posted by: Scali
Really? Why don't you explain to me where I'm wrong then?
How can you take a single shader sample and still end up with multiple colour samples?
The one used by OpenGL and Direct3D?
Alright, let's try this another way. Please provide evidence that the GF3?s 2x/4x modes are different to the R300?s in the context of the data tied to each sample.I'm not claiming they're not MSAA in the broader definition.
I'm claiming that they're not MSAA in OpenGL/Direct3D's definition.
Then why don?t you tell us what the differences are caused by? No theory, state them.Not just the AA method used. It could be the same AA method with a different grid, or the differences could be caused by different precision in the pipeline, different texture filtering techniques, or many other things.
You certainly can by checking the areas where SSAA affects the image but MSAA doesn?t. It?s generally trivial to detect when MSAA is action when compared to SSAA. The author even did it for you.You can't just draw the conclusion that they can't be SSAA simply because they don't look exactly the same.
By that same reasoning the R300?s multi-sampling is simply a ?special case? of SSAA. Likewise the GTX2xx series along with the HD4xxx series.That's what I said, they're a special case of supersampling, and in general you could call such a case multisampling.
What makes you say that?
For chunking, rasterization consists of two steps: The first identifies which tiles a triangle touches, and the second rasterizes the triangle within each tile. So it's a two-stage process and I'm going to discuss the two stages separately.
If all three edges are negative at their respective trivial accept corners, then the whole tile is inside the triangle, and no further rasterization tests are needed -- and this is what I meant earlier when I said the rasterizer takes advantage of CPU smarts by not-rasterizing whenever possible. The tile-assignment code can just store a draw-whole-tile command in the bin. Then the bin rendering code can simply do the equivalent of two nested loops around the shaders, resulting in a full-screen triangle rasterization speed of approximately infinity -- one of my favorite performance numbers!
Ironically enough, raytracing is actually a rather slow way of determining visibility.
Software such as 3dsmax uses a z-buffered rasterizer for all the direct visibility, and uses rays only for reflections, lighting, shadows and such.
Now if we were to look at the Radeon 9500 Pro and 9600 Pro, they actually have slightly less bandwidth than the GeForce4 Ti4600.
Yet they STILL outperform the GeForce4 Ti4600 in 4xAA:
http://www.anandtech.com/showdoc.aspx?i=1812&p=12
How is that possible?
Originally posted by: BFG10K
All of the samples are the same color, but they?re stored multiple times, once for each sub-pixel.
Originally posted by: BFG10K
Alright, let's try this another way. Please provide evidence that the GF3?s 2x/4x modes are different to the R300?s in the context of the data tied to each sample.
Originally posted by: BFG10K
By that same reasoning the R300?s multi-sampling is simply a ?special case? of SSAA.
Originally posted by: BFG10K
You still haven?t retracted your original claims of the GF4 only offering SSAA and the R300 being the first to offer MSAA.
Originally posted by: BenSkywalker
For chunking, rasterization consists of two steps: The first identifies which tiles a triangle touches, and the second rasterizes the triangle within each tile. So it's a two-stage process and I'm going to discuss the two stages separately.
Abrash says as much, although it isn't quite the same as PowerVR. Another quote-
If all three edges are negative at their respective trivial accept corners, then the whole tile is inside the triangle, and no further rasterization tests are needed -- and this is what I meant earlier when I said the rasterizer takes advantage of CPU smarts by not-rasterizing whenever possible. The tile-assignment code can just store a draw-whole-tile command in the bin. Then the bin rendering code can simply do the equivalent of two nested loops around the shaders, resulting in a full-screen triangle rasterization speed of approximately infinity -- one of my favorite performance numbers!
Again, from Abrash(emphasis mine).
Originally posted by: BenSkywalker
For diffuse lighting ray tracing sucks. Radiosity throttles it and although I haven't used 3DS in a while I would assume they still support it or something comparable at least.
Originally posted by: BenSkywalker
You didn't read the B3D link, did you?
So you needed my explanation to tell you that. Why do you continue to argue on what constitutes the definition of MSAA, yet you don?t even know how it works?Originally posted by: Scali
Okay, so technically it's one colour sample, replicated.
Eh? nVidia?s sample data is the same as ATi?s sample data; that?s why it?s called MSAA.Now what bothers me is that I can't find any info regarding how nVidia does this.
Because it is one texture sample and one shader sample, sampled from the pixel?s center. Obviously if there?s no shader running (common when that article was written) then it?ll just be whatever fixed multi-textured result you?ve got.All they say is that they take one TEXTURE sample for every subsample.
Now why would they specifically say texture-sample when it's a whole pixelshader that would only be run once for all subsamples?
So not only do you not know what MSAA is, you?re now making up theories on the spot and then claiming the burden of proof is on me to prove you wrong?What I think nVidia did is this:
They start off just like regular supersampling, so they run a pixelshader for every subpixel. But they built in a 'shortcut' so that the texturing hardware doesn't do 4 separate fetches, but instead they sample one texel at the pixel center, and forward the same result to all pixelshaders.
LMFAO, nope.I think the burden of proof is on you, actually.
So in other words you can?t back what you?ve been saying all this time. In that case, you need to retract your claims, or at least state you don?t really know how it works.I don't have better info on the GF3/4 AA modes than what Beyond3D says
Any part that does regular MSAA (like the GF3) follows those ?rules?, assuming they don?t exceed the part?s DX spec level of course.I think we all agree that the R300 does exactly what the Microsoft Rasterization Rules specify.
Of course they are; that?s the definition of MSAA, namely the decoupling of both sample types from z/stencil/color.So if you can dig up any info that proves that not only the textures, but also the pixelshaders on GF3/4 are run only once for the pixel center, then you can prove that it does MSAA according to the OpenGL/Direct3D rules.
The multi-sampling as we know it today was being done on the GF3 as far as sampled data types are concerned. No amount of semantic games will change that fact.Yes, strictly speaking that is true. The Wikipedia page I linked to makes it very clear that multisampling by defnintion means "a special case of supersampling".
However, the R300 multi-sampling is ALSO the same "special case" as in OpenGL and Direct3D standards, as are all other modern GPUs.
In other words, multisampling as we know it today.
?In a way? is not good enough. You were wrong then and you continue to be wrong now. You need to either retract your claims, or admit you don?t know enough about the topic to continue the discussion.In a way I did, because I rephrased my claim, acknowledging that the original claim was inaccurate, and didn't quite reflect what I meant to say.
I didn't post either of those quotes, so fix them please.Originally posted by: Scali
Originally posted by: BFG10K
For diffuse lighting ray tracing sucks. Radiosity throttles it and although I haven't used 3DS in a while I would assume they still support it or something comparable at least.
They're using a hybrid.
First they use the scanline renderer to rasterize the scene (basically determining visibility of the triangles/pixels). While doing that, they also store the surface normal for each pixel, and some other info.
Then a second pass is made where the surface normals are used for raytracing.
You could say it's a "screen space raytracer".
Originally posted by: BFG10K
You didn't read the B3D link, did you?
I did, it said it only sampled the textures at the pixel center. See my other post to BFG10K.
Originally posted by: BFG10K
So you needed my explanation to tell you that. Why do you continue to argue on what constitutes the definition of MSAA, yet you don?t even know how it works?
Originally posted by: BFG10K
Eh? nVidia?s sample data is the same as ATi?s sample data; that?s why it?s called MSAA.
Also the sampled data types are the same on the GF3 as they are on the GTX2xx/4xxx parts. Again, that?s why it?s called MSAA.
Originally posted by: BFG10K
Because it is one texture sample and one shader sample, sampled from the pixel?s center. Obviously if there?s no shader running (common when that article was written) then it?ll just be whatever fixed multi-textured result you?ve got.
Originally posted by: BFG10K
There have been extensive links and commentary provided here thus-far from Ben and myself proving you wrong.
Originally posted by: BFG10K
So in other words you can?t back what you?ve been saying all this time. In that case, you need to retract your claims, or at least state you don?t really know how it works.
Originally posted by: BFG10K
Any part that does regular MSAA (like the GF3) follows those ?rules?, assuming they don?t exceed the part?s DX spec level of course.
Originally posted by: BFG10K
Of course they are; that?s the definition of MSAA, namely the decoupling of both sample types from z/stencil/color.
Originally posted by: BFG10K
The multi-sampling as we know it today was being done on the GF3 as far as sampled data types are concerned. No amount of semantic games will change that fact.
Except they don?t, because it?s MSAA, which by definition doesn?t do this.Originally posted by: Scali
As I said, it sounds to me like nVidia just runs the pixelshader multiple times to get the colour values, when I read sites like Beyond3D.
Pardon? What on Earth are you talking about? Did you even read the B3D the link?No, I need to find some info that confirms that it actually DOES run only one pixelshader and NOT just the texture fetches per pixel, and some info that explains why GF3, even if it runs only one pixelshader in the pixel center, doesn't sample its textures at the pixel center.
See point ?1? in the GF3 picture Scali? It?s in the center. Even the commentary says so.Because multisampling only takes one texture sample for all the subsamples, under GeForce3's 2x & Qunincunx schemes the texture sample would be exactly suitable for sample point 1 (being in the centre of the sample) but not very suitable for sample point 2 (as this is at the very edge of the pixel, bordering the next).
Fortunately for us, reality doesn?t hinge on the fact on whether you?re convinced of anything.I'm not convinced of this.
??texture sample would be exactly suitable for sample point 1 (being in the centre of the sample??As I say, there's still the problem of the GF3 not sampling its textures at the pixel center.
So you agree the texture is in the center them, just like they stated?I fully agree with what Beyond3D says.
Except it does, because it does MSAA.Bringing us back to why GF3 doesn't sample at the pixel center,
??texture sample would be exactly suitable for sample point 1 (being in the centre of the sample??As long as there is no info on what pixelshaders do, I will just go by what Beyond3D says: only textures are sampled once per pixel (and not even at the pixel center in the case of GeForce3).
Words?fail?me. Maybe I?ll just quote something you said to someone else as a response to this:If you want to contest all of that, the burden of proof is with you. If you can?t provide that proof then you need to retract your claims.
Yep, that sums it up quite nicely.Originally posted by: Scali
It seems deliberate (I give you the benefit of the doubt that you're not really THAT thick. Sadly that means that I think you are trolling and being obnoxious on purpose).
No you haven?t. You?ve made up utter bullshit that demonstrates an almost non-existant understanding of MSAA, along with the inability to grasp basic text and pictures.I've given my explanation of how it works, which is backed by what Beyond3D says.
Actually you can give it?s trivial to demonstrate with any good AA tester app.This also means that you can't prove that it doesn't run for every subsample.
It makes sense to whom? To the guy that states that something isn?t the center, when it is?This makes sense because mainly your zbuffer gets more work. You don't need to shade that many more pixels.
??texture sample would be exactly suitable for sample point 1 (being in the centre of the sample??Incorrect. Beyond3D specifically says that the GeForce3 does NOT sample its textures at the pixel center.
Yes they are given there?s only one texture sample, but multiple and unique z values. Again that?s what MSAA is.Again, in the case of GeForce3, textures are NOT decoupled from z.
??texture sample would be exactly suitable for sample point 1 (being in the centre of the sample??Yet again there is this texture sampling that's not being done in the right place on GF3...
Originally posted by: BFG10K
Except they don?t, because it?s MSAA, which by definition doesn?t do this.
Originally posted by: BFG10K
Pardon? What on Earth are you talking about? Did you even read the B3D the link?
Let me quote it for you:
See point ?1? in the GF3 picture Scali? It?s in the center. Even the commentary says so.Because multisampling only takes one texture sample for all the subsamples, under GeForce3's 2x & Qunincunx schemes the texture sample would be exactly suitable for sample point 1 (being in the centre of the sample) but not very suitable for sample point 2 (as this is at the very edge of the pixel, bordering the next).
What part of this are you having trouble understanding? The definition of the word ?center? perhaps? Or something else?
Originally posted by: BFG10K
Not to mention that those samples aren?t even texture samples, they?re geometry samples.
Originally posted by: BFG10K
Except it does, because it does MSAA.
Originally posted by: BFG10K
No you haven?t. You?ve made up utter bullshit that demonstrates an almost non-existant understanding of MSAA, along with the inability to grasp basic text and pictures.
Originally posted by: BFG10K
Yes they are given there?s only one texture sample, but multiple and unique z values. Again that?s what MSAA is.
Originally posted by: evolucion8
im confused. when u guys talked about pixel shading for color sampling. is the pixel shader unit who does that job? i thought that it was performed by a fixed function thing like the ROPs. GF3/GF4 had very limited pixel shading functionality compared to Radeon 8500
