[GRASS5] NVIZ updates

Bob Covill bcovill at tekmap.ns.ca
Mon Nov 10 10:25:06 EST 2003


Hello,

I have applied a few updates / bug fixes to the ogsf library and NVIZ. 
The updates / fixes include the following:

1. I have optimized the surface rendering routine to use a TRIANGLE_FAN 
along with a few other optimizations. In the tests I ran this improved 
surface drawing time by about a factor of four. This of course depends 
upon the surface being renderred and the zoom level.

2. I have added a new wire frame option (now the default) that draws a 
sub-sampled (coarse) surface instead of the wire. To accomadate this I 
have re-arranged the surface panel and added the drawing options as 
pull-down menus. There is now a pull-down menu for the old "Surface 
Style" and "Shading" options plus the new option for "Grid Style". Under 
"Grid Style" the user may now select to draw the coarse surface or the 
old wire surface. In reference to the new coarse surface, the resolution 
is controlled by the "Grid Resolution" number. This number represents 
the sub-sampling ratio of the current surface. A Grid Resolution of 1 
would draw every (identical) full surface pixel. A Grid Resolution of 2 
would draw every second pixel, and so on. This new drawing routine also 
allows animations to run in this coarse mode.

3. I have added a new "position" panel to the available panels list 
(under Panel). This new panel allows the user to manually enter the 
center and eye positions (XYZ) in real coordinates and apply them. There 
is also an available Range/Bearing section that allows the user to set a 
range and bearing to either the cente or eye positions.

To use the menu select the Refresh button to update each entry box to 
the current position. To apply newly entered coordinates and and update 
the GUI select the Apply button. To use the Range/Bearing options select 
the Refesh button (if not already selected), and choose the appropriate 
reference radiobutton. The options are to apply range and bearing to 
"Eye to Surface" which moves the view center while leaving the eye 
position unchanged or "Surface to Eye" which changes the eye position 
while leaving the center position unchanged. The second "Surface to Eye" 
option is alittle easier to use as you are less likly to move the 
surface completely out of view. After choosing the appropriate reference 
enter a new Range, Bearing (in degrees) and Elevation (in degrees). The 
elevation sets the angle you are looking down at the surface. After 
entering the new values select Calculate to generate the new coordinates 
and Apply to the apply new coordinates.

This new menu will probably need further updating / debugging.

4. I have fixed a couple of bugs in the kanimator panel where the new 
key time was not being set correctly and duplicate key tags were not 
being weeded out. The duplicate key tags led to unpredictable behavious 
in the kanimator GUI.


If you have any questions or problems with the above updates please let 
know.

-- 
Bob Covill




More information about the grass-dev mailing list