我试图通过限制查看音量来在我的屏幕上剪辑图像glFrustum
。在 的官方文档中Glfrustum
,提到 是left, right, top, bottom, near, far
剪切的坐标。我认为它们是屏幕坐标并尝试这样做:
glFrustum(100, 924, 100, 668, 3, 1000);
以上没有在屏幕上向我显示任何内容。所以,我只是在某处查找并看到一些代码如下(但为什么这些坐标是负数?):
glFrustum(-1, 1, -1, 1, 0.5, 1000);
我使用 excat 相同的东西并开始在屏幕上显示图像的某些部分。随后,我尝试摆弄坐标near
并注意到观看量的变化。
glFrustum(-10,10,-10,10,10,1000);
glFrustum(-100,100,-100,100,100,1000);
glFrustum(-0.5,0.5,-0.5,0.5,0.5,1000);
以上所有内容都在屏幕上向我提供了相同的图像输出。但是在我观察到使用 glFrustum 的大多数地方,我注意到在某处使用的值[-1,1]
(例如这里)和人们谈论标准化范围内的计算。为什么要根据归一化值计算left, right, bottom, top, near, far
重要的(近和远也包括在归一化值中?)?是否也可以使用屏幕坐标中的值执行相同的操作?