+ All Categories
Home > Documents > IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

Date post: 20-Jan-2016
Category:
Upload: stewart-paul
View: 223 times
Download: 0 times
Share this document with a friend
48
IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad
Transcript
Page 1: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Real Time Ray-Tracing Implicit Surfaces on the GPU

Jag Mohan SinghIIIT, Hyderabad

Page 2: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Implicit Surfaces

• Implicit Surface which can be described by an equation S(x,y,z) = 0. This can be of different kinds– Algebraic

– Non- Algebraic eg. Transcedental, Irrational, Rational etc.

• Implicit Surfaces are used for fluid simulation, modeling of fire, waves and natural phenomena described by equations

Page 3: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Thesis Contributions

• Analytical (Exact) Root Finding at frame-rates of 1100 – 5821 for surfaces up to fourth order

• Mitchell’s Interval method (first time on GPU) at frame-rates of 60 – 965 for surfaces up to fifth order

• Marching Points at frame rates of 38 – 825 for arbitrary implicits

• Adaptive Marching Points (a new method) for arbitrary implicits at frame rates of 60 – 920

Page 4: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Traditional Methods of Rendering

• Rasterization

• Ray Tracing

Page 5: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Rendering Implicit Surfaces

• Polygonization using Marching Cubes– Marching Cubes gives a 3d mesh for the input implicit

surface

– Rasterization of this 3d mesh gives the rendering

• Ray Tracing– Shoot rays towards the implicit surface and intersect

them with these

Page 6: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Ray-Tracing Implicit Surfaces

Can express as: f(t) = 0Desired: smallest +ve real root t0

Normal at t0 = (Sx, Sy, Sz) at (O + D t0)

S(x,y,z) = 0

Ray: P = O + t Dt0

Page 7: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Root Finding Methods

• Analytical (Exact) exists for polynomials up to fourth order

• Iterative Methods exists for arbitrary implicits but have problems related to initialization and convergence.

• Searching based methods which search for the root along the ray using surface properties

Page 8: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Related Work (Exact)Loop and Blinn [ Siggraph ’06] • Piecewise algebraic surfaces up to order four.• The roots are computed by converting the polynomial to

Bezier form. • Coefficients are interpolated in vertex shader. If root is

inside the Bezier tetrahedron then surface normal and per-pixel lighting done.

• Problems in quartic root finding due to extreme self intersections• Quadric root finding on GPU

– Sigg , PBG ‘06– Toledo, INRIA Tech Report ‘06 – Ranta , ICVGIP ‘06

Page 9: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Iterative Methods

• Newton Raphson Method

xn+1 = xn-f(xn)/ f’ (xn)

• Laguerre’s method ( Similar to Newton’s)

• Newton Bisection Method

Given interval [t1,t2]

Choose one of the intervals [t1,tm] or [tm,t2] where tm is the midpoint

Page 10: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Interval based Iterative Methods

• Newton’s Interval Method

xn+1 = xn- f(xn)/ F’(xn)

• Krawczyk Method

xn+1 = xn-f(xn)/f’(xn) + (I- J( xn) / f’( xn)) (Xn - xn)

Page 11: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Recent Related Work (Iterative)

Knoll’s Affine Arithmetic [ CGF ’08]• Compute affine extension of function as F• If 0 ε F then the interval contains the root• Compute maximum depth (dmax) of bisection

based on user defined threshold• If depth is dmax then we hit the surface • Else increment depth and reduce the stepsize by

half• Back recursion helps in visiting other unvisited

nodes in the tree. In the worst case it can lead to visiting all the nodes of the tree.

Page 12: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Related Work (Searching)LG Implicit Surfaces [ Kalra and Barr, Siggraph ’89]• Lipschitz constants (L,G) for ray tracing implicits. L is equal to

maximum rate of change of f(x) over R. G is equal to maximum rate of change of g(t).

• Compute Bounding Box (B) divide it into sub-bounding boxes (b) Compute L for b If |f(x0)| > Ld reject b

