没有glFrustum和glOrtho设置的投影的视图体积是多少?

时间:2012-04-25 00:17:55

标签: ios opengl-es

我正在阅读WWDC2010的示例代码GLVideoFrame。在此示例中,它具有如下代码:

static const GLfloat squareVertices[] = {
    -0.5f,  -0.33f,
     0.5f,  -0.33f,
    -0.5f,   0.33f,
     0.5f,   0.33f,
};
...
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(0.0f, (GLfloat)(sinf(transY)/2.0f), 0.0f);
transY += 0.075f;

...
glVertexPointer(2, GL_FLOAT, 0, squareVertices);

请注意,此代码不会调用glFrustum或glOrtho等任何函数来进行openGL投影设置。

只调用gLoadIdentity(),“默认”视图卷是什么?

它将是透视项目还是正投影?

编辑: 更具体, 视图体积是一个“在所有三个轴上从-1到1”的立方体?

1 个答案:

答案 0 :(得分:0)

OpenGL假设在ModelView和Projection变换之后,所有可见元素都在剪辑空间(或NDC空间)中;它使用多维数据集[-1;+1]^3。矩阵内容完全是您的责任。由于您加载了单位矩阵,因此根本没有投影。