我想用分辨率非常高(比如 20,000 x 20,000 像素)的特定相机参数渲染场景,但实际上我只对图像平面的 640x480 小部分感兴趣。
我不一定只想放大该部分并改变相机指向的位置。我希望相机保持指向同一方向,我只想渲染场景的一小部分。
我附上了一张图片来尝试展示我在说什么:
关于如何正确设置带有 OpenGL 调用的相机矩阵的任何提示?
最佳答案
您需要做的就是选择不同的投影矩阵。 glFrustum
的旧引用页描述如何创建这样的矩阵:
左侧、右侧、顶部和底部参数指定视锥体的边缘(如图片所示)。要制作“正常”投影矩阵,left = -right,top = -bottom。将它们设置为不同的值可以限制您的 View 。例如,如果您设置 left = 0 和 top = 0 而同时保留 right 和 bottom 不变,那么您将获得类似于图片中红色区域的投影。
如果您弄清楚当前使用的值,那么调整它们以产生您想要的结果应该很简单。
关于opengl - 在 OpenGL 中渲染裁剪的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19108414/