iXBT Labs - Computer Hardware in Detail






Visualization of convolution surfaces
and representation

Institute of Automation and Electrometry, Siberian Division of Russian Academy of Sciences, Novosibirsk, Russia
Computer-based Visualization Systems Laboratory

The University of Aizu, Aizu-Wakamatsu, Japan
Computer Arts Laboratory*


The problem of real-time photorealistic imaging is discussed. New techniques for specifying convolution surfaces without their approximation by polygons or patches are considered. A recursive algorithm for object space division with masking of invisible surfaces and an effective technique of projective transformation for perspective imaging are proposed. The possibility to visualize 3-D scalar data arrays is described.

1. Introduction

Real-time computer graphics oriented to 3-D scene visualization has attained appreciable success nowadays. Though a sufficiently high realism of real-time scene imaging has been attained, some problems are still present, where it is necessary to store and visualize scenes containing a greater number of polygons than it is implemented in the present-day systems. For instance, biology organs or exact modeling of shapes of the car, airplane, submarine frames requires thousands of spline-surfaces (curvilinear areas defined by polynomial functions) whereas the case of definition by polygons will require tens and sometimes hundreds of thousands of polygons. Moreover, polygonal 3-D graphics with scanning of polygons in the image plane is not three-dimensional in the full sense of the word. Information presented to the user in such an approach is incomplete. The main point is the absence of information on object depth. This case implies not the absence of the Z-coordinate of the surface point but the absence of information about the beam passing through the object.

Presently, some authors [1-6] investigate the function representation of objects visualized, which allow substantial reduction of databases for a certain class of objects compared with the polygonal definition. However, real-time imaging of objects represented in such a manner is concerned with substantial growth of computations.

In this paper we present results of some investigations concerned with modeling of a system in which it is proposed, to use convolution surfaces and volume spaces of voxel arrays. The possibility of freeform volume visualization is investigated. A recursive algorithm of rendering with object space division and multilevel masking with regard to perspective is proposed for visualization.

2. Choise of convolution kernel

We consider seven kernels [7-18].

  • Gaussian function (Blinn, Bloomenthal, Shoemake)

    Produced point, line, Plane and stopped for arc and triangle.
  • Inverse function (Wyvill, van Overveld)
  • Inverse squared function (Wyvill, van Overveld)

    Yelded solutions for various primitives. For planes solution, however, did not converge and solution for arcs is expressed via elliptical integrals. It is too difficult.
  • Metaballs (Nishimura)
  • Soft objects (Wyvill)
  • W-shaped quartic polinomial

    Produced solution for point, line, plane, arc; unfortunately, a triangle primitive is not one of them.
  • Cauchy function (Sherstyuk)

    where r is the distance from the point and coefficient s controls the width of the kernel.

Cauchiy kernel covered the whole set of geometric primitives. This kernel allows direct analitical solutions of convolution integral:

3. Skeletal primitives

Using the Cauchy convolution kernel the field functions for a five of primitives can be derived. This primitives are [7, 8, 9, 17, 18]:

  • Points
  • Line segments
  • Arcs
  • Triangles
  • Planes

Circles and polygons, may be built by combining, respectively, arcs and triangles.

In principle, any geometric primitive may be used as a skeletal element for convolution surface model, but in practice, the choise of such primitive is often limited by technical dificalties of evaluting the convolution integral. All these modelling primitives are presented as closed-form functions, that return the amount of field generated by the primitive at an arbitrary point, calculated to a machine-size float precision. This makes it possible to visualize convolution surfaces using direct rendering algorithms. Thus, neither preprocessing, nor intermediate storage are requred to render the surface, which is particularly convenient for interactive design. Recursive Multi-Level Ray Casting Algorithm (RMLRCA) is presented for rendering convolution surfaces formed with C1-continuous bounded functions. The algorithm employs analytical method only. It is fast, robust, and numerically stable. RMLRCA allows convolution surfaces to be visualized directly from their models as defined by equation F(r) = 0 , without tesselating it into polygons.

4. Known rendering algorithms

