Decoupling Propagation and Reflection for
Radiance Computations
Marc Stamminger, Philipp Slusallek and Hans-Peter Seidel, Universit¨at Erlangen
Abstract
Although significant success has been made in the im-provement of radiosity algorithms, the methods to solve the general global illumination problem with arbitrarily reflecting surfaces still require unreasonable computing times. In this paper, we describe an extension of the well-known hierarchical radiosity algorithm, which is able to cope with non-diffuse surfaces, without the ex-plosion of computation times known from other algo-rithms. Results of the algorithm are presented and com-pared with other global illumination methods.
CR Descriptors: I.3.7 [Computer Graphics]: Three-dimensional Graphics and Realism – radiosity; virtual reality;
1
Introduction
Two main approaches are used to solve the global illumination problem: Monte-Carlo methods use stochastic sampling, and thus exhibit significant noise in the solution. Finite element methods, on the other hand, determine an approximation to the real radiance function in a finite dimensional func-tion space. Most finite element algorithms con-sider only diffuse surfaces, whose radiance distri-bution does not depend on the outgoing direction and thus can be described by the two dimensional radiosity distribution. Many methods have been presented to solve the global illumination problem with the restriction to diffuse surfaces. The prob-ably most important publications are Progressive
Refinement [5], Hierarchical Radiosity (HR) [10]
and Wavelet Radiosity (WR) [8, 16]. In the follow-ing, fundamental knowledge, in particular about the HR method, is assumed.
The aim of all of these methods is to find an ap-proximate solution to the Rendering Equation of Kajiya [11]. This equation describes the equilib-rium of light exchange in a virtual world of two di-mensional surfaces in a vacuum, neglecting wave optics effects such as interference. In the follow-ing, we present this equation in the operator form as suggested by Arvo [1], mainly to introduce the
notation. Precise definitions can be found in [1]. For every surface point y in the scene, a
sur-face emission function L e
(y;!) and a
bidirec-tional reflectance distribution function (BRDF)
f r
(! 0
;y;!)are given, describing the point’s
self-emission and its reflectance behavior. The goal is to find the surface radiance functionL
o
(y;!)that
describes the outgoing radiance at a surface point
yin direction!.
In order to describe the transport of light through a scene, two operators are defined. The
geometric or propagation operatorG transforms
the outgoing radianceL o
into incoming radiance
L i
(y;!). As radiance does not change in vacuum
along an unoccluded ray, L i
(y;!) can be
deter-mined by shooting a ray into the given direction. The incoming radiance is then equal to the outgo-ing radiance at the first point of intersection. For-mally, this can be written as
L i (y;!)=L o (x (y;!);?!)=GL o ; (1)
wherex (y;!)is the surface point that is seen from yin direction!.
The local reflectance operatorR“reflects” this
incoming radiance and computes outgoing radi-ance: L o (y;!) = Z f r (y;! 0 ;!)L i (y;! 0 )cos y (! 0 )d! 0 = R L i ; (2) where y (! 0
)is the angle between ! 0
and the surface normaln
y.
The combination of both operatorsRG thus
performs one light reflection step in the scene. The equilibrium state of the light propagation in the scene can be characterized by the operator form of the Rendering Equation
L o =L e +RGL o : (3)
function into a finite dimensional function space and computing an iterative solution in this space. The linear operatorRGis represented as a matrix
that describes the transformation of the projection coefficients of the input representation into the co-efficients of the output representation[8].
If a wavelet basis is used as function space for diffuse environments (HR, WR), the operator ma-trix becomes sparse. The number of relevant en-tries in the matrix isO(n), wherenis the number
of function coefficients, and they can be computed in the timeO(n)[15].
To solve the general global illumination prob-lem with non-diffuse surfaces, two approaches are possible, which differ in the way radiance is de-scribed. The three-point-form used in [15, 17] pa-rameterizes radiance by two pointsxandyon two
patchesp,qin the scene, so thatL p;q
(x;y)is the
radiance atx in the direction toy. For a tripel of
patchesp;q;rthe operator transforms the four
di-mensional radiance functionL p;q
(x;y)to the 4D
radianceL q;r
(y;z)(see Figure 1 left). This
im-plies an eight-dimensional support of the opera-tor, however, since the reflecting pointyis used in
both functions, the kernel of the operator has only six-dimensional support, so the operator matrix is sparse and its coefficients can be obtained by six-dimensional integration. The problem of the three-point approach is that forkpatches in the scene
potentiallyk2 radiance functionsL
p;q have to be
computed.
The directional parameterization used by Chris-tensen [4] describes the radiance of a patchpby a
single 4D-functionL p
(x ;!). Unfortunately, there
is no matching parameter when radianceL p
(x ;!)
interacts with radiance L q
(y;! 0
). Nevertheless,
interaction is only possible for! = y ?x (see
Figure 1 center), so again the resulting operator is eight-dimensional but has an only six-dimensional kernel support. However, the support of the kernel is not as well-shaped as it is when using the three-point transport, so the computation of the operator matrix coefficients is more difficult.
In contrast to previous methods, our new ap-proach separates the global and therefore costly light propagation from the purely local reflection process, which is trivial for diffuse surfaces. The idea is that the propagation operator to compute in-coming radiance is essentially the same for radios-ity and radiance, the difference is that for radiosradios-ity the computation of the directionally independent irradiance is sufficient. On the other hand, the re-flection operator of non-diffuse surfaces is much more complex than for diffuse surfaces, but due
to the separation, the incoming radiance, gathered from all other patches can be reflected in one step. Nevertheless, the separation with its intermediate approximation of incoming radiance will probably lead to a larger error.
In this approach, incoming and outgoing radi-ance are described with the directional parameter-ization. The propagation operator, transforming outgoing into incoming radiance, is eight dimen-sional again, but it is even more sparse than the operator above, because, for a fix pair of surface pointsx ;y, only the directions ! = y ?x and !
0
=x?ycan interact (see Figure 1 right). We
will present a method to find these small regions of interaction and to determine the propagation oper-ator quickly.
The reflection operator transforms incoming ra-diance L
p
(y;!) to outgoing radianceL p
(y;! 0
).
As the parameter y matches, the support of the
operator’s kernel is six-dimensional, but for every patch it has to be computed only once, as opposed to implicitly with every transport from any other patch.
The computed representations of incoming and outgoing light are closely related to image based representations of the light field of objects[9, 12]. So, we can interpret our task as computing the in-coming light field of an object (propagation), and reflect it according to the objects reflectance prop-erties to obtain an outgoing lightfield.
In the following section we describe our algo-rithm, in particular the representation of the radi-ance function and the computation of the propaga-tion and the reflecpropaga-tion operator. We then present first results of our implementation and compare them with results obtained by the Wavelet Radi-ance algorithms of Schr¨oder [15] and Christensen [4]. The last section contains a conclusion and pointers to future work.
2
The Algorithm
Our algorithm is an extension to the well-known hierarchical radiosity algorithm, that is, the inter-action between diffuse surfaces is handled as in HR. This implies that the radiosity of a diffuse patch is represented in a multiresolution quadtree scheme with constant basis functions. For specu-lar patches, the radiance functions are computed in a similar, but four-dimensional 16-tree structure.
The HR approach of modeling the operatorR G is changed to a separate hierarchical modeling
x y z p q r x y p q ω ω’ x y p q ω ω’
Figure 1: Interactions for different parameterizations: three point (left), directional (center), propagation only, directional (right)
output radiance are also represented in a multires-olution tree. For computing the application of the linear operators to a function, a network of links between nodes of input and output tree is created. Every link contains a coefficient describing the in-fluence of the input node on the output node.
Starting with the pair of root nodes, the en-ergy exchange between the two nodes, caused by the operator, is approximated. If this energy is larger than a certain energy thresholdE
, one node
is subdivided and the interactions with the child nodes are computed recursively. Otherwise the er-ror that is made by linking the two hierarchies at this level is assumed to be small and the two nodes are linked [10].
In the following we will describe the crucial parts of our algorithm, in particular the represen-tation of radiance and its underlying parameteriza-tion of direcparameteriza-tions, and the computaparameteriza-tion of propaga-tion and reflecpropaga-tion operator. The transformapropaga-tion of push/pull and the iteration loop of our algorithm is straightforward and therefore omitted.
2.1
Radiance Representation
In order to handle non-diffuse surfaces, we have to find a representation of the 4D radiance function. We decided to use a simple multiresolution repre-sentation with constant basis functions as in plain HR. This implies that postprocessing for obtain-ing smooth radiance distributions becomes neces-sary. Higher order wavelets as used in [15] have the advantage of a sparser operator matrix, but the number of coefficients per link grows dramati-cally with the number of vanishing moments. So, in practice, only low order wavelets are suitable, which exhibit similar artefacts as a linearily inter-polated constant basis function solution.The major problem is to find a good parame-terization P(t) of the space of directions: P : [0;1]2 ! . P maps the unit square into the set
of hemisphere directionsaround the surface
nor-mal. The use of a directional parametert2[0;1]2
allows for a simple quadtree subdivision scheme in the direction domain.
For global illumination purposes integrations of radiance functions over directions have to be weighted by the cosine of the anglebetween the
direction and the surface normal. Following Arvo [1], this weighting can be hidden by using a mea-sure, such thatd(!) = cosd!. To simplify
and accellerate integrations, which we want to do in parameter space, a parameterizationP is
desir-able which meets
d(P(t ))=dt : (4)
With such a parameterization, an integral us-ing d(!) can be calculated directly in
param-eter space without further weights or measures. This means that numerical integration can be done by uniformly sampling the integrand in parameter space with constant weights.
Equation (4) is equivalent to demanding that for any parameter regionR [0;1]2the form factor
of an infinitesimal surface area to a surface cover-ingP(R )is equal to the area ofRin
parame-ter space. So the problem to find such a parameparame-ter- parameter-ization is similar to finding a hemicube subdivision with subcells of equal form factor [13]. Similar to the solution to this problem in [20, 9, 12], our pro-posed parameterization describes a direction by a point on a single plane perpendicular to the sur-face normal with distance one from the patch (see Figure 2).
In order to find a good mapping of [0;1]2 to
the plane coordinatesIR
2, we search for a func-tion f : [0;1] ! IR, such that the
parameteri-zationP(t) =(f(t1);f(t2);1)best meets
Equa-tion (4). This funcEqua-tionf will have the properties f(0)=?1,f(1=2)=0, andf(1)=1and will
be symmetric with respect tot=1=2.
To find a suitablef, we consider the square
pa-rameter area[1=2?t;1=2+t]2. The corresponding
region on the plane is a centered square with side length2d, whered=f(1=2+t). The goal is to
x
y
x
y
Figure 2: Plane parameterization grows linearily with the region in parameter space,
that is, with4t2. Approximating the form factor by
the differential area to disk form factor [22], using a centered disk of equal area delivers a form factor
FF =4d2=(4d2+). Assuming thatFF =4t2 one gets d=f(1=2+t)= r 1?4t2 t (5)
This choice off maps a uniform grid in
param-eter space to a non-uniform recti-linear grid on the plane. The grid distance grows with the dis-tance from the center. The parameterization does not meet Equation (4) exactly, but as can be seen in Figure 3, the quotientd(!(t))=dtis
approxi-mately one, except at the four corners of parameter space.
If all patches are spatially parameterized by the unit square[0;1]2, the radianceL
o p
(y;!)of a
patchpcan be reparameterized asL o p
(s;t), where (s;t) 2 [0;1]4. Using the traditional subdivision
scheme in parameter space, a hierarchical repre-sentation of the radiance functions can easily be defined.
This radiance representation is different from those usually used in image based rendering [9, 12]. For a fixed surface parameter s, the
func-tionL i p;s (t)=L i p
(s;t)describes a distorted view
of the surface point into the scene, because f is
not linear. On the other hand, for a fixed valuet, L o p;t (s) = L o p
(s ;t) is an image ofpfrom
view-point(f(t1);f(t2);1), which is not distorted, ifp
is a uniformely parameterized rectangle. Further-more, our representation is hierarchical, allowing for adaptive and thus efficient storage.
Figure 3: Plot of the differentiald(!(t))=dtfor
our single plane parameterization. For an opti-mal parameterization the differential would ex-actly equal one.
2.2
Propagation
Our algorithm computes the propagation opera-tor G separately from the reflection operator R.
As mentioned above, the operator G is
eight-dimensional because it transforms a 4D-function into another 4D-function. However, its operator matrix is very sparse, as for every pair of surface points only one pair of directions interacts (see Figure 1 right).
stan-dard form factor. If the exchange is above an en-ergy threshold, sender or receiver are subdivided
spatially and the new subpatches are considered
recursively. Only if the exchange is small, the range of directions between sender and receiver is computed, and a set of basis functions cover-ing the subpatches and the direction range is de-termined (see Figure 4). Then links between these basis functions are calculated.
Figure 4: Interacting basis functions between two subpatches
The main problem is to find suitable sets of non overlapping basis functions that interact. Our so-lution to this problem is described in the next sec-tion.
If the interacting basis functions are known, the links are determined by a simple sampling scheme: Sender and receiver are sampled ran-domly. Every pair of samples defines a ray that falls into one receiving and one sending basis function. The relative number of “hits” approxi-mates the portion of a basis function to the set of interacting line segments. Using these contribu-tions, the average radiance of the sender towards the receiver can be computed. This radiance is then transported to the receiver using the usual form factor, including visibility. The arriving en-ergy is then distributed amongst the receiving ba-sis functions, depending on their contribution.
If either sender or receiver is diffuse, the algo-rithm can be simplified, because the computation of the directional contribution for the diffuse patch can be omitted.
2.2.1 Finding Matching Basis Functions In this section we describe an algorithm to find a set of basis functions on a subpatchplooking
to-wards another subpatchq, as can be seen in
Fig-ure 4.
For this purpose, at first a “bounding box” [s1 ;min ;s1 ;max ] [s2 ;min ;s2 ;max ] [t1 ;min ;t1 ;max ] [t2 ;min ;t2 ;max ] in the 4D
pa-rameter space ofpis computed, such that all rays
from a point on pto a point onqlie within that
volume.
The bounds for the spatial parameters (s1;s2)
are solely determined by the range of the subpatch
pwithin its root patch. To get bounds for the
di-rectional parameters(t1;t2), we consider extremal
points of the subpatches that define the convex hull of the subpatch. Then the directional parameters for all pairs of extremal points are calculated. In our plane parameterization these parameter val-ues also define the bounds of the directional t
-parameters.
A simple two-dimensional example is given in Figure 5. The convex hulls of patchespandqare
defined by the two vertices of the patches. On the left the range of directions going towards q
is marked for the vertices of p. The right figure
shows the four direction parameters for each pair of vertices and the resulting bounds for the direc-tions. p q 1 2 t t t Parameter range 2 1 t22 t11 t12 t21
Figure 5: Directional parameter range between two patches
When the parameter bounds are found, we search for basis functions covering this region. Figure 6 shows the range a subpatch occupies in the parameter space of another subpatch for the simple case of two 1D-patches in 2D. The spatial parameter bound[smin;smax]is determined by the
position of the subpatch within its root patch and thus matches with the basis function subdivision. The range of the directional parametert depends
on the other patch. The figure also shows the rect-angular bounding box of the considered parame-ters.
see-q p s t smin smax tmin tmax q s t
Figure 6: Region a subpatchqoccupies in the
pa-rameter space of a subpatchp
ing another patch, consider Figure 7, showing the same situation as in the example above. The fig-ure shows five 2D basis functions as examples for the five cases distinguished in the following algo-rithm:
Starting at the root basis function with support
[0;1]4 the overlap of the current basis function
with the parameter bounding box is determined. If the basis is completely outside the box (1), nothing has to be done, if it is completely or almost com-pletely inside it is appended to the result set (2). In the case of partial overlap the overlapping region is examined. If its size is not small compared to the size of the complete bounding box (3), the subor-dinated basis functions are considered recursively. If the overlapping region is small, the basis func-tion is added to the result set (4), unless the overlap is completely within one single child (5). In that case the algorithm continues with that child.
In our implementation an overlap is classified as small, if its size is smaller than 20% of the bound-ing box size, and a basis is considered as almost completely inside if 80% of it are inside. With these values the accuracy of the algorithm, but also the size of the produced set can be adjusted. A choice of 20%/80% seem to result in a proper bal-ance between these two aspects.
2.3
Reflection
The second step for a specular surface is to reflect the incoming radiance obtained from the propaga-tion step described above, that is, to model the re-flection operator of Equation (2). Therefore a net-work of reflection links between basis functions of the previously gathered incoming radiance and the searched outgoing radiance is constructed, similar to the links describing the propagation operator. In contrast to the propagation step, this process is
purely local to the reflecting patch.
Starting with the pair of root nodes of the in-coming and outgoing radiance trees a reflection
link is determined. This link describes the
influ-ence of the incoming basis function coefficient on the outgoing one. To determine this link, an inte-gration over the two directional domains and the shared spatial domain is necessary. Ifl
i S;T
0 is the
coefficient of the incoming radiance according to the basis function with parameter range S T
0
, the coefficientl
o
S;T of the outgoing radiance in the
rangeST is l o S;T = Z S Z T Z T 0 f r (t 0 ;s;t)dsdtd(!(t 0 )) l i S;T 0
This integral uses the measure d(!(t))and can
be computed by uniform sampling in parameter space, if a proper parameterization is used.
As with the propagation operator, if the energy that would be transformed between the two basis functions is larger than the energy threshold, inter-action between the children of the basis functions with matching spatial support is computed recur-sively.
There is no reason, why the more general con-cept of bidirectional room reflectance distribution
functions (BRRDFs), as suggested by Fournier [6],
could not be used in our algorithm. Using these BRRDFs, the point of incidence and the point of reflection do not have to be the same. With these BRRDFs the reflectance behavior of a complete “room”, wrapped into a virtual hull, can be de-scribed.
3
Results
To test our implementation we used a similar scene as in [15, 17]. The scene consist of a small sender
P lighting a small reflectorQ. The reflected light
of Q is gathered by a large diffuse receiverRand
thus shows a projection of the outgoing reflected radiance ofQonto that plane.
Figure 8 shows the resulting radiosity on the re-ceiverR, computed with different methods. The
left image (a) shows the result obtained with a purely diffuse reflectorQ, image (b) is the result of
2
1
3
5 4
Figure 7: Examples for the five cases distinguished to find a set of matching basis functions
(a) Purely diffuse reflec-tor
(b) Specular reflector, decoupled propagation and reflection
(c) Specular reflec-tor, wavelet radiance (Christensen)
(d) Specular reflec-tor, wavelet radiance (Schr¨oder)
Figure 8: Test scene computed with different radiance algorithms The computation time with our implementation
was about one tenth of the time of (c). However, the given scene is “perfect” for our algorithm, be-cause the propagation between the two very small patches can be computed very efficiently, so more than 90% of the computation time has been spent for the reflectance operator. Image (d) was com-puted in a higher order basis, so the result can hardly be compared with the other two images. The computation time was about twice as long as for (c).
In Figure 9 a seminar room scene was com-puted. The projector contains a light source, the light of which is specularily reflected in the above mirror towards the canvas. In the left image the light sources at the ceiling emit light diffusely, whereas the lightsources in the right emit light mainly downwards, resulting in a rather differ-ent light distribution within the scene. Compu-tation times where 2800s for the left image and 1908s for the right one. This shows that the addi-tion of non-diffuse surfaces did not result in such a dramatic increase in computation time as for other algorithms. Using non-diffuse light sources even decreased computation time, because their directed light resulted in less direct illumination of the walls.
4
Conclusion
and
Future
Work
We present a global illumination algorithm that can simulate light propagation in a scene of patches with arbitrary BRDFs. The separation of light propagation and reflection leads to improved performance compared to other radiance methods. Furthermore, the algorithm can produce incoming radiance distributions, which allows for the use of special reconstruction techniques and special shaders [21].
An interesting point for future work will be the development of reconstruction techniques, maybe based on the incoming radiance distribution, and the introduction of a clustering scheme [19, 3] into the algorithm in order to be able to handle more complex scenes in a reasonable time.
References
[1] James Arvo, Kenneth Torrance, and Brian Smits. A framework for the analysis of error in global illumina-tion algorithms. In Andrew Glassner, editor, Proceedings
of SIGGRAPH ’94 (Orlando, Florida, July 24–29, 1994),
pages 75–84, 1994.
Figure 9: Seminar room with diffuse (left) and non-diffuse (right) light sources at the ceiling
Computer Graphics Proceedings, Annual Conference Se-ries, 1993, pages 155–162, 1993.
[3] Per H. Christensen. Hierarchical Techniques for Glossy
Global Illumination. PhD thesis, University of
Washing-ton, 1995.
[4] Per H. Christensen, Eric J. Stollnitz, David H. Salesin, and Tony D. DeRose. Wavelet radiance. In Fifth
Euro-graphics Workshop on Rendering, pages 287–302,
Darm-stadt, Germany, June 1994.
[5] Michael Cohen, Shenchang E. Chen, John R. Wallace, and Donald P. Greenberg. A progressive refinement ap-proach to fast radiosity image generation. In Computer
Graphics (SIGGRAPH ’88 Proceedings), pages 75–84,
August 1988.
[6] Alain Fournier. From local to global illumination and back. In Sixth Eurographics Workshop on Rendering, pages 393–402, Dublin, Ireland, June 1995.
[7] Cindy M. Goral, Kenneth E. Torrance, Donald P. Green-berg, and Bennett Battaile. Modelling the interaction of light between diffuse surfaces. In Computer Graphics
(SIGGRAPH ’84 Proceedings), pages 212–22, July 1984.
[8] Steven J. Gortler, Peter Schr¨oder, Michael F. Cohen, and Pat Hanrahan. Wavelet radiosity. In Computer Graphics
(SIGGRAPH ’93 Proceedings), pages 221–230, 1993.
[9] Steven J. Gortler, Radek Grzeszczuk, Richard Szelinski, and Michael F. Cohen. The lumigraph. Computer
Graph-ics (SIGGRAPH ’96 Proceedings), pages 43–54, August
1996.
[10] Pat Hanrahan, David Salzman, and Larry Aupperle. A rapid hierarchical radiosity algorithm. In Computer
Graphics (SIGGRAPH ’91 Proceedings), pages 197–206,
July 1991.
[11] James T. Kajiya. The rendering equation. In Computer
Graphics (SIGGRAPH ’86 Proceedings), pages 143–150,
August 1986.
[12] Marc Levoy and Pat Hanrahan. Light field render-ing. Computer Graphics (SIGGRAPH ’96 Proceedings), pages 31–45, August 1996.
[13] Nelson Max and Roy Troutman. Optimal hemicube sam-pling. In Fourth Eurographics Workshop on Rendering, pages 185–200, Paris, France, June 1993.
[14] Annette Scheel. Physikalisch basierte Beleuchtungsrech-nung mit Wavelet Radiance. Master’s thesis, Universit¨at Erlangen, 1996.
[15] Peter Schr¨oder. Wavelet Algorithms for Illumination Computations. PhD thesis, Princeton University, 1994.
[16] Peter Schr¨oder, Steven J. Gortler, Michael F. Cohen, and Pat Hanrahan. Wavelet projections for radiosity. In Fourth Eurographics Workshop on Rendering, pages 177–184, 1993.
[17] Peter Schr¨oder and Pat Hanrahan. Wavelet methods for radiance computations. In Fifth Eurographics
Work-shop on Rendering, pages 303–311, Darmstadt,
Ger-many, June 1994.
[18] Francois X. Sillion, James R. Arvo, Stephen H. Westin, and Donald P. Greenberg. A global illumination solu-tion for general reflectance distribusolu-tions. In Thomas W. Sederberg, editor, Computer Graphics (SIGGRAPH ’91
Proceedings), volume 25, pages 187–196, July 1991.
[19] Francois X. Sillion, George Drettakis, and Cyril Soler. A clustering algorithm for radiance calculation in general environments. In Sixth Eurographics Workshop on
Ren-dering, pages 159–171, Dublin, Ireland, June 1995.
[20] Francois X. Sillion and Claude Puech. A general two-pass method integrating specular and diffuse reflection. In Jeffrey Lane, editor, Computer Graphics (SIGGRAPH
’89 Proceedings), volume 23, pages 335–344, July 1989.
[21] Philipp Slusallek, Thomas Pflaum, and Hans-Peter Sei-del. Using procedural RenderMan shaders for global il-lumination. In Computer Graphics Forum (Proc.
EURO-GRAPHICS ’95), 1995.
[22] John R. Wallace, Kells A. Elmquist, and Eric A. Haines. A ray tracing algorithm for progressive radiosity. In Jef-frey Lane, editor, Computer Graphics (SIGGRAPH ’89
Proceedings), volume 23, pages 315–324, July 1989.
Authors: Marc Stamminger, Philipp Slusallek and Hans-Peter Seidel, Universit¨at Erlangen, Graphische Datenverarbeitung, Am Weichselgar-ten 9, D-91058 Erlangen, Germany. E-mail:
fstamminger,slusallek,seidelg @