Вы смотрели на это ? Это объясняет, когда использовать glFlush () и glFinish (). Обе функции OpenGL контролируют выполнение и синхронизацию команд. Как правило, вы захотите использовать эти функции при многопоточном рендеринге, иначе в этом не должно быть необходимости.
glSwapAPPLE () и aglSwapBuffers () - это расширения, предоставляемые Apple для отображения содержимого резервного буфера на экране (в Windows это wglSwapBuffers ()). Вы должны использовать любой из них, но не оба, поскольку они действительно делают то же самое. Я бы придерживался метода AGL, так как он аналогичен WGL, EGL и т. Д.
[[self openGLContext] flushBuffer]
, вероятно, является целевой оболочкой C для glFlush (), судя по всему. Я не могу представить, что это делает что-то еще.