else continue recursive subdivision.• For each ray compute bounding box extents t1,t2 and midpoint tm If |g(tm)| > Gd If F(t1) and F(t2) are of opposite signs then find the root using

Newton’s method. Else there is no intersection in t1,t2 Else if |g(tm)| < Gd Call the function recursively on intervals [t1,tm] and [tm,t2]

Page 13: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Related Work (Searching)

Sphere Tracing [Hart, Visual Computer ’96] • Compute

while t < D d = f(r(t)) ( Geometric Distance) If d < epsilon then return t t = t + d where Geometric Distance = Signed Distance/

Lipschitz Constant (L)

Page 14: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

• Roots are computed in power basis

• Limitations:– Not available for polynomials of order > 4!– Difficult for non-algebraic equations

Must use iterative methods

for others

Analytical (closed-form) Roots( Our Work)

Page 15: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Analytical Root Finding

Cubic Roots Equation (Homogenous Form) : Ax3+3Bx2w+3Cxw2+Dw3 = 0

• Compute: δ1= AC-B2 , δ2 = AD-BC, δ3=BD-C2 , δ (discriminant) = 4 δ1 δ3- δ2

2

• The sign of the discriminant and the values of δis determine if it has one triple root, one double and a single real root, three distinct real roots or one real root and one complex conjugate pair as roots.

Page 16: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Analytical Root FindingQuartic Roots• The equation is first depressed by removing the

cubic term t4+pt2+qt+r = 0• If r is zero then the roots are the roots of cubic

equation and zero.• If r is non zero then rewrite as (t2+p)2+qt+r =

pt2+p2 This is followed by a substitution y s.t. RHS becomes a perfect square (t2+p+y)2 = (p+2y)t2-qt+(y2+2yp+p2-r) Now, for RHS to be a perfect square its discriminant must be zero which yields a cubic equation in y. Now resubstitute to get two quadratic equations.

Page 17: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Interval Arithmetic

Two Intervals a = [x, y] and b = [z, w]

• Addition a + b = [x + z, y + w]

• Subtraction a – b = [x – w, y – z]

• Multiplication a * b = [min(xz,xw,yz,yw),

max(xz,xw,yz,yw)]

• Division a/b = a * (1/b) = a* [ 1/w,1/z]

Page 18: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Mitchell’s Interval-Based Method

• Initialize interval to [ta, tb] = [tnear, tfar] • Compute interval extension of function f ([ta, tb])

