Можно ли использовать OpenGL в окне, которое уже использует GDI +? - PullRequest
0 голосов
/ 19 мая 2009

В основном меня вызывают для рендеринга на внеэкранный DC, который настроен (я не уверен, как) использовать GDI +. Когда я пытаюсь связать контекст OpenGL с DC, он просто терпит неудачу (то есть возвращает ноль, но без ошибки). SetPixelFormat также не работает (возможно, потому что он уже настроен?), Снова возвращая ноль, а не ошибку.

Кто-нибудь знает, возможно ли, учитывая такую ​​ситуацию (например, внеэкранный контекст для окна, в которое кто-то другой использует GDI +), создать контекст OpenGL и использовать OpenGL для моей собственной визуализации? (И если это возможно, почему wglCreateContext может не работать?)

1 Ответ

1 голос
/ 19 мая 2009

Эта статья показывает вам все шаги для подключения окна GDI: http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=01

По сути, вы должны:

  1. Создать окно
  2. Зарегистрировать окно
  3. Получить контекст устройства для области рисования окна
  4. Настройка формата пикселя для контекста устройства
  5. Call wglCreateContext
  6. Call wglMakeCurrent
  7. Показать окно

Если у вас уже есть доступ к контексту устройства, пропустите первые два шага.

В вашем случае вы можете увидеть, все ли вам нужно wglMakeCurrent. В противном случае вы можете опубликовать более подробную информацию об ошибках и поведении, которые вы испытываете.

...