   Shader jitter and antialiasing
  hi, to me one of the greatest annoyances in real-time gaming graphics today is that too many games flicker like hell. While Multi-sampling (with transparency sampling), mid-mapping, and general LOD are pretty straightforward ways to handle most of it this, the latest addition to the flickr gang of four is in my observation some sort of shader aliasing. For example some simple NdotL normal mapping with specular highlights can produce pixel jitter even though the input textures use mip-maps and it's even harder to predict for really complex shaders.I have read on numerous occasion you can write your shaders in a way they always fulfill shannon nyquist and so doesn't produce under-sampling artifacts. But how ... I'm searching for answers on this topic for a long time now but didn't find anything that provided some real insights.Is there a universal way to handle this problem or does every shader/effect require a different approach? Can anyone give me some examples?thank you very much!   
  the unified way: sample more than one point in the pixel (super sampling in the shader).the "correct", not unified way: find (or approximate) the integral of your shader over the (projected) region. if you can do that, you'll have perfect antialiasing. if you can't, the approximation might at least be better than nothing   ;  I don't think there's a general solution for avoiding aliasing artifacts outside of fully evaluating the integral of the surface area (like daveperman mentioned), at least none that I know of. The only technique I've ever seen is selectively adding more sample points, usually using something similar to what's used in thisOn a related note, you might want to check out the LEAN mapping paper if you haven't already. Their technique is a little expensive, but it does a decent job of properly filtering normal maps. Improper normal map filtering can be a big cause of shader aliasing artifacts.   ;  there is aliasing based on pixel errors, and because of interpolation errors. normal maps that contain x,y and z, often get linear interpolated, which results in bad normals in the interpolation. that results in artefacts, too.so one thing to make sure is, to verify one only interpolates (if possible) stuff that goes linearly (in case of normals, that's x,y, and compute z per pixel)   ;  Most cases good anti-alising is dropped in production pipe becouse it takes tomuch time/money/GPU power.Deferred shading/lighting/rendering has some problems with anti-aliasing,but let`s hope that this is solved in future games.And have you noticed that temporal anti-aliasing is non-existant in games,and it is one of the biggest sources of flickering in images./TyrianPs.Beam ray tracer can sample area of fragmen on single pixel, so it can create good anti-aliasing, but beam tracing is next to impossible to do in GPU.Pss.RAYES also can create exellent antialising by using micro polygons, and RAYES rendering is good candidate for future GPU renderer.   ;  Also, recently discussed MLAA (morphologic anti aliasing) looks very good and gives very nice result, not as good as 8x MSAA ... but, very good!   ;Quote:Original post by Vilem OtteAlso, recently discussed MLAA (morphologic anti aliasing) looks very good and gives very nice result, not as good as 8x MSAA ... but, very good!While MLAA is interesting it doesn't help solve the problem the original poster is talking about.He was referring to flickering from high frequency BRDFs. Ignoring filter problems from textures, the specular lobe is under sampled at the pixel level which causes it to disappear and reappear. If the information is not in the image then MLAA wont be-able to reconstruct it.Some sort of super sampling or coverage integration is needed.-= Dave   ;  actually, it does. as MLAA is a picture-effect. so it even antialiases edges on a texture.but for the moving flickering, temporal aa has to be done.   