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