Я пишу приложение, которое отображает сцену OpenGL. Это приложение имеет два окна:
- Большое окно, которое показывает только визуализированную сцену
- «Окно управления», которое предлагает несколько настроек и предварительный просмотр отрисованной сцены
Это приложение написано на .NET (для части окна управления) и использует собственную C ++ DLL для создания окна рендеринга и выполнения фактического рендеринга OpenGL.
Это отлично работает, но одна важная часть все еще отсутствует: предварительный просмотр отрисованной сцены в окне управления .NET.
До сих пор я мог думать о двух решениях:
- Отображение сцены не только на экране, но и в памяти. Затем вставьте этот блок памяти в мою .NET WinForm. Наконец нарисуйте изображение в PictureBox или что-то. <- Звучит ужасно медленно! </li>
- Сделайте так, чтобы мой родной рендерер OpenGL отображал сцену дважды, один раз в собственное полноразмерное окно, один раз на элемент управления (панель?) В моей форме .NET.
Вариант 2 звучит быстрее, но я понятия не имею, работает ли / как это вообще.
Можно ли это сделать? Есть ли лучшие альтернативы?