and it’s derivative ft ([ta, tb]) • If f ([ta, tb] contains 0, root exists in it.

– If ft ([ta, tb]) contains zero, multiple roots.• Divide into [ta, tm] and [tm, tb] around the midpoint• Recurse into right half only if left has no root.

– Else, single root. Proceed to root finding

• Continue till tb - ta < Mitchell, Graphics Interface 90

Page 19: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Interval Extensions• Natural: Uses end-points only.

f ([ta, tb]) = [min(f(ta), f(tb)), max(f(ta), f(tb))]

• Centered:

f ([ta, tb]) = f (tm) + ft ([ta,tb]) * [ta - tm, tb - tm]

• Exact: Use critical points ta < t1 < t2 < … < tb of f()

f ([ta, tb]) = [min(f(ta), f(t1), f(t2) …, f (tb)), max (f(ta), f(t1), f(t2) …, f(tb))]

Page 20: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Mitchell’s Method: Discussion

• Advantages: – Robust, based on interval arithmetic– Fast as the order is logarithmic due to bisections

• Disadvantages: – Good interval extension needed

• Not obvious for general functions• Not easy even for polynomials

– Difficult on SIMD/GPU• Calculations in f(t), derivatives needed• Interval extension used is exact

Page 21: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Two-Step Root Finding

• Bracketing the root– Find a (small) bracket/interval that

contains the first positive root.– Between tnear and tfar

• Find the root in the interval– Newton bisections

• Always converges, no “special” situations• Best for GPU/SIMD as uniform calculations

Page 22: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Marching Points (Sign Test)

• Divide the parameter domain into equal width intervals from tnear till tfar

• Compute the function value at endpoints of these intervals. Return the interval with the first sign change.

Page 23: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Marching Points (Taylor Test)• Divide the parameter domain into equal width intervals from tnear till tfar

• Compute the values p, q, r and s for an interval and the interval checked for sign change is [min(p,q,r,s), max(p,q,r,s)]

Page 24: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

S(x, y, z) versus f(t)

• S(x, y, z) is the given form.– Relatively simple with dozen or so terms– For a given t, evaluate (x, y, z) and S(.).– Good for GPU; compose shader on the fly

• f(t) is different for each ray/pixel.– Evaluates to a large number of terms– About 1500 terms for a 10th order polynomial– Not suitable for GPU/SIMD

Page 25: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Results: Implicit Surfaces(Marching Points)

Page 26: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Marching Points: Discussions

• Advantages:– Easy Implementation

– Suited for SIMD, fast on current GPUs

– No need for derivative or coefficient computation

• Disadvantages:– Linear in number of intervals as all may be evaluated

– Sign Test Not robust. Multiple and close roots are problems

– No structured way to decide interval size.

Page 27: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Adaptive Marching Points

• Algebraic distance is used as a measure for searching the root

• Step-size depends on algebraic distance (S(p(t)) and silhouettes (F’(t))

Page 28: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Adaptive Marching Points

• Silhouette Adaptation

Page 29: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Self Shadowing

• Shoot a secondary (shadow) ray towards the light source from intersection point.

• If this ray intersects the surface in between then the point is in shadow.

• Only need to bracket the root; no need to find the root.

Page 30: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Shadowing of Surfaces

Page 31: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Dynamic Implicit Surfaces

• Implicit Surfaces whose equation varies with time.

Blobby Molecules and Twisted Superquadric

Page 32: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Analytic Roots

1200Torus Surface

1100Tooth Surface

Surface Name FPS for 512x512

Sphere Quadric 5821

Cylinder Quadric 4358

Cayley Cubic 3750

Ding Dong Cubic 3400

Steiner Surface 1400

500Steiner Surface

1200Cylinder Quadric

FPS for 512x512

( Loop and Blinn)

Surface Name

Page 33: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Mitchell’s Interval Method

96518Ding dong [3]

58027Cayley [3]

19550Tooth[4]

18652 Miter [4]

19552CrossCap[4]

17053Cushion [4]

8560 Peninsula [5]

7765Kiss [5]

6086Dervish [5]

FPSIterations Surface [Order]

Page 34: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Marching Points: Results

125105150Superquadric

306260250Diamond Surface

315200250Scherk’s Surface

305160 250 Blobby Surface

43041050Torus [4]

44737085Peninsula [5]

275285300Dervish [5]

260265120Heart [6]

310300125Barth[6]

225230400Hunt [6]

290285400Kleine[6]

195185250Chmutov [8]

179140300Endreass [8]

10592300Barth [10]

5360300Sarti[12]

4855400Chmutov[14]

3885400Chmutov [18]

FPS (Taylor Test)FPS (Sign Test)IterationsSurface [Order]

Page 35: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Adaptive Marching Points: Results

155185100Superquadric

330360100Diamond Surface

322358100Scherk’s Surface

30032950Blobby Surface

52555524Torus [4]

43551235Peninsula [5]

28028545Dervish [5]

32042048Heart[6]

31032560Barth[6]

32524084Hunt [6]

38543548Kleine[6]

21621564Chmutov [8]

20819096Endreass [8]

115150100Barth [10]

7586100Sarti[12]

95125100Chmutov[14]

6098100Chmutov [18]

FPS (Taylor Test)FPS (Sign Test)IterationsSurface [Order]

Page 36: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Result : ShadowsAMP (Taylor Test)AMP (Sign Test)

155

330

300

542

435

280

310

325

310

208

115

75

95

60

Without Shadows

145

208

265

425

325

250

182

280

165

140

110

78

95

70

With ShadowsSurface

[Order]Without

ShadowsWith Shadows

Chmutov [18] 98 45

Chmutov [14] 125 75

Sarti [12] 86 49

Barth [10] 150 79

Endreass[8] 190 140

Labs[7] 232 155

Chmutov[6] 418 235

Hunt[6] 240 155

Dervish[5] 285 175

Kiss[5] 428 265

Tooth[4] 617 287

Blobby 329 195

Diamond 360 199

Superquadric 185 105

Page 37: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Comparison with Knoll’s Affine Arithmetic

9416Barth Decic

17660Mitchell

170101Kleine

12088Barth Sextic

19671Tangle

178121Teardrop

21238Steiner

FPS (AMP Sign)

FPS (Knoll’s ANE)Surface

Page 38: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Results: Robustness

Top row: Steiner Surface Bottom row: Cross Cap Surface(Sign Change, Taylor and Interval)

Page 39: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Limitations

Chmutov 20 and 30 (Exterior, Interior)• Numerical precision is a issue large number of roots are present in the exterior of Chmutov Surface [0.99,1.0]

• Taylor test produces false roots for extreme self intersections (Cushion and Piriform)

Page 40: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

What do we need on the GPU?

• Number format:– Exact implementation of IEEE 754– (Limited) Double precision support

• Beam-Tracing:– Transfer roots from one pixel to neighbour

• Recursive ray-tracing– Fixed stack on GPU

Page 41: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Video

Page 42: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Conclusions

• MP and AMP methods are widely applicable in terms of Implicit Surfaces and are also SIMD amenable as cost per root finding is low

• Analytical Method has limited applicability However it is SIMD amenable• Mitchell’s method has limited applicability

and is not SIMD amenable.

Page 43: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Thesis PublicationsRelated Publications• GPU Objects

Sunil Mohan Ranta , Jag Mohan Singh and P.J. Narayanan Proc. Fifth Indian Conference on Computer Vision, Graphics and Image Processing (ICVGIP), LNCS Volume 4338, Pages 352-363, 2006, Madurai, India

• Real time Ray tracing of Implicit Surfaces on the GPU

Jag Mohan Singh and P. J. Narayanan

IEEE Transactions on Visualization and Computer Graphics, 2008 (Under Revision)

Other Publications• Progressive Decomposition of Point Clouds without Local Planes

Jag Mohan Singh and P. J. Narayanan LNCS Volume 4338, Pages 364-375, Proc. of Indian Conference on Computer Vision, Graphics and Image Processing (ICVGIP), 2006

• Point Based Representations for Hierarchical EnvironmentsKedarnath Thangudu , Lakshmi Gade,Jag Mohan Singh, and P J Narayanan. Pages 574-578, IEEE Computer Society Press, Proc. of International Conference on Computing: Theory and Applications(ICCTA),2007

Page 44: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Thank you!

Page 45: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

CPU and GPU versions

2.1132.1132.1132.113CPU Mitchell

0.71960.73100.79390.8124CPU Point Sampling

1662.01662.01662.01665.0GPU Mitchell

7207909221000GPU Point Sampling

z = 5z = 4 z = 1z = 0Position of Sphere

1.1081.1081.1081.109CPU Mitchell

0.6560.6640.72580.7626CPU Point Sampling

952.2952.2953.4955.4GPU Mitchell

367.5447.5724.7825.3GPU Point Sampling

z = 5z = 4 z = 1z = 0Position of Cubic

Sphere

(Quadratic)

Ding Dong

(Cubic)

Torus

(Quartic)

0.1850.1850.1850.186CPU Mitchell

0.17590.17910.20740.2202CPU Point Sampling

379.23379.23380.16381.06GPU Mitchell

230.06273.50383.77410.96GPU Point Sampling

z = 5z = 4 z = 1z = 0Position of Torus

Frame Rates for 512x512

Page 46: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Discussion CPU vs GPU

• SIMD amenable AMP method GPU is able to achieve higher speedups than for Mitchell’s method.

• Interval method is faster for lower order surfaces than AMP. This advantage is nullified for higher order surfaces.

Page 47: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Results: Some More …

Page 48: IIIT Hyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad.

IIIT

Hyd

erab

ad

Results: More Alg Surfaces


Recommended