Opengl glViewport和glFrustum之间的连接到底是什么?
假设我想画以下几行:Opengl glViewport和glFrustum之间的连接到底是什么?,opengl,opengl-es,opengl-es-1.1,frustum,Opengl,Opengl Es,Opengl Es 1.1,Frustum,假设我想画以下几行: const GLfloat lineX[] = { FrustumData.left * FrustumData.ratio , (FrustumData.top + FrustumData.bottom) / 2 * FrustumData.ratio, FrustumData.zFar, //point A FrustumData.right * FrustumData.ratio , (FrustumData.top + Frus
const GLfloat lineX[] = {
FrustumData.left * FrustumData.ratio , (FrustumData.top + FrustumData.bottom) / 2 * FrustumData.ratio, FrustumData.zFar, //point A
FrustumData.right * FrustumData.ratio , (FrustumData.top + FrustumData.bottom) / 2 * FrustumData.ratio, FrustumData.zFar //point B
};
const GLfloat lineY[] = {
(FrustumData.left + FrustumData.right) / 2 * FrustumData.ratio , FrustumData.bottom * FrustumData.ratio, FrustumData.zFar, //point A
(FrustumData.left + FrustumData.right) / 2 * FrustumData.ratio , FrustumData.top * FrustumData.ratio, FrustumData.zFar //point B
};
const GLfloat lineZ[] = {
(FrustumData.left + FrustumData.right) / 2 * FrustumData.ratio, (FrustumData.top + FrustumData.bottom) / 2 * FrustumData.ratio, FrustumData.zFar, //point A
(FrustumData.left + FrustumData.right) / 2 , (FrustumData.top + FrustumData.bottom) / 2 , FrustumData.zNear //point B
};
其中比率=zFar/zNear,其他所有参数均为glFrustum参数
我不应该看到任何平截头体参数选择的线条吗,或者它以某种方式取决于视口
因为我现在没有看到他们,我不明白为什么
谢谢。两者之间没有直接联系。但它们都对屏幕上显示的内容有直接影响 从本质上讲,glFrustum是一个函数,用于创建某种类型的投影变换,即创建透视图的投影变换。我建议再读一本 我在回答中写道: 此变换将眼睛空间中的某些体积映射到具有特定边界的特定体积,几何体将剪裁到该体积 glFrustum正在定义这样一个卷。它看起来像一个棱锥体,其尖端切割为(平截头体),尖端位于眼空间原点,“切割”是近剪裁平面,棱锥体的底部是远剪裁平面。参数left、right、bottom和top以眼睛空间单位定义近剪裁平面的范围