У меня есть представление OpenGL, наложенное поверх MKMapView. Моя цель состоит в том, чтобы координаты 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?