0 Replies Latest reply on May 8, 2012 10:33 AM by kbrafford

    Whole scene antialiasing question

    kbrafford

      On an NVIDIA card I can perform anti-aliasing using the accumulation buffer something like this:

       

      if(m_antialias)
      {
          glClear(GL_ACCUM_BUFFER_BIT);
          for(int j = 0; j < antialiasing; j++)
          {
              accPerspective(m_camera.FieldOfView(), // Vertical field of view in degrees.
                  aspectratio, // The aspect ratio.
                  20., // Near clipping
                  1000.,
                  JITTER[antialiasing][j].X(), JITTER[antialiasing][j].Y(),
                  0.0, 0.0, 1.0);
      
              m_camera.gluLookAt();
      
              ActualDraw();
      
              glAccum(GL_ACCUM, float(1.0 / antialiasing));
      
              glDrawBuffer(GL_FRONT);
              glAccum(GL_RETURN, float(antialiasing) / (j + 1));
              glDrawBuffer(GL_BACK);
          }
      
          glAccum(GL_RETURN, 1.0);
      }
      

       

      On ATI cards the accumulation buffer is not implemented, and everyone says that you can do that in shader language now.  The problem with that, of course, is that GLSL is a pretty high barrier to entry for an OpenGL beginner.

       

      Can anyone point me to something that will show me how to do whole-scene anti-aliasing in a way that ATI cards can do, and that a newbie can understand?

       

      Thanks,

      --Keith Brafford