OpenGL Ortho Coordinates - PullRequest
       1

OpenGL Ortho Coordinates

0 голосов
/ 26 сентября 2011

У меня есть представление 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?

1 Ответ

0 голосов
/ 26 сентября 2011

Вы пробовали переключать pointBottomRight.y и pointTopLeft.y? Система y-координат OpenGL инвертирована из наиболее часто используемых соглашений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...