OpenGL Ortho坐标

时间:2011-09-25 23:30:30

标签: iphone opengl-es

我有一个覆盖在MKMapView之上的OpenGL视图。我的目标是让glView的坐标在地图上具有相同的MKMapPoints值。为此,我在地图的左上角和右下角找到了MKMapPoint的值。

CLLocationCoordinate2D coordinateTopLeft = [mapView convertPoint:CGPointMake(0, 0) toCoordinateFromView:mapView];
MKMapPoint pointTopLeft = MKMapPointForCoordinate(coordinateTopLeft);

CLLocationCoordinate2D coordinateBottomRight = [mapView convertPoint:CGPointMake(mapView.frame.size.width, mapView.frame.size.width) toCoordinateFromView:mapView];
MKMapPoint pointBottomRight = MKMapPointForCoordinate(coordinateBottomRight);

然后我设置glView的右,左,底和顶坐标以相应地匹配这些点。

glOrthof(pointTopLeft.x, pointBottomRight.x, pointBottomRight.y, pointTopLeft.y, -1, 1);

不幸的是,这不起作用。我试图绘制的三角形不起作用。我测试过,我试图绘制的点位于正确的域中。

我只是误解了glOrthof方法的工作原理吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试过翻转pointBottomRight.y和pointTopLeft.y? OpenGL y坐标系与最常用的约定相反。