我需要视图来显示道路多边形(矩形 3.f * 100.f),道路的消失点位于视口的 3/4 高度,最近的道路边缘作为视口的底侧。请参阅Crazy Taxi 游戏,了解我想做的一个例子。
我正在使用 iPhone SDK 3.1.2 默认的 OpenGL ES 项目模板。
我设置投影矩阵如下:
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustumf(-2.25f, 2.25f, -1.5f, 1.5f, 0.1f, 1000.0f);
然后我使用 glRotatef 来调整横向模式并设置相机。
glMatrixMode(GL_MODELVIEW);
glLoadIdentity(); glRotatef(-90, 0.0f, 0.0f, 1.0f);
常量浮点cameraAngle = 45.0f * M_PI / 180.0f;gluLookAt(0.0f, 2.0f, 0.0f, 0.0f, 0.0f, 100.0f, 0.0f, cos(cameraAngle), sin(cameraAngle));
我的道路多边形三角带是这样的:
static const GLfloat roadVertices[] = {
-1.5f,0.0f,0.0f,1.5f,0.0f,0.0f,-1.5f,0.0f,100.0f,1.5f,0.0f,100.0f,};
而且我似乎无法为 gluLookAt 找到正确的参数。我的消失点总是在屏幕的中心。