wglMakeCurrent с параметром hdc NULL

Согласно зарегистрированным здесь ( сайт хронос):

Если версия контекста OpenGL равна 3.0 или выше, и если либо параметр wglMakeCurrent равен NULL, либо оба параметра и wglMakeContextCurrentARB имеют значение NULL, то контекст становится текущим, но без определения кадрового буфера по умолчанию. Влияние отсутствия кадрового буфера по умолчанию на GL определено в Главе 4 Спецификации OpenGL 3.0.

Доверяя этой информации, я создал контекст устройства "вне экрана" с помощью:

HDC m_hDC = CreateCompatibleDC(NULL);

Я настроил пиксели и добавил к DC с SetPixelFormat функция:

SetPixelFormat(m_hDC, iPixelFormat, &chosenPFD);

Затем я создал контекст рендеринга:

m_hGLRC = ::wglCreateContextAttribsARB(m_hDC, NULL, &(iAttributes[0]));

Пока все хорошо, это работает. Теперь пришло время сделать контекст актуальным.

Сначала я удаляю DC (он мне больше не нужен) и вызываю wglMakeCurrent с NULLdc параметр:

DeleteDC(m_hDC);
bool ret = wglMakeCurrent(NULL, m_hGLRC);

Это не сработало. ret является false и я получаю эту ошибку:

Ошибка Win32 # (6): ERROR_INVALID_HANDLE

0 ответов

Другие вопросы по тегам