在OpenGL中我们可以使用gluPerspective来设置视椎体。但是在OpenGL ES中却没有提供这样的实用库支持,其实我们可以自己来完成这个函数的功能。代码如下:
1
2 void __gluPerspective(double fovy, double aspect, double zNear, double zFar)
3 {
4 glMatrixMode(GL_PROJECTION);
5 glLoadIdentity();
6
7 double xmin, xmax, ymin, ymax;
8 ymax = zNear * tan(fovy * KPI / 360);
9 ymin = -ymax;
10 xmin = ymin * aspect;
11 xmax = ymax * aspect;
12
13 glFrustumf(xmin, xmax, ymin, ymax, zNear, zFar);
14 }
15
16
在需要调用gluPerspective的地方,用该函数替换即可。