En una tarjeta NVIDIA que puede realizar completa de antialiasing con el buffer de acumulación algo como esto:antialiasing OpenGL sin el buffer de acumulación
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);
}
En las tarjetas ATI el buffer no se implementa, y todo el mundo dice que usted puede hacer eso en el lenguaje sombreador ahora. El problema con eso, por supuesto, es que GLSL es una barrera bastante alta para la entrada de un principiante de OpenGL.
¿Alguien me puede señalar algo que me muestre cómo hacer un anti-aliasing de escena completa de una manera que las tarjetas ATI pueden hacer, y que un novato puede entender?
"¿Por qué alguna vez haría antialiasing de esta manera?" Es una técnica muy antigua de OpenGL redbook versión 1. A juzgar por el rendimiento del buffer de acumulación Sospecho que todo está completamente desacelerado, incluso en nvidia. Creo que el libro rojo también tenía "profundidad de campo" o algún efecto similar implementado usando el buffer de acumulación también ... – SigTerm
"Alternativamente, si estás usando GL 3.x o tienes acceso a ARB_framebuffer_object, puedes omitir el contexto y crear un framebuffer multiespemado ". O EXT_framebuffer_multisample. – JWWalker
"Por qué ..." No tenía idea de que esta era una forma horrible de hacer el trabajo.Es posible que llegue a esto desde una perspectiva rara, pero dudo que sea único. No estaba particularmente interesado en GL hasta que CL/CUDA apareció. Con contextos GL/CL compartidos, la capacidad de realizar operaciones informáticas en matrices, y luego hacer que se traten como objetos o texturas de búfer de vértices, de modo que pueda tener una representación visual de sus cálculos de alta velocidad sobre la marcha, es increíble. –