Google Summer of Code 2020 Ideas - qgis/QGIS GitHub Wiki

QGIS project would like to participate in Google Summer of Code 2020 under the umbrella of OSGeo.

Project ideas

QGIS 3D Improvements

  • Expected outcome: new features for 3D views depending on the agreed project scope
  • Skills required: Qt/C++, basic knowledge of 3D graphics
  • Mentors: Martin Dobias (@wonder-sk), Peter Petrik (@PeterPetrik)
  • Difficulty: medium to hard
  • Test for student: write a python script that could be run in QGIS, the script should create a new memory layer with point geometries with a bunch of randomly placed 3D points within current project's area and assign a 3D renderer to the layer to display a sphere in 3D map view for each point.

Support for 3D map views has been around since QGIS 3.0 and getting better with every single QGIS release. The idea is to add new features to the 3D map view. Some initial ideas (exact project scope would be chosen based on student's preferences and complexity of the chosen items):

  • export of 3D scene to a common 3D format (e.g. COLLADA) for post-processing in advanced 3D tools like Blender
  • new 3D renderers
    • for line layers - features as 3D pipes
    • for raster layers - raster as a plane or volume
  • point cloud rendering
  • rendering of georeferenced 3D models (e.g. OBJ format)
  • new rendering techniques
    • textured objects
    • physically based rendering (see e.g. https://learnopengl.com/PBR/Theory )
    • shadow rendering
    • non-realistic rendering (e.g. wireframe)
    • semi-transparent objects
  • globe rendering (in addition to the flat scene)
  • animations: support animation of other objects than just camera
  • formats: support for 3D tiles
  • Python scripting to access live 3D map scene

For possible mentors

When adding a project idea, please make sure to add the following:

  1. a project title/description
  2. more detailed description of the project (2-5 sentences)
  3. expected outcomes
  4. skills required/preferred
  5. 2 possible mentors.
  6. if possible, an easy, medium or hard rating of each project.
  7. A test for the students to submit to your evaluation. The test aims at evaluating if the student is capable for the project, so please design it having in mind the skills required to complete the project.