Вы можете получить текущий контекст OpenGL из WGL в любом фреймворке, если вызовете wglGetCurrentContext (...)
, когда ваш поток связан с контекстом. Имейте в виду, что фреймворки обычно изменяют текущий контекст всякий раз, когда вызывают обработчик обратного вызова/события отрисовки окна, и могут даже установить его в NULL
после завершения обратного вызова.
WGL имеет строгое взаимно-однозначное сопоставление для контекстов и потоков, поэтому в однопоточном приложении, которое отображает несколько окон, вам, вероятно, придется вызывать эту функцию в обработчике обратного вызова/события отрисовки окна, чтобы получить правильный дескриптор.
Проще говоря, каждый раз, когда у вас есть допустимый контекст для выполнения команд GL под Win32, вы можете получить дескриптор этого конкретного контекста, вызвав wglGetCurrentContext (...)
.
Если в вашем фреймворке есть портативный способ получения собственного дескриптора, обязательно используйте его. Но это определенно не единственный вариант для Microsoft Windows.
person
Andon M. Coleman
schedule
12.09.2013