В настоящее время я работаю над программой на C++, используя OpenXR и OpenGL. Мне удалось визуализировать в VR все, что я хотел.
У меня есть один фреймбуфер на каждый глаз, а затем еще 3 для слоев (перекрестие/меню), которые отображаются при разных нажатиях кнопок (что сделано в виртуальной реальности с помощью xrEndFrame).
Проблема в том, что я хочу отразить все на экране компьютера.
Большая часть этого была простой, потому что Я только что использовал glBlitNamedFramebuffer, чтобы отразить один из глазных фреймбуферов на фреймбуфер 0/default, чтобы он отображался.
Но я не могу использовать этот метод для слоев, так как он есть только в 2D. на экране, и мне нужно расположить слой, например, там, где я ищу в виртуальной реальности перекрестие.
Я могу нарисовать четырехугольник в нужном мне положении, но я не знаю, как скопировать содержимое фреймбуфера на квадрокоптер.
Я думал, что glReadPixels может помочь, но это оказалось довольно неэффективно.
Подробнее здесь: https://stackoverflow.com/questions/786 ... ramebuffer
OpenGL: рендеринг фреймбуфера во фреймбуфер ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение