su una scheda NVIDIA posso eseguire piena Scene Antialiasing utilizzando il buffer di accumulo qualcosa di simile:antialiasing OpenGL senza il buffer di accumulo
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);
}
Sulla schede ATI il buffer di accumulo non è implementata, e tutti dicono che puoi farlo ora in linguaggio shader. Il problema con questo, ovviamente, è che il GLSL è una barriera piuttosto alta per l'ingresso per un principiante OpenGL.
Qualcuno può indicarmi qualcosa che mi mostrerà come fare l'anti-aliasing in tutta la scena in un modo che le schede ATI possono fare e che un principiante può capire?
"Perché dovresti mai fare l'antialiasing in questo modo? È una tecnica molto vecchia da OpenGL redbook versione 1. A giudicare dalle prestazioni del buffer di accumulo, sospetto che l'intera faccenda non sia completamente accelerata, anche su nvidia. Penso che il redbook abbia anche "profondità di campo" o qualche effetto simile implementato usando il buffer di accumulo ... – SigTerm
"In alternativa, se stai usando GL 3.x o hai accesso a ARB_framebuffer_object, puoi saltare il contesto e creare un framebuffer multisampling. " O EXT_framebuffer_multisample. – JWWalker
"Perché ..." Non avevo idea che fosse un modo terribile per portare a termine il lavoro.È possibile che vengo a questo da una prospettiva rara, ma dubito che io sia unico. Non ero particolarmente interessato alle cose GL fino a quando non è arrivato CL/CUDA. Con contesti GL/CL condivisi, la capacità di eseguire operazioni di calcolo sugli array, e quindi di trattarli come oggetti o trame di vertici, in modo tale da poter effettivamente avere una rappresentazione visiva dei calcoli ad alta velocità al volo, è a dir poco sorprendente. –