C++ OpenGL&x2B;多摄像机

C++ OpenGL&x2B;多摄像机,c++,c,opengl,C++,C,Opengl,让我看看我是否明白了。如果我使用多个视口,我可以在OpenGL应用程序中创建多个“摄影机”。对吧? 我有一个对象可以在视口1中看到,但在视口2中不可见。如果我想在两个视口中都显示主题,那么…我必须绘制双视图 这意味着如果我有两个物体,如果我有两个“相机”,我必须画两次这些物体。所以在我的场景中,我必须画两张 这样行吗?有没有其他方法可以在不复制对象的情况下分割屏幕 这样行吗 是的,事情就是这样 有没有其他方法可以在不复制对象的情况下分割屏幕 你不是在复制对象。你不能,因为在OpenGL中没有“对

让我看看我是否明白了。如果我使用多个视口,我可以在OpenGL应用程序中创建多个“摄影机”。对吧?

我有一个对象可以在视口1中看到,但在视口2中不可见。如果我想在两个视口中都显示主题,那么…我必须绘制双视图

这意味着如果我有两个物体,如果我有两个“相机”,我必须画两次这些物体。所以在我的场景中,我必须画两张

这样行吗?有没有其他方法可以在不复制对象的情况下分割屏幕

这样行吗

是的,事情就是这样

有没有其他方法可以在不复制对象的情况下分割屏幕

你不是在复制对象。你不能,因为在OpenGL中没有“对象”这样的东西。OpenGL只是一种在帧缓冲区上绘制的复杂铅笔。没有场景,没有对象,只有绘制到帧缓冲区的点、线和三角形

你所要做的就是从不同的角度为同一件事画几幅画,就像你想用铅笔在纸上画一样

这样行吗

是的,事情就是这样

有没有其他方法可以在不复制对象的情况下分割屏幕

你不是在复制对象。你不能,因为在OpenGL中没有“对象”这样的东西。OpenGL只是一种在帧缓冲区上绘制的复杂铅笔。没有场景,没有对象,只有绘制到帧缓冲区的点、线和三角形


你所要做的就是从不同的角度为同一件事画几幅画,就像你想用铅笔在纸上画一样。

谢谢你的回复。我有一个问题,如果我有一个函数,它可以画一个模型,这个模型可以执行各种操作,比如旋转计算,等等。。如果我为每个视口调用此函数,我不会将同一模型的操作数增加一倍?是的,你正在这样做,但datenwolf给你的隐喻很清楚:它就像用铅笔在纸上画画。你到底想要两张纸吗?你必须画两次,两个视角(两个摄像头),两次计算成本。。也许您可以使用面向对象编程来保存一些参数和一些微积分,但这取决于您的程序,而不是OpenGL。谢谢您的响应。我有一个问题,如果我有一个函数,它可以画一个模型,这个模型可以执行各种操作,比如旋转计算,等等。。如果我为每个视口调用此函数,我不会将同一模型的操作数增加一倍?是的,你正在这样做,但datenwolf给你的隐喻很清楚:它就像用铅笔在纸上画画。你到底想要两张纸吗?你必须画两次,两个视角(两个摄像头),两次计算成本。。也许你可以通过面向对象编程来保存一些参数和微积分,但这取决于你的程序,而不是openglI。我想你想要的是避免api调用重复。如果目标硬件支持,则可以使用视口阵列来完成此操作。谢谢你的回答,朋友。我想你想要的是避免api调用重复。如果目标硬件支持,则可以使用视口阵列来完成此操作。谢谢你的回答,朋友。