OpenGL Viewer Управление и контексты рендеринга - PullRequest
1 голос
/ 31 марта 2010

Я создал элемент управления OpenGL Viewer, который можно просто перетащить в форму окна (во время разработки), и назначил список отображения OpenGL (во время выполнения).

Элемент управления средства просмотра управляет навигацией, параметрами отображения (например, цветом фона) и т. Д. Он также отвечает за создание и уничтожение контекстов рендеринга и устройства по мере необходимости.

Очевидно, что каждый экземпляр элемента управления просмотра имеет свой собственный контекст устройства, «окно», в котором рисуется изображение.

Вопросы:

  • Каким образом каждый экземпляр средства просмотра должен управлять контекстами рендеринга?
  • Должен ли каждый экземпляр иметь свой собственный контекст или иметь общий контекст рендеринга?

Меня особенно беспокоит то, как это влияет на создание шрифта WGL ( wglUseFontBitmaps и wglUseFontOutlines ), для которого требуется контекст рендеринга (независимо от текущего контекста) и контекст устройства.

  • Нужно ли создавать каждый шрифт WGL для каждой комбинации рендеринга / контекста устройства?

Возможно, мой подход неверен.

1 Ответ

1 голос
/ 14 апреля 2010

Я бы пошел с контекстом на подход контроля. Вы должны помнить, что расширения основаны на контексте, поэтому вам придется связывать их для каждого, что вы делаете (для этого я использую glew_MX).

Кроме того, вы можете обмениваться списками отображения в разных контекстах (если они находятся в одном и том же графическом процессоре), а создание шрифта wgl создает списки отображения, поэтому с вами все будет в порядке.

...