wxGUI.nviz(1)
wxGUI.nviz โ the 3D View Mode glow-up ๐
okay bestie, buckle up, this is the manual for wxGUI.nviz from the GRASS GIS User's Manual and it's literally giving main character energy in three dimensions. no cap.
KEYWORDS โจ
display, GUI, visualization, graphics, raster, vector, raster3d
DESCRIPTION ๐ฆ
heads up bestie: wxNviz is currently under development. not all planned functionality is already implemented. she's a work in progress and we love her anyway. ๐
so. wxNviz is a wxGUI 3D view mode that lets you realistically render multiple surfaces (that's 2D raster maps, babe) in a 3D space. and when we say multiple, we mean optionally using:
- thematic coloring,
- draping 2D vector data over the surfaces,
- draping different 2D raster data over the surfaces,
- displaying 3D vector data in the space,
- and visualization of 3D rasters.
to start the wxGUI 3D view mode, choose '3D view' from the map toolbar. yes, you can switch between 2D and 3D view like it's nothing. and the region in 3D view is updated according to the displayed region in 2D view โ they stay in sync, fr fr. ๐
wxNviz is emphasized on the ease and speed of viewer positioning and gives you flexibility for using a wide range of data. a low resolution surface or wire grid (optional) provides real-time viewer positioning capabilities. coarse and fine resolution controls let you further refine drawing speed and detail as needed. and continuous scaling of elevation gives you the ability to use various data types for the vertical dimension. iconic behavior honestly.
for each session of wxNviz, you might want the same set of 2D/3D raster and vector data, view parameters, or other attributes. for consistency between sessions, you can store this information in the GRASS workspace file (gxw). the workspace contains information to restore the "state" of the system in 2D and, if wxNviz is enabled, also in the 3D display mode. save your fave setup, she'll remember. ๐
3D View Toolbar ๐
- Generate command for
m.nviz.imageโ generate command form.nviz.imagebased on current state. it's giving "write my essay for me" but make it 3D. - Show 3D view mode settings โ show dialog with settings for wxGUI 3D view mode. the user settings can be stored in the wxGUI settings file.
- Show help โ show this help. hi bestie, you found it. ๐ซถ
3D View Layer Manager Toolbox ๐ง
the 3D view toolbox is integrated in the Layer Manager. the toolbox has several tabs:
- View for view controlling,
- Data for data properties,
- Appearance for appearance settings (lighting, fringes, ...),
- Analysis for various data analyses (only cutting planes so far),
- Animation for creating simple animations.
View ๐
you can use this panel to set the position, direction, and perspective of the view. the position box shows a puck with a direction line pointing to the center. that direction line indicates the look direction (azimuth). you click and drag the puck to change the current eye position. another way to change eye position is to press the buttons around the position box representing cardinal and ordinal directions. drag her around, she loves it. โจ
there are four other buttons for view control in the bottom of this panel (following label Look:):
- here requires you to click on Map Display Window to determine the point to look at.
- center changes the point you are looking at to the center.
- top moves the current eye position above the map center.
- reset returns all current view settings to their default values.
you can adjust the viewer's height above the scene, perspective and twist value to rotate the scene about the horizontal axis. an angle of 0 is flat. the scene rotates between -90 and 90 degrees.
you can also adjust the vertical exaggeration of the surface. for example: if the easting and northing are in meters and the elevation in feet, a vertical exaggeration of 0.305 would produce a true (unexaggerated) surface. math ate that. ๐ฅ
view parameters can be controlled by sliders or edited directly in the text boxes. it is possible to enter values which are out of slider's range (and it will then adjust to the new range). she's flexible like that. ๐
Fly-through mode ๐ฆ
view can be changed in fly-through mode (can be activated in Map Display toolbar), which enables you to change the view smoothly and therefore it is suitable for creating animation (see below). to start flying, press left mouse button and hold it down to continue flying. flight direction is controlled by mouse cursor position on screen. flight speed can be increased/decreased stepwise by keys PageUp/PageDown, Home/End or Up/Down arrows. speed is increased multiple times while Shift key is held down. holding down Ctrl key switches flight mode in the way that position of viewpoint is changed (not the direction). you are literally a bird now, periodt. ๐๏ธ
Data properties ๐
this tab controls the parameters related to map layers. it consists of four collapsible panels โ Surface, Constant surface, Vector and 3D raster.
Surface ๐ธ
each active raster map layer from the current layer tree is displayed as surface in the 3D space. this panel controls how loaded surfaces are drawn. to change parameters of a surface, it must be selected in the very top part of the panel.
the top half of the panel has drawing style options. a surface can be drawn as a wire mesh or using filled polygons (most realistic). you can set draw mode to:
- coarse (fast display mode),
- fine (draws surface as filled polygons with fine resolution),
- both (which combines coarse and fine mode).
additionally set coarse style to wire to draw the surface as wire mesh (you can also choose color of the wire) or surface to draw the surface using coarse resolution filled polygons. this is a low resolution version of the polygon surface style. e.g. surface is drawn as a wire mesh if you set mode to coarse and style to wire. note that it differs from the mesh drawn in fast display mode because hidden lines are not drawn. to draw the surface using filled polygons, but with wire mesh draped over it, choose mode both and style wire.
beside mode and style you can also choose style of shading used for the surface:
- Gouraud style draws the surfaces with a smooth shading to blend individual cell colors together,
- flat draws the surfaces with flat shading with one color for every two cells. the surface appears faceted.
to set given draw settings for all loaded surfaces press button Set to all.
the bottom half of the panel has options to set, unset or modify attributes of the current surface. separate raster data or constants can be used for various attributes of the surface:
colorโ raster map or constant color to drape over the current surface. this option is useful for draping imagery such as aerial photography over a DEM. so iconic.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. range from 0 (opaque) to 100 (transparent).shininessโ raster map or constant value that controls the shininess (reflectivity) of the current surface. range from 0 to 100. she's glowing. โจ
in the very bottom part of the panel, position of surface can be set. to move the surface right (looking from the south) choose X axis and set some positive value. to reset the surface position press Reset button.
Constant surface ๐
it is possible to add a constant surface and set its properties like fine resolution, value (height), color and transparency. it behaves similarly to surface but it has less options. low maintenance queen. ๐
Vector ๐
2D vector data can be draped on the selected surfaces with various markers to represent point data; you can use attribute of vector features to determine size, color, shape of glyph. 3D vector data including volumes (closed group of faces with one kernel inside) is also supported. this panel controls how loaded 2D or 3D vector data are drawn.
you can define the width (in pixels) of the line features, the color used for lines or point markers.
if vector map is 2D you can display vector features as flat at a specified elevation or drape it over a surface(s) at a specified height. use the height control to set the flat elevation or the drape height above the surface(s). in case of multiple surfaces it is possible to specify which surfaces is the vector map draped over.
for display purposes, it is better to set the height slightly above the surface. if the height is set at zero, portions of the vector may disappear into the surface(s). ๐
for 2D/3D vector points you can also set the size of the markers. currently are implemented these markers:
xsets the current points markers to a 2D "X",sphereโ solid 3D sphere,diamondโ solid 3D diamond,cubeโ solid 3D cube,boxโ hollow 3D cube,gyroscopeโ hollow 3D sphere,asteriskโ 3D line-star.
thematic mapping can be used to determine marker color and size (and line color and width).
3D rasters ๐ฎ
3D raster maps (volumes, voxel models) can be displayed either as isosurfaces or slices. similarly to the surface panel you can define draw shading:
- gouraud (draws the 3D rasters with a smooth shading to blend individual cell colors together) and
- flat (draws the 3D rasters with flat shading with one color for every two cells. the 3D raster appears faceted).
as mentioned above, currently are supported two visualization modes:
isosurfaceโ the levels of values for drawing the 3D raster(s) as isosurfaces,- and
sliceโ drawing the 3D raster as cross-sections.
the middle part of the panel has controls to add, delete, move up/down selected isosurface or slice. the bottom part differs for isosurface and slice. when choosing an isosurface, this part of the panel has options to set, unset or modify attributes of the current isosurface. various attributes of the isosurface can be defined, similarly to surface attributes:
isosurface valueโ reference isosurface value (height in map units).colorโ raster map or constant color to drape over the current 3D raster.maskโ raster map that controls the areas displayed from the current 3D raster.transparencyโ raster map or constant value that controls the transparency of the current 3D raster. the default is completely opaque. range from 0 (opaque) to 100 (transparent).shininessโ raster map or constant value that controls the shininess (reflectivity) of the current 3D raster. range from 0 to 100.
in case of 3D raster slice the bottom part of the panel controls the slice attributes (which axis is slice parallel to, position of slice edges, transparency). press button Reset to reset slice position attributes.
3D rasters can be moved the same way like surfaces do. matching energy. ๐ซถ
Analysis ๐
Analysis tab contains Cutting planes panel.
โ๏ธ Cutting planes โ๏ธ
okay so cutting planes literally let you slice your surfaces along a plane, and it's giving geometric surgery ๐
You can switch between six planes, and if you want cutting planes to just go away, switch to None. No plane, no problem.
When you first open it up, the plane is vertical, but bestie you can make it horizontal by setting tilt to 90 degrees. The X and Y values specify the rotation center of the plane โ and honestly, the way to get what X and Y are doing is to just change the rotation and watch it move. Live demo, iykyk. The Height parameter only applies when you're changing tilt concurrently. And if you mess it all up? Hit the Reset button and the current cutting plane goes back to factory settings ๐ซถ
In case of multiple surfaces you can visualize the cutting plane by Shading. Shading is visible only when more than one surface is loaded, and those surfaces must have the same fine resolution set. fr fr, it won't show otherwise.
๐ Appearance ๐
The Appearance tab consists of three collapsible panels, and they are all lowkey iconic:
- Lighting โ for adjusting the light source โจ
- Fringe โ for drawing fringes ๐
- Decorations โ to display north arrow and scale bar ๐งญ
๐ก Lighting
The lighting panel lets you change the position of light source, light color, brightness and ambient. Light position is controlled similarly to eye position. And if the option Show light model is enabled, the light model gets displayed so you can actually visualize the light settings. main character lighting energy ๐ฅ
๐ Fringe
The Fringe panel allows you to draw fringes in different directions โ your options are:
North & EastSouth & EastSouth & WestNorth & West
It is possible to set the fringe color and the height of the bottom edge. Slay.
๐งญ Decorations
The Decorations panel enables you to display a north arrow and a simple scale bar. North arrow and scale bar length is determined in map units. And yes bestie, you can display more than one scale bar. The more the merrier ๐ฆ
๐ฌ Animation ๐ฌ
The Animation panel enables you to create a simple animation as a sequence of images. Here's the vibe:
- Press the
Recordbutton and start changing the view. - Views are recorded in a given interval โ that's FPS, aka Frames Per Second.
- After recording, the animation can be replayed. Cute, right?
- To save the animation, fill in the directory and file prefix, choose the image format (
PPMorTIF), and then pressSave. - Now wait until the last image is generated. Patience, babe ๐ซถ
It is recommended to record animations using fly-through mode to achieve smooth motion. Trust the process.
โ๏ธ Settings โ๏ธ
This panel has controls which allow the user to set default surface, vector and 3D raster data attributes. You can also modify default view parameters, or set the background color of the Map Display Window (the default color is white). Personalize your little world ๐
๐ง To be implemented ๐ง
okay so these are the things that are still cooking, no cap:
- Labels, decoration, etc. (Implemented, but not fully functional) ๐
- Surface โ mask by zero/elevation, more interactive positioning
- Vector points โ implement display mode flat/surface for 2D points
...
๐ข NOTE ๐ข
wxNviz is under active development and distributed as "Experimental Prototype". Bestie, that means it's a work in progress, not a finished product. ๐
Please note that with the wxGTK port of wxPython (Linux systems), a problem might appear during wxNviz initialization (nothing is rendered at all) or when rendering vectors (bad order of rendering surfaces and vectors). If you encounter such problems, try to change a depth buffer number in wxGUI Settings > Preferences > Map Display > Advanced (possible numbers are0,16,24,32). It is currently not possible to automatically determine the right number which is working for your computer. So yeah, you're gonna have to trial-and-error that one, sorry babe ๐ญ
๐ SEE ALSO ๐
wxGUI,wxGUI components- See also the wiki page (especially various video tutorials).
- Command-line module
m.nviz.image.
๐ AUTHORS ๐
The wxNviz GUI
- Martin Landa, Google Summer of Code 2008 (mentor: Michael Barton) and 2010 (mentor: Helena Mitasova)
- Anna Kratochvilova, Google Summer of Code 2011 (mentor: Martin Landa)
The OGSF library and NVIZ engine
- NVIZ (GRASS's n-dimensional visualization suite) was written by Bill Brown, Terry Baker, Mark Astley, and David Gerdes, U.S. Army Corps of Engineers Research Laboratories, Champaign, Illinois and UI GMS Laboratory, Urbana, IL in the early 1990s.
- Original documentation was written by Terry Baker (spring 1995), and updated by Mark Astley, based on a document written by Bill Brown. Additional design help and funding in the early 1990s by Helena Mitasova (CERL). Tcl/Tk support added by Terry Baker. Ported to Linux by Jaro Hofierka and others. Conversion from SGI IRIS GL code to OpenGL by Justin Hickey. Further program and documentation (2004) updates by Bob Covill, Tekmap Consulting. 3D volume support by Tomas Paudits with supervision from Jaro Hofierka and Helena Mitasova. Fly-through mode, thematic site attributes, and picking by Massimo Cuomo (ACS) with updates by Michael Barton. GRASS 6 vector support by Radim Blazek. Additional updates by Markus Neteler, Martin Landa, Glynn Clements, and Hamish Bowman.
- NVIZ evolved from the earlier GRASS program SG3d written for Silicon Graphics IRIS GL by Bill Brown and Dave Gerdes at USA CERL, 1990-1995 and from the NVIZ Motif version written by Bill Brown with contributions by Terrance McGhee.
๐ SOURCE CODE ๐
- Available at: wxGUI 3D View Mode source code (history)
- Accessed: Friday Nov 21 14:02:57 2025
- Main index | Wxgui index | Topics index | Keywords index | Graphical index | Full index
- ยฉ 2003-2025 GRASS Development Team, GRASS GIS 8.4.2 Reference Manual
and that's the whole page bestie, you made it to the end ๐๐ this was pulled straight from the GRASS 8.4.2 reference manual, wxGUI.nviz(1), with the last access stamp reading Friday Nov 21 14:02:57 2025 โ go forth and visualize those surfaces, you absolute icon โจ๐๐ฆ
๐ฆ where this page comes from
- fedora 44: grass 8.4.2-4.fc44 ยท GPL-2.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms