NVIDIA カードでは、次のような累積バッファを使用してフル シーンのアンチエイリアシングを実行できます。
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);
}
ATI カードではアキュムレーション バッファは実装されておらず、シェーダー言語で実装できると誰もが言っています。もちろん、それに関する問題は、GLSL が OpenGL の初心者にとって非常に高い参入障壁であることです。
ATI カードで行うことができ、初心者が理解できる方法でシーン全体のアンチエイリアシングを行う方法を教えてくれるものを誰か教えてもらえますか?