Everitt's One Pass Silhouette Rendering with Cube Maps
© Ruzi Che Mat and Mahes Visvalingam, 2002

Croplogo.jpg (11317 bytes)

 

This investigation was undertaken by Ruzi Che Mat as a part of his 4-month Dissertation project in part fulfilment for an MSc in Computer Graphics and Virtual Environments at the University of Hull.  The project was supervised by Mahes Visvalingam.

The approach

Graphics card : nVidia GeForce MX2
Software : cubemap_toon, at  http://developer.nvidia.com/view.asp?IO=1Pass_Silhouette_Rendering
Paper : Cass Everitt (2000) One Pass Silhouette Rendering with GeForce and GeForce2. http://developer.nvidia.com/docs/IO/1246/ATT/silhouette_demo.doc
Status : more recent algorithms on web.  Check out http://developer.nvidia.com/view.asp?IO=silhouette_rendering

Evaluation
For an abstract of Ruzi's thesis (Che Mat, 2001)- abbreviated version at: http://staf.uum.edu.my/ruzinoor/dissertation.htm
A brief illustrated report on this evaluation is provided by Ruzi Che Mat and Mahes Visvalingam

Conclusion
Reject : 
As it stands, this one pass algorithm does not provide appropriate silhouettes for scientific visualisation of terrain.
However, it can provide acceptable impressionist sketches of other types of data, e.g. those used in games development.

Acknowledgements

Our thanks to: Cass Everitt of nVidia for checking our evaluations and for his comments on this evaluation;
The Ordnance of Great Britain for permission to use their sample data set in our research programme;
Chris Mathers for his Visual C++ program to read and render dem data at the start of Ruzi's project.
John Whelan and James Ward for pointers to the cubemap_demo

   REPORT

Contents Everitt's Approach

Silhouettes can be implied by using the dot product of the eye vector (E) and surface normal (N) to index into a 1D texture map with a steep ramp from white (for front faces) to black (for back faces).  They calculate the dot product per pixel (as opposed to per vertex) by using registers to combine 2 automatically generated texture cube maps associated with the surface normal and eye vectors respectively.  If this dot product  is used to index a 1D texture map, some front facing areas tend to get darkened.  This is because near the silhouette, the surface normal is nearly perpendicular to the eye vector and the dot product is close to zero. Just steepening the colour ramp, to remove some of this shading, outputs silhouette outlines of varying strength and quality. 

With mipmapping, the silhouette polygons map onto the higher mip map levels (LOD) of the cube map for normal interpolation.  He illustrated the effects of varying the alpha (from 0-1) over the low to high mipmap levels for the normalization cube map.  This alpha value biases the E dot N calculation.  Everitt illustrated the effect of scaling the alpha input before the biased combination of cube maps.  Some output from the cubemap_toon demo showed the effect of stepping the scaling the alpha input from no scaling  to a scaling by two and four respectively.


Reasons for Evaluation
  1. Assumption          
  2. The algorithm does not equate silhouettes with occluding contours or assume that they only occur  at edges between a front and a back face. Instead, the algorithm is attuned to mapping areas where the surface normal is nearly perpendicular to the eye vector.

  3. Speed                  
  4. It is quick given a) hardware rendering,  and b) being a one-pass algorithm.

  5. Results             
  6. The output of the cubemap_toon demo  for two objects, one a teapot, in Everitt's paper were excellent.


   Results

Results for teapot
The cubemap_toon demo was used without any changes at this stage of evaluation.  Although it is possible to reproduce Everitt's results, the quality of the silhouettes is variable and depends on the orientation of the object with respect to the camera.  Even using the teapot (a small, fairly smooth closed form) showed up some problems.  The following images correspond to:
  1. default texture mapping without neither the LOD washout nor scaling of the alpha input.
  2. use of LOD with no scaling of alpha input , showing darkening of front-faces as identified by Everitt.
  3. LOD washout with alpha input scaled by 2.  Note that :
    • the silhouette edges are jagged (A) which is also present in figure b) and is to be expected with polygon based rendering.  [CHECK - may be different on another GeForce card!]
    • Variable strength of silhouette (B and along spout).  Such variation in silhouette outline is quite useful.  Unfortunately, it is not possible to control the variation within a given level of scaling.
    • the presence of some  shading (C). 
  4.  LOD washout with alpha input scaled by 4.  The shading is removed but significant parts of the silhouette are now missing.

