Я изучил подокна в openGL, но проблема в том, что вы должны перерисовать все (в основном заканчивая двумя сценами с другим углом = не хорошо)
Это на самом делеодин и единственный способ сделать это с OpenGL.
Так, как я могу добавить «вторую камеру» в мою текущую сцену и затем расположить ее сверху.
OpenGLне имеет камер.У него даже нет сцены.OpenGL просто рисует очень простые фигуры: точки, линии и треугольники.Кроме того, OpenGL не имеет представления о геометрии или сложных сценах.
Управление сценами зависит от вас, а рисование нескольких видов сцены должно быть реализовано вами.
Обновление:Псевдокод
draw_scene:
for o in objects:
glPushMatrix()
glMultMatrix(o.transform)
o.draw()
glPopMatrix()
render_main_view:
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
glFrustum(...)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
glMultMatrix(main_camera_transform)
render_secondary_view:
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
glFrustum(...)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
glMultMatrix(secondary_camera_transform)
scissor_viewport(x,y,w,h)
glScissor(x,y,w,h)
glViewport(x,y,w,h)
render:
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glEnable(GL_SCISSOR_TEST)
scissor_viewport(main_viewport.x,main_viewport.y,main_viewport.w,main_viewport.h)
render_main_view()
glClear(GL_DEPTH_BUFFER_BIT)
scissor_viewport(secondary_viewport.x,secondary_viewport.y,secondary_viewport.w,secondary_viewport.h)
render_secondary_view()