Поделиться через


Создание контекста отрисовки и его текущее

В следующем примере кода показано, как создать контекст отрисовки OpenGL в ответ на WM_CREATE сообщение. Обратите внимание, что перед созданием контекста отрисовки вы настроили формат пикселей. Также обратите внимание, что в этом сценарии контекст устройства не освобождается локально. вы освобождаете его при закрытии окна после того, как контекст отрисовки становится не текущим. Дополнительные сведения см. в разделе Удаление контекста отрисовки. Наконец, обратите внимание, что локальные переменные можно использовать для контекста устройства и дескрипторов контекста отрисовки, так как с помощью функций wglGetCurrentContext и wglGetCurrentDC можно при необходимости получить дескрипторы для этих контекстов.

// a window has been created, but is not yet visible  
case WM_CREATE: 
    { 
    // local variables  
    HDC      hdc ; 
    HGLRC    hglrc ; 
 
    // obtain a device context for the window  
    hdc = GetDC(hWnd); 
     
    // set an appropriate pixel format   
    myPixelFormatSetupFunction(hdc); 
 
    // if we can create a rendering context ...   
    if (hglrc = wglCreateContext( hdc ) ) { 
 
        // try to make it the thread's current rendering context  
        bHaveCurrentRC = wglMakeCurrent(hdc, hglrc) ; 
 
        } 
 
    // perform miscellaneous other WM_CREATE chores ...  
 
    }  
    break;