We consider five main algorithms.

  • Ray-marching (Tuy, Perlin, Hoffert)
    This is a brute-force method that steps along the ray, evaluating the field function f(t) on each step. The surface is detected when the sign of f(t) first changes.
  • LG-surfaces (Karla, Barr)
    Was developed an algorithm guaranteed to detect the surface, modeled by functions with computable L and G parameters, that represent the Lipschitz constants for the function f and its derivative df/dt along the ray. For non-algebraic modeling functions f, computations of L and G may become prohibilitively difficult, even if L and G a derived in symbolic form.
  • Sphere-tracing algorithm (Hart)
  • Ray-tracing with interval analysis (Mitchell)
    These are modifications of LG-surfaces. It is important to note that all algorithms (Karla, Barr, Hart) that bound the rate of change of the implicit functions f(t), either with a Lipschitz constant or with derivatives df/dt (Mitchell) work better when these bounds are as tight as possible. Therefore, the must be computed at run-time for each ray individually and for each interval along this ray, which may not be an easy task to accomplish for complex functions f. The use and ultimately will turn the root-isolating algorithms (Mitchell, Karla, Barr) into a simple bisection, and the sphere-tracing algorithm into ray-marching.


The most general algorithms with the widest application base (ray-marching) are very slow and do not guarantee to locate the surface. On the other hand, reliable methods require auxiliary computations that may become too expensive for complex modeling functions f.

We incorporate some ideas from Fast ray-tracing [17, 18] (Sherstyuk) into our method.

5. Recursive multi-level ray casting algorithm

We present an algorithm (RMLRCA) that combines generality, reliability and efficiency.

Condition 1

  1. f(t) is C1-continuous for all t,
  2. f(t) and df(t)/dt only have non-zero values over a finite set of non-overlapping intervals [t1i, t2i], i=1, , k.

Condition 2

This condition implies that each object represented by its function f can be enclosed by a bounding volume.

The RMLRCA work only with those primitives that can be enclosed into a bounding volume.

For point is a sphere. For line segment are an one cylinder plus two spheres. For arc are an one piece of torus plus two spheres. For triangle are a three cylinders plus three spheres plus one prism. For plane is an one infinite slab.

5.1 Representation of bounding volumes

The characteristic feature of the proposed representation is, firstly, the fact that the main bounding volumes are presented by second-order surfaces, i.e., quadrics. The quadric is defined by a real continuous descriptive function of three variables (x1, x2, x3) En in the form F(X) >= 0. Quadrics are considered as closed subsets of the Euclidean space En defined by the descriptive function F(X) >= 0 where F is the continuous real function; X= (x1,x2,x3) - is the point at En specified by the coordinate variables. Here F(X) > 0 specifies points inside the quadric, F(X) = 0 the points at the boundary, and F(X) < 0 - the points lying outside and not belonging to the quadric. Using the quadrics, the first class of bounding volumes is constructed with the use of real perturbation functions (for creation torus, for instance).

5.1.1 Perturbation functions in the implicit form

It is proposed to describe more complex bounding volume (torus) by defining the function of deviation (of the second order) from the basic quadric in the form:

Such bounding volumes are constructed on the basis of quadrics. The torus, for example, is a composition of the basic quadric and the perturbation F'(x,y,z) = F(x,y,z) + R(x,y,z), where the perturbation function R(x,y,z) is found as follows:

where Q is the perturbing quadric. A perturbed quadric (torus) can be also considered as Q. In other words, the composition of the basic quadric and the deviation function is a new perturbation function, i.e., a derivative for another basic quadric. Since max[Q + R] <= max[Q] + max[R], this means that to estimate the maximum Q on some interval, we must calculate the maximum perturbation function on the same interval. Thus, the problem of object construction reduces to the problem of quadric surface deformation in a desired manner. In addition, while solving the descriptive function in the form of inequality F(X) >= 0, we can visualize not only the surface but also the internal structure of the object.

5.2 Projective transformation

