我正在阅读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”的立方体?
答案 0 :(得分:0)
OpenGL假设在ModelView和Projection变换之后,所有可见元素都在剪辑空间(或NDC空间)中;它使用多维数据集[-1;+1]^3
。矩阵内容完全是您的责任。由于您加载了单位矩阵,因此根本没有投影。