diff options
author | Aleksandar Stojiljkovic <aleksandar.stojiljkovic@mapbox.com> | 2019-07-23 17:19:52 +0300 |
---|---|---|
committer | Aleksandar Stojiljkovic <aleksandar.stojiljkovic@mapbox.com> | 2019-08-01 09:28:36 +0300 |
commit | 73d9f26d03810854c36a96b252885353f8ba81ce (patch) | |
tree | f7ed24fc8677192075fda78724c1a1a83da86acd /platform | |
parent | 375c3131afcdcedb5a2dfbb19eec29625c44494d (diff) | |
download | qtlocation-mapboxgl-73d9f26d03810854c36a96b252885353f8ba81ce.tar.gz |
[core] Limit pitch based on edge insets. Fix max Z calculation in getProjMatrix.
Patch partly fixes #15163 in a way that it doesn't allow loading tens of thousands of tiles and attempt to show area above horizon:
Limit pitch based on edge insets. It is not too bad - current limit of 60 degrees stays active until center of perspective is moved towards the bottom, to 84% of screen height. The plan is to split removal of 60 degrees limit to follow up patch.
Fix max Z calculation in getProjMatrix. TransformState::getProjMatrix calculation of farZ was complex with possibility to lead to negative z values. Replacing it with simpler, precise calculation:
furthestDistance = cameraToCenterDistance / (1 - tanFovAboveCenter * std::tan(getPitch()));
TransformState::getProjMatrix calculation of farZ was an aproximation. Replacing it with simpler, but precise calculation.
Related to: #15163
Diffstat (limited to 'platform')
m--------- | platform/ios/vendor/mapbox-events-ios | 0 |
1 files changed, 0 insertions, 0 deletions
diff --git a/platform/ios/vendor/mapbox-events-ios b/platform/ios/vendor/mapbox-events-ios -Subproject 2e6bbd9f3c898f33a49e20fb97eca86eeb6351e +Subproject 9f1be0cd2a8d15312f40343a9d9615b16dcc8a6 |