次の方法で共有


ダブル バッファーを使用した描画

ダブル バッファーは、画面上の 1 つのイメージと別のイメージ間の切り替えをスムーズにします。 通常、バッファーのスワップは、一連の描画コマンドの最後に表示されます。 既定では、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);