Pixel Shader is a perfectly valid name - it's what's used in DX terminology.bloodbob said:Well if the question said fragment shader then the answer is yes. Some might argue if it is implementation dependant I think this is more a problem with naming of the shader it should have been fragment shader.
Does that mean that in theory, a situation is possible, when MSAA will be more demanding than FSAA, in terms of pixel shading power?Simon F said:To answer the OP's question - Yes, but it also has to run multiple times in multisampling implementatons whenever a boundary crosses through a pixel.
Simon F said:Pixel Shader is a perfectly valid name - it's what's used in DX terminology.
Simon F said:To answer the OP's question - Yes, but it also has to run multiple times in multisampling implementatons whenever a boundary crosses through a pixel.
chavvdarrr said:Does that mean that in theory, a situation is possible, when MSAA will be more demanding than FSAA, in terms of pixel shading power?Simon F said:To answer the OP's question - Yes, but it also has to run multiple times in multisampling implementatons whenever a boundary crosses through a pixel.
chavvdarrr said:Does that mean that in theory, a situation is possible, when MSAA will be more demanding than FSAA, in terms of pixel shading power?Simon F said:To answer the OP's question - Yes, but it also has to run multiple times in multisampling implementatons whenever a boundary crosses through a pixel.
Assume for a moment that a polygon covers an entire pixel.The OpenGL Graphics System: A Specification (Version 1.5) 3.2.1 Multisampling p. 72 said:[E]ach fragment includes SAMPLES depth values, color values and sets of texture coordinates, instead of the single depth value, colover value and set of texture coordinates that is maintained in single-sample rendering mode. An implementation may choose to assign the same color value and the same set of texture coordinates to more than one sample.
Nah, there's always a way. But, in the case of an alpha test, it requires changing the alpha test to an alpha blend, and making sure that all surfaces that use the alpha blend are rendered front to back. And yes, an alpha blend works just fine on 16-bit textures.akira888 said:Then there's always good old punch-through 1-bit alpha that can only be anti-aliased through SSAA AFAIK.
Correct me if I'm wrong, but centroid sampling depends on the edges of the triangle relative to the pixel, causing a different set of UV coordinates to be generated, and therefore can't be affected by the alpha of the texture being sampled.DaveBaumann said:After something Richard Huddy said to me yesterday, it clicked what the point of centroid sampling was in R300 - the actually mentioned it in their marketting at the start, but it never panned out. Centroid sampling can be used to sample Alphas multiple times such that Alphas can recived some kind of texture sampling and work better with MSAA.
Nope. The idea of centroid sampling in the context of multisampling is to, for each pixel, determine the area of the pixel that is within the current polygon, find the center point ("centroid") of this area and sample textures/shader programs at this center point instead of at the center of the pixel. This gives somewhat more correct texturing results because you are guaranteed not to sample coordinates outside the polygon, but you still sample each pixel in each polygon only once. And for interior pixels in the polygon it does no difference at all. Has nothing to do with sampling alpha multiple times.DaveBaumann said:After something Richard Huddy said to me yesterday, it clicked what the point of centroid sampling was in R300 - the actually mentioned it in their marketting at the start, but it never panned out. Centroid sampling can be used to sample Alphas multiple times such that Alphas can recived some kind of texture sampling and work better with MSAA.
I don't think so. For a single polygon with MSAA, each pixel with at least one sample covered by the polygon only gets a single color from the pixel shader. The samples covered by the polygon all get this color then depth checking is done to see what gets written. If two polygons intersect, it's the same deal: The samples covered by one polygon only get a single color from that polygon.Simon F said:To answer the OP's question - Yes, but it also has to run multiple times in multisampling implementatons whenever a boundary crosses through a pixel.
akira888 said:SSAA has some added side benefits not seen in MSAA. It can reduce aliasing in textures (and also should do the same for normal maps - which HL2 could use in some spots). However, the added cost of such a brute force technique usually means that alternative means to the same ends should be used - AF for texture AA, removal of high frequencies in normal map data, so on...
Then there's always good old punch-through 1-bit alpha that can only be anti-aliased through SSAA AFAIK.
OpenGL guy said:I don't think so. For a single polygon with MSAA, each pixel with at least one sample covered by the polygon only gets a single color from the pixel shader. The samples covered by the polygon all get this color then depth checking is done to see what gets written. If two polygons intersect, it's the same deal: The samples covered by one polygon only get a single color from that polygon.Simon F said:To answer the OP's question - Yes, but it also has to run multiple times in multisampling implementatons whenever a boundary crosses through a pixel.
Doing supersampling on the edges only would give rise to strange filtering artifacts, such as when rendering a quad subdivided as two triangles.
Chalnoth said:Nah, there's always a way. But, in the case of an alpha test, it requires changing the alpha test to an alpha blend, and making sure that all surfaces that use the alpha blend are rendered front to back. And yes, an alpha blend works just fine on 16-bit textures.akira888 said:Then there's always good old punch-through 1-bit alpha that can only be anti-aliased through SSAA AFAIK.