由 SGI 主導制定的開放標準,獲 Microsoft、IBM、Sun、HP 等大廠支援,已成三維圖形開發通用 API。廣泛應用於 3ds Max、SoftImage、Maya、ProEngineer、Arc/INFO 等專業軟體。
gl* 115 個函式。glu* 43 個(曲面、四邊形剖分、投影矩陣)。aux* 31 個(視窗管理、輸入、基本物體)。CClientDC dc(this);PIXELFORMATDESCRIPTOR pfd = {
sizeof(PIXELFORMATDESCRIPTOR), 1,
PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER,
PFD_TYPE_RGBA, 24, // 24-bit 色深
0,0,0,0,0,0, 0,0, 0,0,0,0,
32, // 32-bit 深度緩衝
0,0, PFD_MAIN_PLANE, 0, 0,0,0 };
int pf = ChoosePixelFormat(dc.m_hDC, &pfd);
SetPixelFormat(dc.m_hDC, pf, &pfd);
HGLRC hrc = wglCreateContext(dc.m_hDC);
wglMakeCurrent(dc.m_hDC, hrc);
後續即可在 OnDraw 或遊戲迴圈中自由呼叫 OpenGL 函式。MFC 專案建議在 CView::OnCreate 建立 RC,OnDestroy 刪除。