共用方式為


使用雙緩衝區繪製

雙緩衝區可讓畫面上一個影像與另一個影像之間的轉換順暢。 交換緩衝區通常位於繪圖命令序列的結尾。 根據預設,Windows 中 OpenGL 的 Microsoft 實作會繪製到螢幕外緩衝區;繪圖完成時,您會呼叫 SwapBuffers 函 式,將螢幕外緩衝區複製到螢幕緩衝區。 下列程式碼範例會準備繪製、呼叫繪圖函式,然後在有雙緩衝可用時,將已完成的影像複製到畫面。

void myRedraw(void) 
{ 
    // set up for drawing commands  
    glMatrixMode(GL_PROJECTION); 
    glLoadIdentity(); 
    gluPerspective(45, 1.0, 0.1, 100.0); 
 
    // draw our objects  
    myDrawAllObjects(GL_FALSE); 
 
    // if we're double-buffering ...  
    if (bDoubleBuffering)  
 
        // ...draw the copied image to the screen  
        SwapBuffers(hdc); 
}

下列程式碼範例會取得視窗裝置內容、轉譯場景、將影像複製到畫面 (以顯示轉譯) ,然後釋放裝置內容。

hdc = GetDC(hwnd); 
mySceneRenderingFunction(); 
SwapBuffers(hdc); 
ReleaseDC(hWnd, hdc);