diff options
author | Aleksandar Stojiljkovic <aleksandar.stojiljkovic@mapbox.com> | 2019-07-23 17:19:52 +0300 |
---|---|---|
committer | Aleksandar Stojiljkovic <aleksandar.stojiljkovic@mapbox.com> | 2019-07-24 17:52:43 +0300 |
commit | 5955610356cf405b7cb698a899b05f305021d41e (patch) | |
tree | 5835d61a2676307c1b24f7a9775071ab6891766b /.clang-format | |
parent | 1aa4776dc1d7e60989fa7524a816e7db1b92056b (diff) | |
download | qtlocation-mapboxgl-5955610356cf405b7cb698a899b05f305021d41e.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 '.clang-format')
0 files changed, 0 insertions, 0 deletions