Я создал элемент управления OpenGL Viewer, который можно просто перетащить в форму окна (во время разработки), и назначил список отображения OpenGL (во время выполнения).
Элемент управления средства просмотра управляет навигацией, параметрами отображения (например, цветом фона) и т. Д. Он также отвечает за создание и уничтожение контекстов рендеринга и устройства по мере необходимости.
Очевидно, что каждый экземпляр элемента управления просмотра имеет свой собственный контекст устройства, «окно», в котором рисуется изображение.
Вопросы:
- Каким образом каждый экземпляр средства просмотра должен управлять контекстами рендеринга?
- Должен ли каждый экземпляр иметь свой собственный контекст или иметь общий контекст рендеринга?
Меня особенно беспокоит то, как это влияет на создание шрифта WGL ( wglUseFontBitmaps и wglUseFontOutlines ), для которого требуется контекст рендеринга (независимо от текущего контекста) и контекст устройства.
- Нужно ли создавать каждый шрифт WGL для каждой комбинации рендеринга / контекста устройства?
Возможно, мой подход неверен.