64 | | |
| 64 | === Enhance 3D rendering capabilities in GRASS GIS === |
| 65 | |
| 66 | Current 3D rendering capabilities in GRASS GIS (called NVIZ) are quite powerful, but many important features are missing. |
| 67 | The current implementation is rather old and needs to be updated with more recent technologies. |
| 68 | The following points (fixes and new features) should be addressed: |
| 69 | * fix rendering raster and vector data with transparency |
| 70 | * faster rendering of point clouds |
| 71 | * implement text rendering (for scale bars for example) |
| 72 | * review and fix problems with current rendering of 3D vectors |
| 73 | * possible new features would include volume rendering (ray casting for example), so far we can visualize only isosurfaces or slices of 3D rasters |
| 74 | * adding axes |
| 75 | |
| 76 | * Requirements: C, OpenGL |
| 77 | * Mentor: Anna Petrasova |
| 78 | * Co-mentor: Vaclav Petras |
| 79 | * Proposed by: Anna Petrasova |
| 80 | * Rating: medium |
| 81 | * Expected Outcomes: reliable on-screen and off-screen 3D rendering on most platforms |
| 82 | * Test of skills: #2076, #3743 |
| 83 | |
| 84 | === Single window layout === |
| 85 | Currently, GRASS GIS GUI (wxGUI) has one Layer Manager window and one or more Map Display windows. This multiple window layout can sometimes be problematic and is not common. This project would try to develop an optional single window layout, similarly to [https://docs.gimp.org/2.8/en/gimp-concepts-main-windows.html GIMP]. This project would include: |
| 86 | * detailed design of the behavior of current components + mockups |
| 87 | * refactoring some of the wxGUI components to untangle them and make them reusable |
| 88 | * implementing the actual layout and its behavior while keeping the multiple window layout working |
| 89 | |
| 90 | * Requirements: Python, wxPython |
| 91 | * Mentor: Anna Petrasova, Vaclav Petras |
| 92 | * Proposed by: Anna Petrasova |
| 93 | * Rating: medium |
| 94 | * Expected Outcomes: enable switching between single- and multiple-window layout |
| 95 | * Test of skills: Develop a simple wxPython application, which would allow to switch between these two modes. This should demonstrate student knows wxPython and general GUI design. |