标签: opengl viewport frustum
我想渲染具有特定相机参数的场景,其中分辨率非常高(例如20,000 x 20,000像素),但实际上我只对图像平面的640x480小部分感兴趣。
我不一定只想放大部分并改变相机指向的位置。我希望相机保持指向同一个方向,我只想渲染场景的一小部分。
我附上了一张照片,试图展示我在说什么:
有关如何使用OpenGL正确设置摄像机矩阵的任何提示都适合这样的事情吗?
答案 0 :(得分:2)
您需要做的就是选择不同的投影矩阵。 glFrustum的旧参考页描述了如何创建这样的矩阵:
glFrustum
left,right,top和bottom参数指定平截头体的边缘(如图所示)。要制作“普通”投影矩阵,left = -right,top = -bottom。将它们设置为不同的值可以限制视图。例如,如果你设置left = 0和top = 0同时保持右边和底部完整,那么你将有一个类似于图片中红色区域的投影。
如果你弄清楚你目前正在使用的值,可以直接调整它们以产生你想要的结果。
答案 1 :(得分:1)
我认为libtr会做你想做的事。
libtr