WxNviz: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
(→‎Nviz command-line module: surface draw style)
Line 99: Line 99:
==== Nviz command-line module ====
==== Nviz command-line module ====


* Supports visualization of '''surfaces''', attributes:
The nviz_cmd module currently implements:
 
* Support for visualization of '''surfaces''', attributes:
** topography - raster map or constant values used as elevation (z values) for the current surface.
** topography - raster map or constant values used as elevation (z values) for the current surface.
** color - raster map or constant color to drape over the current surface.  
** color - raster map or constant color to drape over the current surface.  
Line 106: Line 108:
** shininess - raster map or constant value that controls the shininess (reflectivity) of the current surface.  
** shininess - raster map or constant value that controls the shininess (reflectivity) of the current surface.  
** emission - raster map or constant value that controls the light emitted from the current surface.
** emission - raster map or constant value that controls the light emitted from the current surface.
* For each loaded surface draw style:
** mode - coarse,fine,both
** style - wire,surface
** shading - flat,gouraud
** coarse and fine resolution
** wire color


==== wxGUI Nviz extension ====
==== wxGUI Nviz extension ====

Revision as of 19:24, 18 August 2008

Back to wxGUI page.

Accepted Google Summer of Code 2008 project

Roadmap / Progress

Done

  • Initial cleaning underlying GRASS OpenGL gsurf OGSF Library
    • Doxygenization, code documentation
    • Eliminate fprintf(), changed to G_*_message(), G_warning(), G_fatal_error(), and G_debug()

wxGUI Nviz extension

  • Integration with Layer Manager, (un)loading data when map layer is (un)/checked
  • Integration with Map Display, auto-rendering functional
  • View settings (position, height, perspective, twist, z-exag), perspective can be changed by mouse wheel
  • Surface settings (attributes, draw mode)
  • Vector 2D/3D points and lines (including boundaries, areas, faces, volumes)
  • Saving layer properties in workspace file

What should work:

  • Start GRASS with NC dataset
  • Add raster map "elevation" and vector map "roadsmajor"
  • Start Nviz from Map display toolbar
  • Change view, surface attributes, draw mode (try also auto-rendering)
  • Enable/disable data layer from Layer Manager

In progress

  • Update OGSF Library documentation
  • Experimental prototype of CLI version of NVIZ (just very simple functionality)
http://trac.osgeo.org/grass/browser/grass/trunk/visualization/nviz2/cmd
  • Design experimental nvizlib used by CLI and wxPython NVIZ prototype
http://trac.osgeo.org/grass/browser/grass/trunk/lib/nviz
  • Experimental prototype of NVIZ toolbox for wxGUI (based on NVIZ CLI functionality)
http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/nviz
http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/gui_modules/nviz.py

wxGUI Nviz extension

  • Support for volumes

Nviz CLI

  • To be updated (based on wxGUI Nviz functionality)

Screenshots

Alpha prototype

2008-06-27: Display raster map from layer tree in 2.5D (surface)
2008-07-05: Support for vector data (2D lines) added
2008-07-26: Support for vector point data
2008-08-02: 3D vector data support
2008-08-09: Initial support for volumetric data

 

Ideas

Google SoC Reports

  1. 2008-06-06
  2. 2008-06-13
  3. 2008-06-20
  4. 2008-06-27
  5. 2008-07-04
  6. 2008-07-11
  7. 2008-07-18
  8. 2008-07-25
  9. 2008-08-01
  10. 2008-08-08
  11. 2008-08-15

Final reports

OGSF Library

Changes in OGSF library, diff before and after indentation relevant diffs:

Nviz command-line module

The nviz_cmd module currently implements:

  • Support for visualization of surfaces, attributes:
    • topography - raster map or constant values used as elevation (z values) for the current surface.
    • color - raster map or constant color to drape over the current surface.
    • mask - raster map that controls the areas displayed from the current surface.
    • transparency - raster map or constant value that controls the transparency of the current surface. The default is completely opaque.
    • shininess - raster map or constant value that controls the shininess (reflectivity) of the current surface.
    • emission - raster map or constant value that controls the light emitted from the current surface.
  • For each loaded surface draw style:
    • mode - coarse,fine,both
    • style - wire,surface
    • shading - flat,gouraud
    • coarse and fine resolution
    • wire color

wxGUI Nviz extension