The scaling by two looked promising.  So, the method was applied to terrain.

  small-pots.jpg (7675 bytes)  Click on image for larger version

Results for terrain 
The cubemap_toon demo was altered to read and render the Digital Elevation Model (DEM) for Port Talbot.  The following figures are for:
  1. Occluding contours for a similar view rendered by a 2.5D system from (Visvalingam and Whelan, 1998) - also at: http://www2.dcs.hull.ac.uk/CISRG/people/whelan/occpic.html  
  2. Cubemap_toon output without mipmapping.  Cass Everitt kindly pointed out that the cubemap_toon mipmapping has no effect on this data.
  3. alpha input scaled by 2 - there is far too much shading where the dot product.is close to zero.
  4. alpha input scaled by 4 - nice picture but not of silhouettes.   The presence of some shading is less of a problem than the absence of some silhouette lines, for example, at the left and right and also in front of the quarry to the left of the central valley, which incidentally is also washed out in c).  If an application is not specifically concerned with extracting silhouettes, this image is quite attractive and very pleasing.

small-talbot.jpg (49844 bytes)  Click on image for larger version

Unfortunately, the output tends to vary quite dramatically in an inappropriate way with the viewpoint as shown below. Again, silhouettes are missing along the right and left hand sides of the images.  The results show quite clearly that the output of this method does not correspond to silhouettes.  It is normally much easier to locate and sketch the silhouettes when the viewpoint is low.  When the viewpoint is raised, there is progressively less occlusion and it is much more difficult to outline forms automatically (see Visvalingam and Whelan, 2001). Here, alpha input scaling is somewhat more effective for higher viewpoints. Although, it may be possible to achieve more airy results for lower viewpoints, through interactive control of alpha scaling,  this is likely to result in further loss of silhouettes.  Better,  more balanced results were obtained by Lesage (1999) who used the Sobel and Canny edge operators to generate sketches for 3D animations. Lesage and Visvalingam (2002) identified the limitations of edge detection to explain the reasons for current on-going research.

small-east.jpg (46975 bytes)  Click on image for larger version


Discussion and Conclusion
Most researchers in NPAR  tend to equate silhouettes with occluding contours.  Everitt (2000) recognised that silhouettes as perceived extend to where the dot product is nearly zero, as already noted by Pearson and Robinson (1985).  However, the global filtering in the cubemap approach is less effective than simple image processing operators and tends to produce inappropriate and unbalanced results for terrain.

The cubemap_toon program works well with relatively smooth and small closed forms.  As it stands, this one pass algorithm does not provide appropriate silhouettes for scientific visualisation of terrain but it may be sufficient for applications requiring only impressionist sketches.


References
  • Che Mat R., 2001, "Evaluation of Silhouette Rendering Algorithms in Terrain Evaluation", MSc Dissertation, Department of Computer Science, The University of Hull
  • Everitt, C. 2000, "One Pass Silhouette Rendering with GeForce and GeForce2" http://developer.nvidia.com/docs/IO/1246/ATT/silhouette_demo.doc
  • Lesage, P_L (1999) "Towards real-time sketch-based exploration of terrain data : an investigation of image processing operators", MSc Thesis, The University of Hull
  • Pearson D. E., Robinson J. A., 1985, "Visual Communication at Very Low Data Rates", Proceedings of the IEEE, 73 (4), pp. 795 - 812
  • Visvalingam, M., Lesage, P_L., 2002, "Towards sketch-based exploration of terrain", Computers & Graphics 26 (2), 309 - 328
  • Visvalingam M., Whelan J. C., 1998, "Occluding Contours within Artistic Sketches of Surfaces", Proceedings of Eurographics UK ‘98, pp. 281 - 289
  • Visvalingam M., Whelan J. C., 2001, "Sketches of Gettysburg" [on this web]

Page maintained by: Mahes Visvalingam
Last updated on 12 Jul 2002

Cartographic Information Systems Research Group, University of Hull