Минимальное приложение

Выводит пустое окно, закрашенное чёрным цветом:

{$apptype GUI}
{$mode objfpc}
 
Uses Gl, Glu,Glut;
 
procedure display(); cdecl; 
begin
     glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
     glClearColor(0.0, 0.0, 0.0, 0.0);   // Очистка экрана в черный цвет
 
     glFlush();
end;
 
begin
  glutInitDisplayMode(GLUT_SINGLE or GLUT_RGB); 
  glutInitWindowSize(500,500);
  glutCreateWindow('minimal example'); 
  glutDisplayFunc(@display);
  glutMainLoop(); 
end.

GLUT_SINGLE - окно с одним буфером. Используется, когда приложение без анимации, стационарное.
GLUT_RGB - тоже, что и GLUT_RGBA
display() - процедура отображения нашего объекта
glFlush() - процедура, переключающая содержимое буфера и окна. Необходима для отрисовки объекта.

За подробностями обращайтесь к документации GLUT и другим источникам.