![]()
Everitt's One Pass Silhouette Rendering with Cube Maps © Ruzi Che Mat and Mahes Visvalingam, 2002 |
|
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
Evaluation Conclusion Acknowledgements
|
| 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
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. It is quick given a) hardware rendering, and b) being a one-pass algorithm. 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:
The scaling by two looked promising. So, the method was
applied to terrain. |
| 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:
|
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. |
| 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
|
Cartographic Information Systems Research Group, University of Hull