Минимальный код создающий окно на базе стандартных Windows классов, инициализирующий OpenGL и рендерящий разноцветный квадрат в цикле до нажатия Escape )
Способ является непредсказуемым извратом, и использовать его в адекватных проектах (демосценеры, это не про вас) не рекомендую.
program min_ogl; uses Windows, OpenGL; var pfd : TPixelFormatDescriptor; DC : HDC; begin // Creating window DC := GetDC(CreateWindowEx(0, 'STATIC', nil, WS_POPUP or WS_VISIBLE, 0, 0, 640, 480, 0, 0, 0, nil)); ShowCursor(False); // hide cursor // OpenGL initialization pfd.dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or PFD_DOUBLEBUFFER; SetPixelFormat(DC, ChoosePixelFormat(DC, @pfd), @pfd); wglMakeCurrent(DC, wglCreateContext(DC)); // Main Loop while GetAsyncKeyState(27) = 0 do begin glBegin(GL_QUADS); glColor3f(1, 0, 0); glVertex2f(-0.4, -0.4); glColor3f(0, 1, 0); glVertex2f( 0.4, -0.4); glColor3f(0, 0, 1); glVertex2f( 0.4, 0.4); glColor3f(1, 0, 1); glVertex2f(-0.4, 0.4); glEnd; SwapBuffers(DC); end; end.