interested in the outgoing radiance at the material surface as a function of the incoming radi-ance. Therefore we can further simplify the solution of the diffusion equation using the dipole diffusion approximation, which we will describe in next section.
2.4 The Dipole Diffusion Approximation
The dipole diffusion approximation, which approximates the volumetric source distribution us-ing a dipole (i.e. two point sources), was originally developed in medical physics community.
The idea was proposed by Eason et al. [4] for modeling the back-scattering of light by blood.
Farrell et al. [5] used a single dipole to represent the incident source distribution for the nonin-vasive determination of tissue optical properties in vivo. Jensen et al. [10] then introduced the dipole diffusion approximation to computer graphics community for modeling the subsurface light transport.
The dipole diffusion approximation consists of positioning two point sources near the sur-face to approximate an incoming light see Figure 2.3. One point source, the positive real light source, is locate at the distance zr beneath the surface, and the other one, the negative virtual light source, is located above the surface at a distance zv.
By using the dipole diffusion approximation to solve diffusion equation, we can get the following expression for the radiant exitance Mxi(xo) at surface location xodue to incident flux Φ(xi) at xi(see [9, 10] for the details of derivation):
t is the reduced albedo which describe the relative importance of scattering versus absorption; σtr = √
3σaσ0t is the effective transport coefficient; sr = qr2+ Zr2 and sv =
qr2+ Zv2are the distance from xo to the positive real light source and the negative virtual light source; r = kxo + xik is the distance from xo to xi; zr = lu and zv = (1 + 4A/3)lu are the distance from the dipole source to the surface as shown in Figure 2.3. The mean-free path lu = 1/σ0tis the average distance at which the light is scattered. Finally, the boundary condition
2.4 The Dipole Diffusion Approximation 18
Figure 2.3: An incoming ray is transformed into a dipole source for the diffusion approximation [19].
for mismatched interfaces is taken into account by the A term which is computed as A = 1+F1−Fdr
dr, where the diffuse Fresnel term Fdr is approximated from the relative index of refraction η by :
Fdr = −1.440
η2 +0.710
η + 0.668 + 0.0636η.
By using Equation 2.11, the subsurface illuminance then could be computed as:
S(xo) = RAdM(xi)(xo)
= RA4πα0[zr(1 + σtrsr)e−σtrsrs3
r + zv(1 + σtrsv)e−σtrsvs3
v ]dΦ(xi)
= RAE0(xi)4πα0[zr(1 + σtrsr)e−σtrsrs3
r + zv(1 + σtrsv)e−σtrsvs3 v ]dxi
= RAE0(xi)Rd(xi, xo)dxi
(2.12)
where E0(xi) is the inside irradiance at point xi. Rd(xi, xo) is the diffuse BSSRDF defined as the ratio of radiant exitance to incident flux. Figure 2.4 shows the graph of Rdwhich has expo-nentially decreasing property.
2.4 The Dipole Diffusion Approximation 19
Substituting Fresnel transmittance into 2.9. Finally, the diffuse radiance L(xo, ωo) can be computed as:
L(xo, ωo) = Ft(η, ωo)B(xo) B(xo) = RAE(xi)Rd(xi, xo)dxi
E(xi) = RΩFt(η, ωi)(ωi·Nxi)L(xi, ωi)dωi
(2.13)
where E(xi) is the irradiance at incident point xi; and B(xo) is the radiosity at outgoing point xo. The dipole diffusion approximation introduced by Jensen et al. [10] is widely used by following researchers in computer graphics community. Our framework is based on Equation 2.13.
Figure 2.4: The graph of Rd.
C H A P T E R 3
Texture Space Importance Sampling Technique
Our development of a texture space importance sampling technique for real-time translucent rendering is based on the following observations :
• According to the works of Jensen et al.[9, 10], the evaluation of translucency is an integra-tion over a model surface. Sampling and integraintegra-tion over the model surface is complicated and time consuming.
• A three-dimensional model surface can be converted into two-dimensional texture space by parameterization. Integration over the texture space is easier, more efficient and with-out loss of information of the 3D surface.
• Monte Carlo importance sampling is a powerful and efficient method to accurately evalu-ate integration in most rendering applications. With approprievalu-ate probability density func-tion and sampling strategy, Monte Carlo importance sampling can reduce the required number of samples and speed up computation.
20
3.1 Texture Space Importance Sampling 21
• Graphics hardware is a powerful tool for parallel computation, and is widespread used in real-time rendering and general purpose computation.
For the sake of efficiency, we render translucent effects by evaluating the integration over 2D texture space. We can achieve real-time performance by using the parallel computation of Monte Carlo importance sampling and graphics hardware.
In this chapter, we propose a GPU-based texture space importance sampling method for rendering translucent materials. When the appearance of translucency is dominated by the local effect, the necessary number of samples for accurate result will be very high. To overcome this efficient issue, we also propose a hybrid approach to reduce the necessary number of samples.
3.1 Texture Space Importance Sampling
In this section, we describe our texture space importance sampling method for translucent ren-dering. First we convert the integration over the model surface in Equation 2.13 into the inte-gration over texture space. Monte Carlo importance sampling is applied based on the irradiance function to evaluate the integration over the texture space. Finally, we adopt the mipmap tech-nique and GPU acceleration to develop a three-stage translucent rendering approach.
3.1.1 Reformulation of Rendering Equation
Integration of outgoing radiosity B(xo) in Equation 2.13 is the most important process to render translucent materials. However, it is also computationally expensive to sum up the contributions from all surface points.
A straightforward way to compute the radiosity is to simply evaluate integration [3, 11] us-ing uniform samplus-ing over the object surface, as proposed by Jensen and Buhler [9]. A spatial hierarchy on the samples can be built to speed up the computational performance. However, this approach has several drawbacks. First, uniform sampling over a 3D surface is time consuming.
Geometry modeling techniques need to be applied to ensure that mutual distance among
sam-3.1 Texture Space Importance Sampling 22
ples is the same. Second, the number of samples over the model surface could be very high if an accurate integration result is needed, especially when the appearance is dominated by the local translucent effect. It would require lots of time and memory to maintain the data structure of samples.
We avoid the expensive sampling process over a model surface by convert the integration into the texture space. Since the input model is triangle mesh, the integration can be represented as summation of triangle faces. where NF is the total number of triangle faces, and Fj is the area of the jth triangle face.
After parameterization, each triangle face will be associated unique texture coordinate, which is bijective to the 3D model space. In theory, we can directly convert the integration of triangle face into texture space, but triangle area in texture space may be shrunk or enlarged in the parameterization process. In order to obtain correct integration results, we scale the area size for each triangle face.
where AjS and AjT are area size of triangle face on 3D model surface and on 2D texture space respectively; Tj is the jth triangle face in texture space.
The texture space usually contains some regions that are not mapped to any triangle face. In these regions, the area size of triangle face AjS and irradiance E(xi) are both zero. These area do not influence the integration of the whole texture space because of the zero value. Therefore, we can merge integration of each triangle face into a unique texture space.
B(xo) = PNj=1F A irradiance term and the area scaling term.