3D map view - proof of concept using Qt 3D
C++ GLSL QMake C
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
data
poly2tri
shaders Fix the strange "divided by two" positioning of points Jul 18, 2017
skybox Optional sky box so we are not somewhere in middle of dark space anymore Jul 13, 2017
.gitignore Initial import of qgis3d demo app Mar 19, 2017
README.md Update README.md Oct 2, 2017
aabb.h
ap.tif
cameracontroller.cpp
cameracontroller.h Generic entity for chunked loading/unloading of data with quadtree Jul 17, 2017
chunkedentity.cpp
chunkedentity.h
chunklist.cpp Basic implementation of loading chunks in worker thread Jul 18, 2017
chunklist.h Generic entity for chunked loading/unloading of data with quadtree Jul 17, 2017
chunkloader.cpp Move chunk loader + factory to a separate header/source Jul 18, 2017
chunkloader.h Move chunk loader + factory to a separate header/source Jul 18, 2017
chunknode.cpp Terrain now based on ChunkedNode, removed old code Jul 18, 2017
chunknode.h Terrain now based on ChunkedNode, removed old code Jul 18, 2017
data.qrc Improve material settings to include all components of Phong model Jul 15, 2017
demterraingenerator.cpp Make the code work with QGIS 3.0 Jun 30, 2018
demterraingenerator.h Initial support for clamping vector features to terrain Jul 19, 2017
demterraintilegeometry.cpp
demterraintilegeometry.h Cancellation of map texture generation + async terrain from DEM Jul 10, 2017
dtm.tif
flatterraingenerator.cpp Terrain now based on ChunkedNode, removed old code Jul 18, 2017
flatterraingenerator.h
lineentity.cpp
lineentity.h
main.cpp
map3d.cpp
map3d.h Initial support for clamping vector features to terrain Jul 19, 2017
maptexturegenerator.cpp Plug flat terrain generator into the new chunked node system Jul 18, 2017
maptexturegenerator.h Plug flat terrain generator into the new chunked node system Jul 18, 2017
maptextureimage.cpp
maptextureimage.h
pointentity.cpp
pointentity.h Moved terrain to map transfrom from Map3D to Terrain Jul 14, 2017
polygonentity.cpp Make the code work with QGIS 3.0 Jun 30, 2018
polygonentity.h Moved terrain to map transfrom from Map3D to Terrain Jul 14, 2017
polygongeometry.cpp
polygongeometry.h
qgis3d.pro
qml.qrc
quantizedmeshgeometry.cpp
quantizedmeshgeometry.h Moved terrain to map transfrom from Map3D to Terrain Jul 14, 2017
quantizedmeshterraingenerator.cpp
quantizedmeshterraingenerator.h
scene.cpp Terrain now based on ChunkedNode, removed old code Jul 18, 2017
scene.h
sidepanel.cpp
sidepanel.h
terrain.cpp Terrain now based on ChunkedNode, removed old code Jul 18, 2017
terrain.h
terrainboundsentity.cpp Fix compilation with Qt 5.7 and Qt 5.8 Jul 10, 2017
terrainboundsentity.h
terrainchunkloader.cpp Terrain now based on ChunkedNode, removed old code Jul 18, 2017
terrainchunkloader.h
terraingenerator.cpp Initial support for clamping vector features to terrain Jul 19, 2017
terraingenerator.h Initial support for clamping vector features to terrain Jul 19, 2017
tessellator.cpp
tessellator.h Make the code work with QGIS 3.0 Jun 30, 2018
testchunkloader.cpp
testchunkloader.h Move chunk loader + factory to a separate header/source Jul 18, 2017
tilingscheme.cpp
tilingscheme.h Code shuffle - move different terrain generators to their own classes Jul 5, 2017
todo.txt
utils.cpp
utils.h
window3d.cpp Terrain now based on ChunkedNode, removed old code Jul 18, 2017
window3d.h

README.md

QGIS 3D

UPDATE: The work on 3D support in QGIS has been merged to QGIS master branch and will be included in 3.0 release.

This repository contains initial work to build a 3D framework for QGIS.

To build with 3D support, set WITH_3D=TRUE in CMake.

This will build qgis_3d library and a testing executable qgis3d.

Note: the testing executable qgis3d tries to load data from a folder specified by dataDir variable in src/3d/testapp/main.cpp. Please clone this repository and point dataDir to the path where you cloned it so it is possible to load the data files.

Pro-tip: you can specify WITH_GUI=FALSE to disable compilation of other bits of code and disable search for extra dependencies.

The code works with Qt >= 5.8, however it is preferred to use Qt 5.9 (LTS release). Unfortunately Qt3D in version 5.7 has some bugs that make QGIS 3D unusable.

This repository is not going to be target of further development of the 3D framework - it still contains testing data and keeps history of the initial 3D work.

Screenshot