Fixes two issues in camera navigation:
- Unintuitive camera rotation
- Wrong center point when zooming in/out and rotating
See https://github.com/qgis/QGIS-Enhancement-Proposals/issues/215
This PR employs the following changes:
- The zoom in functionality will zoom in towards the real 3D position of an object in the scene instead the camera view center point used previously.
- The rotation will use the real clicked 3D position of a pixel as well instead of the camera view center point.
- The press and drag behaviour is improved to shift the map in real 3D coordinates instead of some arbitrary measurement (you can see the clicked pixel following the cursor instead of drifting away).
* add optional layer rendering to 3D terrain
* remove terrainLayers from Qgs3DMapSettings
* fix tests
* switch to layer terrain rendering when no 3d renderer is set
* fix mesh tests to handle terrain being disabled
* Initial post processing render pass implementation
* Got shadows with directional lights working good enough
* Make the shadows more configurable
* Trying to reduce peter panning
* Add licence
* banned banned_keywords_check
* trying to remove renderStateSet memory leak
* removing include <Qt3DExtras>
* Add documentation
* remove the use of setFilterMode when using QFilterLayer
* Fixing docs
* Fix shadow rendering checkbox
* Added y coordinates for view extent
* Added shadow bias parameter
* Added shadow map texture resolution parameter
* Addressing reviews
* Set the shadow rendering parameters automatically
* Add QLayer components individually if QT_VERSION < QT_5_10
* Hide depth texture preview quad
* Remove unused member
* Fix spell check
* Remove stepType property from shadowBiasSpinBox
* Disable shadow render pass if the shadow rendering is not activated
* Clarify maximum shadow rendering distance documentation
* Add value range for shadow bias
* Delete .bom file
* Clarify the usefullness of maximum shadow rendering distance
* remove unused stuff in shaders
* Make the inverted camera matrices passed as parameters
* Move post processing shaders parameters into the post processing entity constructor
* refactor how shadow rendering update into 1 function
* Fix spelling
* Fix Save As Image tool
* Improve UI according to suggessions
* add missing docs
* remove QAbstractSpinBox::DefaultStepType
for specifying terrain layers to render
Previously the one method was used for both, which made it very
difficult to have a different set of layers used for terrain
generation vs 3d entity generation (you had to manually create a map
theme, which is very messy)
If enabled, shows a sphere at light source origins, allowing easier repositioning
and placement of light sources relative to the scene contents
Fixes#37726