Ray Tracing Across Refractive Boundaries
20170358123 · 2017-12-14
Assignee
Inventors
- Jan Novak (Zurich, CH)
- David Koerner (Stuttgart, DE)
- Wojciech Jarosz (Zurich, CH)
- Peter Kutz (Los Angeles, CA, US)
- Ralf Habel (Toluca Lake, CA, US)
Cpc classification
G06T1/20
PHYSICS
International classification
Abstract
According to one exemplary implementation, a method for use by a global illumination system including a hardware processor includes identifying, using the hardware processor, a first interior vertex of multiple first interior vertices of a light path, the first interior vertices being situated within a volume having a refractive boundary. In addition, the method includes determining, using the hardware processor, a surface vertex of the light path at the refractive boundary, and determining, using the hardware processor, a linear direction from the surface vertex to a light source of the light path. The method also includes determining, using the hardware processor, one or more second interior vertices for completing the light path by constructing a path from the surface vertex to the first interior vertex, based on the linear direction, the surface vertex and the first interior vertex.
Claims
1. A method for use by a global illumination system including a hardware processor, the method comprising: identifying, using the hardware processor, a first interior vertex of a plurality of first interior vertices of a light path, the plurality of first interior vertices being situated within a volume having a refractive boundary; determining, using the hardware processor, a surface vertex of the light path at the refractive boundary; determining, using the hardware processor, a linear direction from the surface vertex to a light source of the light path; and determining, using the hardware processor, one or more second interior vertices for completing the light path by constructing a path from the surface vertex to the first interior vertex, based on the linear direction, the surface vertex and the first interior vertex.
2. The method of claim 1, wherein the light source comprises a highly directional light source.
3. The method of claim 1, wherein the refractive boundary comprises a smooth boundary.
4. The method of claim 1, wherein the volume comprises a translucent medium.
5. The method of claim 1, wherein the one or more second interior vertices consist of a single second interior vertex.
6. The method of claim 1, wherein the one or more second interior vertices comprise a plurality of second interior vertices.
7. The method of claim 1, wherein the light path substantially satisfies Snell's law across the refractive boundary.
8. A method for use by a global illumination system including a hardware processor, the method comprising: identifying, using the hardware processor, a first interior vertex of a plurality of first interior vertices of a light path, the plurality of first interior vertices being situated within a volume having a refractive boundary and including a medium having an anisotropic phase function; determining, using the hardware processor, a surface vertex of the light path at the refractive boundary; and determining, using the hardware processor, one or more second interior vertices for completing the light path by constructing a path from the first interior vertex to the surface vertex, based on the anisotropic phase function, the surface vertex and the first interior vertex.
9. The method of claim 8, wherein the anisotropic phase function of the medium results in highly directional scattering of light within the volume.
10. The method of claim 8, wherein the refractive boundary comprises a smooth boundary.
11. The method of claim 8, wherein the volume comprises a translucent medium.
12. The method of claim 8, wherein the one or more second interior vertices consist of a single second interior vertex.
13. The method of claim 8, wherein the one or more second interior vertices comprise a plurality of second interior vertices.
14. The method of claim 8, wherein the light path substantially satisfies Snell's law across the refractive boundary.
15. A method for use by a global illumination system including a hardware processor, the method comprising: identifying, using the hardware processor, a plurality of first interior vertices and a second interior vertex of a light path, the plurality of first interior vertices and the second interior vertex being situated within a volume having a refractive boundary; determining, using the hardware processor, a surface vertex of the light path at the refractive boundary; and relocating, using the hardware processor, the second interior vertex within the volume for completing the light path between the plurality of first interior vertices and the surface vertex.
16. The method of claim 15, wherein a light source of the light path comprises a highly directional light source.
17. The method of claim 15, wherein the volume comprises a medium having an anisotropic phase function, and wherein the anisotropic phase function of the medium results in highly directional scattering of light within the volume.
18. The method of claim 15, wherein the refractive boundary comprises a smooth boundary.
19. The method of claim 15, wherein the volume comprises a translucent medium.
20. The method of claim 15, wherein the light path substantially satisfies Snell's law across the refractive boundary.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0005]
[0006]
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
DETAILED DESCRIPTION
[0019] The following description contains specific information pertaining to implementations in the present disclosure. One skilled in the art will recognize that the present disclosure may be implemented in a manner different from that specifically discussed herein. The drawings in the present application and their accompanying detailed description are directed to merely exemplary implementations. Unless noted otherwise, like or corresponding elements among the figures may be indicated by like or corresponding reference numerals. Moreover, the drawings and illustrations in the present application are generally not to scale, and are not intended to correspond to actual relative dimensions.
[0020]
[0021] It is noted that although
[0022] According to the implementation shown by
[0023] Although workstation terminal 122 is shown as a personal computer (PC) in
[0024] The functionality of global illumination system 102 will be further described with reference to
[0025] Referring now to
[0026] According to the implementation shown in
[0027] Referring to light path diagram 300B, in
[0028] Surface vertex x.sub.k 334 may be determined through evaluation of a probability density based on the geometry of the direct connections linking first interior vertex x.sub.i to points on refractive boundary 342. Such a probability density may be expressed as Equation (1):
where
and n(x.sub.k) is the surface normal to refractive boundary 342 at x.sub.k. Equation (1) may be evaluated by sampling a random direction within volume 340 and setting x.sub.k to the first intersection with refractive boundary 342.
[0029] Referring to light path diagram 300C, in
[0030] Referring to light path diagrams 300D and 300E, in respective
[0031] With respect to the exemplary implementation shown by
[0032] With first interior vertex x.sub.i, surface vertex x.sub.k 334, and refracted direction ω.sub.l′ known, second interior vertex x.sub.j 338 may be determined by sampling the distance t separating second interior vertex x.sub.j 338 from surface vertex x.sub.k 334 along refracted direction ω.sub.l′ using transmittance sampling with density p.sub.tr(t) or equiangular sampling p.sub.eq(t), and combining both sampling results using multiple importance sampling (MIS). It is noted that each of transmittance sampling, equiangular sampling, and MIS is a well known technique in the art.
[0033] The conditional probability density function (PDF) of second interior vertex x.sub.j 338 in view of the constraints discussed above is given by Equation (2):
p.sub.↓(x.sub.j|x.sub.i,x.sub.k)=p.sub.light(ω.sub.l)p.sub.bsdf(ω.sub.l′)MIS[p.sub.tr(t),p.sub.eq(t)]
It is noted that the PDF of Equation (2) is designated by a downward pointing arrow (↓) to emphasize that second interior vertex x.sub.j 338 is determined from surface vertex x.sub.k 334 towards first interior vertex x.sub.i. Thus, second interior vertex x.sub.j 338 for completing light path 344 is determined by constructing a path from surface vertex x.sub.k 334 to first interior vertex x.sub.i, based on linear direction ω.sub.l 336, surface vertex x.sub.k 334 and first interior vertex x.sub.1.
[0034] As stated above by reference to
[0035]
[0036] Volume 540 and refractive boundary 542 correspond respectively in general to volume 340 and refractive boundary 342, in
[0037] Referring to light path diagram 500B, in
[0038] Analogously to the approach taken in the method of flowchart 230 to determine surface vertex x.sub.k 334, surface vertex x.sub.k 554 may be determined through evaluation of Equation (1), i.e.:
where
and n(x.sub.k) is the surface normal to refractive boundary 542 at x.sub.k. Equation (1) may be evaluated by sampling a random direction within volume 540 and setting x.sub.k to the first intersection with refractive boundary 542.
[0039] Referring to light path diagram 500C, in
[0040] With first interior vertex x.sub.i and surface vertex x.sub.k 554 known, second interior vertex x.sub.j 556 may be determined by sampling directions ω.sub.i away from first interior vertex x.sub.i, and sampling the distance t separating second interior vertex x.sub.j 556 from first interior vertex x.sub.i in direction ω.sub.i. Direction ω.sub.i can be sampled using phase function importance sampling p.sub.phrases(ω.sub.i) or the U.sub.2 joint importance sampling p.sub.U2(ω.sub.i) strategy known in the art. Sampling of distance t can be performed using p.sub.tr(t) or p.sub.eq(t). The results of sampling direction ω.sub.i and distance t can then be combined using MIS.
[0041] The conditional PDF of second interior vertex x.sub.j 556 in view of the method outlined by flowchart 450 is given by Equation (3):
p.sub.↑(x.sub.j|x.sub.i,x.sub.k)=MIS[p.sub.phase(ω.sub.i),p.sub.u2(ω.sub.i)]MIS[p.sub.tr(t),p.sub.eq(t)]|
It is noted that the PDF of Equation (3) is designated by an upward pointing arrow (↑) to emphasize that second interior vertex x.sub.j 556 is determined from first interior vertex x.sub.i towards surface vertex x.sub.k 554. Thus, second interior vertex x.sub.j 556 for completing light path 558 is determined by constructing a path from first interior vertex x.sub.i to surface vertex x.sub.k 554, based on the anisotropic phase function of the medium contained by volume 540, surface vertex x.sub.k 554 and first interior vertex x.sub.i.
[0042] Determination of second interior vertex x.sub.j 556 enables completion of light path 558 between surface vertex x.sub.k 554 and first interior vertex x.sub.i. Moreover, determination of second interior vertex x.sub.j 556 causes light path 558 to substantially satisfy Snell's law across refractive boundary 542.
[0043] In some implementations, it may be advantageous or desirable to utilize the methods outlined by flowcharts 230 and 450, in combination, to determine second interior vertex x.sub.j 338/556. In those implementations, MIS may be used to combine the PDFs given by Equation (2) and Equation (3) to provide a composite PDF as Equation (4):
p(x.sub.j|x.sub.i,x.sub.k)=MIS[p.sub.↓(x.sub.j|x.sub.i,x.sub.k),p.sub.↑(x.sub.j|x.sub.i,x.sub.k)]
[0044] Once second interior vertex x.sub.j 338/556 is determined using one of Equation (2), Equation (3), or Equation (4), each of first interior vertex x.sub.i, second interior vertex x.sub.j 338/556, and direction ω.sub.i is known. Based on those known values, the incident illumination arriving from direction ω.sub.i at first interior vertex x.sub.i, i.e., L(x.sub.i, ω.sub.i) can be estimated using Equation (5):
L(x.sub.i,ω.sub.i)=∫.sub.νS.sub.ijf.sub.ijkS.sub.jk∫.sub.εf.sub.jklS.sub.jkL.sub.e(x.sub.I,−ω.sub.k)dx.sub.ldx.sub.kdx.sub.j,
where ν and are the respective interior volume 340/540 and refractive boundary 342/542, and e is the union of volume 340/540 and refractive boundary 342/542. The segment throughputs S are defined by Equation (6):
where T(x.sub.i,x.sub.j) and V(x.sub.i,x.sub.j) quantify the respective transmittance and visibility between x.sub.i and x.sub.j. It is noted that the fraction in Equation (6) is a geometry term with c(x.sub.i,x.sub.j)=1 if x.sub.i εν, and otherwise
where n(x.sub.i) is the surface normal to refractive boundary 342/542 at x.sub.i. It is further noted that the vertex throughputs f of Equation (5) are defined by Equation (7):
[0045] Moving now to
[0046] As shown by light path diagram 700A, first interior vertices 762 include first interior vertex x.sub.i. As further shown by light path diagram 700A, each of first interior vertices 762 and second interior vertex x.sub.j 764 is situated within volume 740 having refractive boundary 742.
[0047] Volume 740 and refractive boundary 742 correspond respectively in general to volume 340 and refractive boundary 342, in
[0048] Referring to light path diagram 700B, in
[0049] In contrast to the approach taken in the methods of flowcharts 230 and 450 to determine respective surface vertices x.sub.k 334 and 554, surface vertex x.sub.k 766 may be determined using conventional forward light path tracing techniques. For example, in one implementation, determination of surface vertex x.sub.k 766 may be performed using Next-Event Estimation (NEE), which is typically utilized to estimate direct illumination in the absence of refraction.
[0050] Referring to light path diagram 700C, in
[0051] The PDF for determining relocation of second interior vertex x.sub.j 764 to vertex x.sub.j′ 772 can be expressed as Equation (8):
p(x.sub.ix′.sub.jx.sub.k)=p(x′.sub.j|x.sub.ix.sub.k)p(x.sub.ix.sub.k)
where p(x.sub.ix.sub.j) is defined by Equation (9):
p(x.sub.ix.sub.k)=∫.sub.x.sub.
[0052] Once second interior vertex x.sub.j 764 is relocated to x.sub.j′ 772 using Equation (8) and Equation (9) each of first interior vertex x.sub.i, relocated second interior vertex x.sub.j′ 772, and direction ω.sub.i from relocated second interior vertex x.sub.j′ to first interior vertex x.sub.i is known. Based on those known values, the incident illumination arriving from direction ω.sub.i at first interior vertex x.sub.i, i.e., L(x.sub.i, ω.sub.i) can be estimated using Equation (5), Equation (6), and Equation (7), as discussed above.
[0053] From the above description it is manifest that various techniques can be used for implementing the concepts described in the present application without departing from the scope of those concepts. Moreover, while the concepts have been described with specific reference to certain implementations, a person of ordinary skill in the art would recognize that changes can be made in form and detail without departing from the scope of those concepts. As such, the described implementations are to be considered in all respects as illustrative and not restrictive. It should also be understood that the present application is not limited to the particular implementations described herein, but many rearrangements, modifications, and substitutions are possible without departing from the scope of the present disclosure.