Application of projective transformation extrapolates the rendering algorithm to pyramidal volumes and thereby allows us to generate images with perspective. In 3D space, the point with the Cartesian coordinates (x, y, z) is associated with an infinite set of homogeneous coordinates (x', y', z', a) such that x=x'/a, y=y'/a, z=z'/a i.e., the homogeneous coordinates are determined within a common nonzero factor. Special interest presents the transformation matrix affecting the homogeneous coordinates in the following manner:

where (C) is the transformation matrix; (M) are the homogeneous coordinates of the point of the space M; (P) are the coordinates at P corresponding by the mapping. Within the scope of projective geometry, a theorem is proved that the projective mapping of the space M to the space P is unambiguously defined by specifying five pairs of points corresponding by the mapping provided that from five points specified in the space M none four points are in the same plane. Let us choose five pairs of such reference points (Mi) and (Pi) (the upper index corresponds to the number of pair) and compose the set of equations:

where i = [1,...,5], r1, r2, r3 and r4 are the unknown factors; r5=1. Solving these equations, find the coefficients of the projective transformation matrix (C) used further to transform the bounding volumes.

5.3 Rendering technique

In this paper we used the recursive multilevel ray casting algorithm [19], which performs efficient search ray intersections with bounding volumes. At the first step of recursion, the initial viewing pyramid is divided into four smaller subpyramids in the screen plane. At the stage of division of space along the quaternary tree, 2-times compression and transfer by 1 along two coordinates are performed:

If in the equation of quadric Q(x, y, z) = 0 the values of the variables x, y, z vary within the length [-1, 1], then

We should note that if |A44| <= max[ |Q(x, y, z) A44| ] <= maxF, then, probably, a point M0 = (x0, y0, z0) ( -1 < x0, y0, z0 < 1 ) exists such that Q(x0, y0, z0) = 0. If maxF < |A44|, then such points do not knowingly exist, and the sign of the coefficient A44 distinguishes location of the pyramid inside or outside with respect to the quadric surface Q=0 (if A44 >= 0, then the subpyramid is inside the quadric). Using results of this test, we perform division of subpyramids that fall within the quadric completely or, probably, partially, and the knowingly external subpyramids are eliminated from processing. A test for intersection of subpyramids with torus is somewhat different. For the basic quadric the test for intersection looks as follows:

Here R is the maximum perturbation function on the current interval; Aij - are the coefficients of quadratic function. The following test is performed for the perturbation function:

where Aij - are the coefficients of the quadratic perturbation function, and a value of R is additionally calculated and added to the basic function. If the intersection is determined, then the subpyramid is subject to the next recursion level. Subpyramids that do not intersect with the object are not subject to further immersion to recursion, this corresponds to elimination from consideration of square screen spaces which the subpyramid (and, consequently, the object surface) is not mapped to. The viewing pyramid is subdivided until reaching the maximal set level of recursion. The technique has an advantage that it allows discard of large parts of empty space at an early stage. Masking is used during traverse of the tree in the case of opaque objects. The multilevel ray casting technique allows us to determine effectively and quickly belonging of rays of different levels (pyramids) to bounding volumes, and discard space regions outside the objects. RMLRCA solves a tasks of Volatile and Permanent Clusters (Sherstyuk) and a tasks of Collision Detection very effectively. The key idea of the method is to keep the surface equation in polinomial form, so it may be solved quickly during the ray/surface intersection test. Weierstrass's theorem states that any continuous function f may be approximated an a closed interval by a polynomial p as closely as required. In our case, the interval [t1,t2] is obtained via intersecting the ray with the bounding volume of the function f (quadrics such as spheres and cylinders, torus, slab and so on). The initial interval [t1,t2], obtained via intersecting the ray with the bounding volume, is divided at the midpoint tmid. All equations necessary solved for sub-intervals [t1,tmid] and [tmid,t2] produce a piecewise representation of the function f over interval [t1,t2] that satisfy the requirements listed above: it is of low-degree, C#-continuous and computationally efficient. The resulting intervals t1 and t2 define the geometric location along the ray where the field is considered non-zero. Next, for each interval ti, the corresponding field function fi, is interpolated by polynomials pi. Finnaly, all intervals ti are intersected and sorted along the ray, yielding a sequence t1,t2,t3 and so on. Thus, first, the ray is intersected with the bounding volumes of all modeling functions fi. At this point, the algorithm is ready to proceed with the root-finding. The isosurface equations are built and solved for roots t in all intervals. In general, the number of roots per intervalmay be as high as the highest degree of all interpolating polynomials pi(t) defined over this interval. These roots may also occur outside this interval. Therefore, for each interval, the algorithm validates all roots by checking if they belong to the interval.

While visualizing the surfaces a test is verified for belonging of only intersected points, external and internal space is discarded. To improve imaging realism and extend the class of objects imaged (translucent structures with internal density distribution, 3-D textures), it is necessary to image the internal translucent object structure. For this purpose, not only points lying on the surface but also points inside the object must participate in imaging. Therefore, while dividing the volume the internal object parts are not discarded, for them algorithm recursion is performed further. Scanning of the scene along the Z-coordinate, which corresponds to scanning of the volume through the depth, is not interrupted upon meeting the surface but is continued until the volume is scanned completely or a certain value of transparency higher than a threshold value is stored. To reduce the computation time the algorithm is adapted to quick passage of homogeneous spaces of objects, for which it is unnecessary to scan the volume completely reaching the last recursion level, it is necessary to "skip" empty or homogeneous spaces along the Z-coordinate and immediately calculate the color and the total transparency. Since ray passage through empty space makes no contribution to the final image, then the skip of the empty space is able to make the processing substantially fast and does not affect the image quality.

5.3.1 Color calculation

Calculation of all color components of a pixel is performed in the same manner by the following formula:

where "ambi" refers to characteristics of ambient light, whereas "diff" and "spec" refer to the diffused and specular components of reflected light, respectively; C are the color components; Q are the weight coefficients. Color components are calculated by a vector light model. Four vectors are involved in the calculation: normal to the surface (n), vector to the light source (l), reflected light direction (r) and vector to the viewer (v):

Clite - is the light source color; Csurf - is the surface color;

p - is the coefficient of surface irregularity.

While modeling the light transmittance through translucent media we may disregard the reflection and attenuation of reflected beams in order to reduce the amount of calculation. When only the reflection and attenuation of light remain in the path from the object to viewer - eye, the formula used to calculate the pixel color can be written as follows:

where the final pixel color, and can be r, g or b (i.e., red, green or blue, respectively); is the n-th voxel intensity calculated by the Phong model; is the n-th voxel transparency; is the reflected light from the first point at the scanning beam; is the ambient color, and . We can follow the threshold excess in the following manner: if at the k-th step the total transparency becomes below some then the contribution from all voxels following behind the k-th voxel will be small, that is why we may stop scanning.

In order to allow for perspective, we must make a correction in the algorithm of color accumulation in pixel. The fact is that as a result of transformation of geometric primitives the voxel sizes become dependent on the Z-coordinate, that is why converting the color in the pixel we must also convert the transparency of voxel making correction for the change in its length.

6. Conclusion

Our investigation in the volume-oriented visualization technology have made it possible to reveal some advantages in both the scene representation technique and the rendering algorithm oriented to real-time implementation. The main merits of our approach are the following:

  • efficiency of the multilevel masking rendering technique combining simple computation with fast search and discard of spaces out of the scene objects
  • reduced number of surfaces for describing curvilinear objects
  • reduction of the load on the geometry processor and decrease of data flow from it to the video processor
  • the possibility to process voxel arrays bounded by convolution surfaces
  • simple animation and morphing of scenes.

All these merits of our approach form the ground for creating a new class of computer visualization systems for various applications. Preliminary estimates have shown that for implementation of the systems it is desirable to develop two custom VLSIs integrating about 20 millions of transistors. The system is characterized by a high parallelism, homogeneity, and vectorization of computation.

The proposed algorithm of rastering along with the possibility to visualize convolution surfaces and inhomogeneous volume spaces offers a wide scope of application. This method of visualization may be easy incorporated into Voxel-Volumes project [20].

Sample images

Space station

International space station




  1. Pasko A., Adzhiev V., Sourin, A., et al. Function representation in geometric modeling: concepts, implementation and applications //The Visual Computer, 11,6, 1995, P 429.
  2. V. Savchenko, A. Pasko, T. Kunii, et al. "Function representation of solids reconstructed from scattered surface points and contours", Computer Graphics Forum, 14,4, 1995, P 181.
  3. A.A. Pasko, V.V. Savchenko. "Blending operations for the functionally based constructive geometry", Set-theoretic Solid Modelling: Techniques and Applications, CSG 94 Conference Proceedings, Information Geometers, Winchester, UK, 1994, P 151.
  4. A. Sourin, A. Pasko, V. Savchenko. "Using real functions with application to hair modelling", Computer & Graphics, 20, 1, 1996, P 11.
  5. V.V. Savchenko, A.A. Pasko, T.L. Kunii, et al. "Feature based sculpting of functionally defined 3D geometric objects", Multimedia Modeling. Towards Information Superhighway, T.S. Chua, H.K. Pung and T.L. Kunii (Eds.), World Scientific, Singapore, 1995, P341.
  6. Savchenko V.V., Pasko A.A. Vyatkin S.I. et al. New approach in geometric modeling: distributed and hardware implementation perspectives.// International Conference on Computers and Devices for Communication CODEC-98. Calcutta, India, 1998. P. 285.
  7. McCormack J. , Sherstyuk A. Creating and rendering convolution surfaces, Computing Graphics Forum, vol. 17, No.2, 1998, P 113-120.
  8. Bloomenthal J., Shoemake K., "Convolution surfaces", SIGGRAPH'91, Computer Graphics, vol.25, No.4, 1991, P 251-256.
  9. Bloomenthal J. Sceletal Design of Natural Forms. Doctoral dissertation, University of Calgary, Department of Computer Science, 1995.
  10. G. Sealy, G. Wyvill. Smoothing of three dimensional models by convolution. In Computer Graphics International'96, June 1996, P 184-190.
  11. J. F. Blinn. A generation of algebraic surface drawing. ACM Transactions on Graphics, 1(3): 235-256, July 1982.
  12. S. Muraki. Volumetric shape description of range data using "blobby model". Computer Graphics, 25(4): 227-235, July 1991.
  13. H. Nishimura, M. Hirai, T. Kawai, T. Kawata, I. Shirakawa, and K. Omura. Object modelling by distribution function and a method of image generation. The Transactions of the Institute of Electronics and Communication Engineers of Japan, J68-D(4): 718-725, 1985.
  14. G. Wyvill, C. McPheeters, and B. Wyvill. Data structure for soft objects. The Visual Computer, 2(4): 227-234, 1986.
  15. T. Beier. Practical uses for implicit surfaces in animation. In Modeling and Animating with Implicit Surfaces, P 20.1-20.11, 1990. SIGGRAPH Course Notes 23.
  16. Bloomenthal J. Modeling the mighty maple. Computer Graphics, 19(3): 305-311, July 1985.
  17. A. Sherstuyk. Fast ray tracing of implicit surfaces. In Implicit Surfaces'98, P 145-153, June 1998.
  18. A. Sherstuyk. Convolution Surfaces in Computer Graphics. Doctoral dissertation, Monash University, School of CSSE, 1998.
  19. Vyatkin S.I., Dolgovesov B.S., Chizhik S.. Synthesis of virtual environment with object-space recursive subdivision// Graphicon'98 Proceedings, S.Klimenko et al. (Eds). 1998, P 119.
  20. S.I. Vyatkin, B.S Dolgovesov, A.V. Yesin, et al. Voxel Volumes volume-oriented visualization system, International Conference on Shape Modeling and Applications (March 1-4, 1999, Aizu-Wakamatsu, Japan) IEEE Computer Society, Los Alamitos, California, 1999, P. 234.

Write a comment below. No registration needed!

Article navigation:

blog comments powered by Disqus

  Most Popular Reviews More    RSS  

AMD Phenom II X4 955, Phenom II X4 960T, Phenom II X6 1075T, and Intel Pentium G2120, Core i3-3220, Core i5-3330 Processors

Comparing old, cheap solutions from AMD with new, budget offerings from Intel.
February 1, 2013 · Processor Roundups

Inno3D GeForce GTX 670 iChill, Inno3D GeForce GTX 660 Ti Graphics Cards

A couple of mid-range adapters with original cooling systems.
January 30, 2013 · Video cards: NVIDIA GPUs

Creative Sound Blaster X-Fi Surround 5.1

An external X-Fi solution in tests.
September 9, 2008 · Sound Cards

AMD FX-8350 Processor

The first worthwhile Piledriver CPU.
September 11, 2012 · Processors: AMD

Consumed Power, Energy Consumption: Ivy Bridge vs. Sandy Bridge

Trying out the new method.
September 18, 2012 · Processors: Intel
  Latest Reviews More    RSS  

i3DSpeed, September 2013

Retested all graphics cards with the new drivers.
Oct 18, 2013 · 3Digests

i3DSpeed, August 2013

Added new benchmarks: BioShock Infinite and Metro: Last Light.
Sep 06, 2013 · 3Digests

i3DSpeed, July 2013

Added the test results of NVIDIA GeForce GTX 760 and AMD Radeon HD 7730.
Aug 05, 2013 · 3Digests

Gainward GeForce GTX 650 Ti BOOST 2GB Golden Sample Graphics Card

An excellent hybrid of GeForce GTX 650 Ti and GeForce GTX 660.
Jun 24, 2013 · Video cards: NVIDIA GPUs

i3DSpeed, May 2013

Added the test results of NVIDIA GeForce GTX 770/780.
Jun 03, 2013 · 3Digests
  Latest News More    RSS  

Platform  ·  Video  ·  Multimedia  ·  Mobile  ·  Other  ||  About us & Privacy policy  ·  Twitter  ·  Facebook

Copyright © Byrds Research & Publishing, Ltd., 1997–2011. All rights reserved.