在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的地方,用該函數替換即可。