Я новичок в программировании U/I, и я пытаюсь начать работу с OpenGL. Когда я запускаю примерную программу, которая создает новое окно OpenGL с GLUT, он отлично работает. Хорошо. Однако, в контексте другой программы, где я должен ответить рисовать события (на Windows), с контекстом устройства, переданного мне - и где я не мог бы иметь GLUT в наличии - моя путаница заключается в следующем:Как работают контексты OpenGL и контексты устройства?
Когда создается и уничтожается контекст устройства? Могу ли я использовать любой контекст устройства, предоставленный мне, или только некоторые из них (и откуда я знаю)?
Должен ли я создать свой собственный контекст OpenGL и использовать его для рисования, или я могу использовать «текущий» контекст OpenGL? Должен ли я повторно создавать контекст каждый раз при отправке события ничьей?
В основном мой вопрос, учитывая ситуацию, когда я послан «Draw» события, как часто я пытаюсь создать OpenGL контекст и как это связано с циклом создания/уничтожения контекстов устройств?
Отлично - я думаю, это отвечает на мой вопрос. Тогда контекст OpenGL будет в значительной степени ассоциирован с 1-1 с DC, не так ли? Я помню, что читал о наличии только одного контекста в потоке. Я полагаю, что тогда разные потоки будут иметь разные DC? – 2009-05-18 18:37:08
Проблема с потоками различна - при создании DC вы всегда должны использовать этот поток для всех вызовов в этот DC. В общем, это означает один поток графики/рендеринга для каждого контекста устройства (т. Е. Для каждого окна). –