[marble] [Bug 366245] height value used in globe projection leads to blurred images
Torsten Rahn
bugzilla_noreply at kde.org
Sat Apr 22 14:54:19 BST 2023
https://bugs.kde.org/show_bug.cgi?id=366245
Torsten Rahn <rahn at kde.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rahn at kde.org
--- Comment #4 from Torsten Rahn <rahn at kde.org> ---
Yes that is a conceptual problem.
Currently we have several mechanisms in place that try to allow for "crisp"
rendering across projections.
On one hand there is the "discrete" property that can be specified in the
maptheme's DGML-file in order to have zooming via the mouse-wheel "locked" to
the "best values":
<dgml xmlns="http://edu.kde.org/marble/dgml/2.0">
<document>
<head>
<name>OpenStreetMap</name>
<zoom>
<discrete> true </discrete>
</zoom>
</head>
In addition to this we have the option to zoom via "+" and "-" which also
"locks" to the "best values".
The best values get determined via the methods
int TextureLayer::preferredRadiusCeil( int radius ) const
and
int TextureLayer::preferredRadiusFloor( int radius ) const
Their implementation returns "best values" which are chosen relative to the
tile dimensions (and their inherent projection which is Mercator for many and
Equirectangular for others). This means that the most "crisp" rendering can be
achieved if the user-selected projection matches the actual tile-projection.
For all other projections (like spherical) the rendering will differ a bit
(resulting in an "apparent height difference" as you described it). A "better"
implementation might apply another projedtion-dependent multiplication factor
to the "preferredRadiusFloor/Ceil"-result. However that requires some
additional "tinkering".
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the Marble-bugs
mailing list