SlideShare uma empresa Scribd logo
1 de 48
Baixar para ler offline
IIITHyderabad
Real Time Ray-Tracing Implicit
Surfaces on the GPU
Jag Mohan Singh
IIIT, Hyderabad
IIITHyderabad
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
IIITHyderabad
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
IIITHyderabad
Traditional Methods of Rendering
• Rasterization
• Ray Tracing
IIITHyderabad
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
IIITHyderabad
Ray-Tracing Implicit Surfaces
Can express as: f(t) = 0
Desired: smallest +ve real root t0
Normal at t0 = (Sx, Sy, Sz) at (O + D t0)‫‏‬
S(x,y,z) = 0
Ray: P = O + t D
t0
IIITHyderabad
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
IIITHyderabad
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
IIITHyderabad
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
IIITHyderabad
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)
IIITHyderabad
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.
IIITHyderabad
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]
IIITHyderabad
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)
IIITHyderabad
• 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)
IIITHyderabad
Analytical Root Finding
Cubic Roots
Equation (Homogenous Form) :
Ax3
+3Bx2
w+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.
IIITHyderabad
Analytical Root Finding
Quartic 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.
IIITHyderabad
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]
IIITHyderabad
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
IIITHyderabad
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))]
IIITHyderabad
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
IIITHyderabad
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
IIITHyderabad
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.
IIITHyderabad
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)]
IIITHyderabad
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
IIITHyderabad
Results: Implicit Surfaces
(Marching Points)
IIITHyderabad
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.
IIITHyderabad
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))
IIITHyderabad
Adaptive Marching Points
• Silhouette Adaptation
IIITHyderabad
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.
IIITHyderabad
Shadowing of Surfaces
IIITHyderabad
Dynamic Implicit Surfaces
• Implicit Surfaces whose equation varies
with time.
Blobby Molecules and Twisted Superquadric
IIITHyderabad
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
IIITHyderabad
Mitchell’s Interval Method
96518Ding dong [3]
58027Cayley [3]
19550Tooth[4]
18652Miter [4]
19552CrossCap[4]
17053Cushion [4]
8560Peninsula [5]
7765Kiss [5]
6086Dervish [5]
FPSIterationsSurface [Order]
IIITHyderabad
Marching Points: Results
125105150Superquadric
306260250Diamond Surface
315200250Scherk’s Surface
305160250Blobby 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]
IIITHyderabad
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]
IIITHyderabad
Result : Shadows
AMP (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 Shadows
Surface
[Order]
Without
Shadows
With 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
IIITHyderabad
Comparison with Knoll’s Affine
Arithmetic
9416Barth Decic
17660Mitchell
170101Kleine
12088Barth Sextic
19671Tangle
178121Teardrop
21238Steiner
FPS (AMP Sign)FPS (Knoll’s ANE)Surface
IIITHyderabad
Results: Robustness
Top row: Steiner Surface
Bottom row: Cross Cap Surface
(Sign Change, Taylor and Interval)
IIITHyderabad
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)‫‏‬
IIITHyderabad
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
IIITHyderabad
Video
IIITHyderabad
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.
IIITHyderabad
Thesis Publications
Related 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 Environments
Kedarnath 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
IIITHyderabad
Thank you!
IIITHyderabad
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 = 4z = 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 = 4z = 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 = 4z = 1z = 0Position of Torus
Frame Rates for 512x512
IIITHyderabad
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.
IIITHyderabad
Results: Some More …
IIITHyderabad
Results: More Alg Surfaces

Mais conteúdo relacionado

Mais procurados

Graph Analytics - From the Whiteboard to Your Toolbox - Sam Lerma
Graph Analytics - From the Whiteboard to Your Toolbox - Sam LermaGraph Analytics - From the Whiteboard to Your Toolbox - Sam Lerma
Graph Analytics - From the Whiteboard to Your Toolbox - Sam LermaPyData
 
Spline interpolation numerical methods presentation
Spline interpolation numerical methods presentationSpline interpolation numerical methods presentation
Spline interpolation numerical methods presentationShohanur Nishad
 
Numerical Differentiations Solved examples
Numerical Differentiations Solved examplesNumerical Differentiations Solved examples
Numerical Differentiations Solved examplesDevelopedia
 
Dominating set of fixed size in degenerated graph
Dominating set of fixed size in degenerated graphDominating set of fixed size in degenerated graph
Dominating set of fixed size in degenerated graphAbner Chih Yi Huang
 
Review and evaluations of shortest path algorithms
Review and evaluations of shortest path algorithmsReview and evaluations of shortest path algorithms
Review and evaluations of shortest path algorithmsPawan Kumar Tiwari
 
Simulating Turing Machines Using Colored Petri Nets with Priority Transitions
Simulating Turing Machines Using Colored Petri Nets with Priority TransitionsSimulating Turing Machines Using Colored Petri Nets with Priority Transitions
Simulating Turing Machines Using Colored Petri Nets with Priority Transitionsidescitation
 
A Dimension Abstraction Approach to Vectorization in Matlab
A Dimension Abstraction Approach to Vectorization in MatlabA Dimension Abstraction Approach to Vectorization in Matlab
A Dimension Abstraction Approach to Vectorization in MatlabaiQUANT
 
Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)
Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)
Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)Mohanlal Sukhadia University (MLSU)
 
Minimal spanning tree class 15
Minimal spanning tree class 15Minimal spanning tree class 15
Minimal spanning tree class 15Kumar
 
Lec09- AI
Lec09- AILec09- AI
Lec09- AIdrmbalu
 
SIGNAL OPERATIONS
SIGNAL OPERATIONSSIGNAL OPERATIONS
SIGNAL OPERATIONSmihir jain
 
Meta-learning and the ELBO
Meta-learning and the ELBOMeta-learning and the ELBO
Meta-learning and the ELBOYoonho Lee
 
Calculus II - 27
Calculus II - 27Calculus II - 27
Calculus II - 27David Mao
 

Mais procurados (20)

Graph Analytics - From the Whiteboard to Your Toolbox - Sam Lerma
Graph Analytics - From the Whiteboard to Your Toolbox - Sam LermaGraph Analytics - From the Whiteboard to Your Toolbox - Sam Lerma
Graph Analytics - From the Whiteboard to Your Toolbox - Sam Lerma
 
Spline interpolation numerical methods presentation
Spline interpolation numerical methods presentationSpline interpolation numerical methods presentation
Spline interpolation numerical methods presentation
 
Jmestn42351212
Jmestn42351212Jmestn42351212
Jmestn42351212
 
TabuSearch FINAL
TabuSearch  FINALTabuSearch  FINAL
TabuSearch FINAL
 
Numerical Differentiations Solved examples
Numerical Differentiations Solved examplesNumerical Differentiations Solved examples
Numerical Differentiations Solved examples
 
5 csp
5 csp5 csp
5 csp
 
Dominating set of fixed size in degenerated graph
Dominating set of fixed size in degenerated graphDominating set of fixed size in degenerated graph
Dominating set of fixed size in degenerated graph
 
Digital signal processing
Digital signal processingDigital signal processing
Digital signal processing
 
Review and evaluations of shortest path algorithms
Review and evaluations of shortest path algorithmsReview and evaluations of shortest path algorithms
Review and evaluations of shortest path algorithms
 
Shortest Path Problem
Shortest Path ProblemShortest Path Problem
Shortest Path Problem
 
Simulating Turing Machines Using Colored Petri Nets with Priority Transitions
Simulating Turing Machines Using Colored Petri Nets with Priority TransitionsSimulating Turing Machines Using Colored Petri Nets with Priority Transitions
Simulating Turing Machines Using Colored Petri Nets with Priority Transitions
 
A Dimension Abstraction Approach to Vectorization in Matlab
A Dimension Abstraction Approach to Vectorization in MatlabA Dimension Abstraction Approach to Vectorization in Matlab
A Dimension Abstraction Approach to Vectorization in Matlab
 
Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)
Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)
Shortest path (Dijkistra's Algorithm) & Spanning Tree (Prim's Algorithm)
 
Line Detection
Line DetectionLine Detection
Line Detection
 
Minimal spanning tree class 15
Minimal spanning tree class 15Minimal spanning tree class 15
Minimal spanning tree class 15
 
Lec09- AI
Lec09- AILec09- AI
Lec09- AI
 
Chapter 23 aoa
Chapter 23 aoaChapter 23 aoa
Chapter 23 aoa
 
SIGNAL OPERATIONS
SIGNAL OPERATIONSSIGNAL OPERATIONS
SIGNAL OPERATIONS
 
Meta-learning and the ELBO
Meta-learning and the ELBOMeta-learning and the ELBO
Meta-learning and the ELBO
 
Calculus II - 27
Calculus II - 27Calculus II - 27
Calculus II - 27
 

Destaque (13)

Finalprez webversion-101012091602-phpapp02
Finalprez webversion-101012091602-phpapp02Finalprez webversion-101012091602-phpapp02
Finalprez webversion-101012091602-phpapp02
 
Ppt c 1
Ppt c 1Ppt c 1
Ppt c 1
 
10 slides
10 slides10 slides
10 slides
 
Teen
TeenTeen
Teen
 
Kievbrandingshortopt 101123142128-phpapp02
Kievbrandingshortopt 101123142128-phpapp02Kievbrandingshortopt 101123142128-phpapp02
Kievbrandingshortopt 101123142128-phpapp02
 
Payroll tables-1214838920274746-8
Payroll tables-1214838920274746-8Payroll tables-1214838920274746-8
Payroll tables-1214838920274746-8
 
10 slides
10 slides10 slides
10 slides
 
63demo dfa
63demo dfa63demo dfa
63demo dfa
 
63demo dfa
63demo dfa63demo dfa
63demo dfa
 
63demo dfa
63demo dfa63demo dfa
63demo dfa
 
Payroll tables-1214838920274746-8
Payroll tables-1214838920274746-8Payroll tables-1214838920274746-8
Payroll tables-1214838920274746-8
 
10 slides
10 slides10 slides
10 slides
 
Slideshare Power Point Sunumu
Slideshare Power Point SunumuSlideshare Power Point Sunumu
Slideshare Power Point Sunumu
 

Semelhante a Jagmohan presentation2008

Course-Notes__Advanced-DSP.pdf
Course-Notes__Advanced-DSP.pdfCourse-Notes__Advanced-DSP.pdf
Course-Notes__Advanced-DSP.pdfShreeDevi42
 
Advanced_DSP_J_G_Proakis.pdf
Advanced_DSP_J_G_Proakis.pdfAdvanced_DSP_J_G_Proakis.pdf
Advanced_DSP_J_G_Proakis.pdfHariPrasad314745
 
Bayesian Defect Signal Analysis for Nondestructive Evaluation of Materials
Bayesian Defect Signal Analysis for Nondestructive Evaluation of MaterialsBayesian Defect Signal Analysis for Nondestructive Evaluation of Materials
Bayesian Defect Signal Analysis for Nondestructive Evaluation of MaterialsAleksandar Dogandžić
 
Inductive Triple Graphs: A purely functional approach to represent RDF
Inductive Triple Graphs: A purely functional approach to represent RDFInductive Triple Graphs: A purely functional approach to represent RDF
Inductive Triple Graphs: A purely functional approach to represent RDFJose Emilio Labra Gayo
 
Tpr star tree
Tpr star treeTpr star tree
Tpr star treeWin Yu
 
Tree distance algorithm
Tree distance algorithmTree distance algorithm
Tree distance algorithmTrector Rancor
 
DS Unit-1.pptx very easy to understand..
DS Unit-1.pptx very easy to understand..DS Unit-1.pptx very easy to understand..
DS Unit-1.pptx very easy to understand..KarthikeyaLanka1
 
StringMatching-Rabikarp algorithmddd.pdf
StringMatching-Rabikarp algorithmddd.pdfStringMatching-Rabikarp algorithmddd.pdf
StringMatching-Rabikarp algorithmddd.pdfbhagabatijenadukura
 
Intermediate code generation in Compiler Design
Intermediate code generation in Compiler DesignIntermediate code generation in Compiler Design
Intermediate code generation in Compiler DesignKuppusamy P
 
Common fixed point theorems for random operators in hilbert space
Common fixed point theorems  for  random operators in hilbert spaceCommon fixed point theorems  for  random operators in hilbert space
Common fixed point theorems for random operators in hilbert spaceAlexander Decker
 
DBMS ArchitectureQuery ExecutorBuffer ManagerStora
DBMS ArchitectureQuery ExecutorBuffer ManagerStoraDBMS ArchitectureQuery ExecutorBuffer ManagerStora
DBMS ArchitectureQuery ExecutorBuffer ManagerStoraLinaCovington707
 
Andrew Goldberg. Highway Dimension and Provably Efficient Shortest Path Algor...
Andrew Goldberg. Highway Dimension and Provably Efficient Shortest Path Algor...Andrew Goldberg. Highway Dimension and Provably Efficient Shortest Path Algor...
Andrew Goldberg. Highway Dimension and Provably Efficient Shortest Path Algor...Computer Science Club
 
Two-Way MIMO Decode-and-Forward Relaying Systems with Tensor Space-Time Coding
Two-Way MIMO Decode-and-Forward Relaying Systems with Tensor Space-Time CodingTwo-Way MIMO Decode-and-Forward Relaying Systems with Tensor Space-Time Coding
Two-Way MIMO Decode-and-Forward Relaying Systems with Tensor Space-Time CodingWalter Freitas
 
Towards typesafe deep learning in scala
Towards typesafe deep learning in scalaTowards typesafe deep learning in scala
Towards typesafe deep learning in scalaTongfei Chen
 
time_complexity_list_02_04_2024_22_pages.pdf
time_complexity_list_02_04_2024_22_pages.pdftime_complexity_list_02_04_2024_22_pages.pdf
time_complexity_list_02_04_2024_22_pages.pdfSrinivasaReddyPolamR
 

Semelhante a Jagmohan presentation2008 (20)

Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlab
 
Course-Notes__Advanced-DSP.pdf
Course-Notes__Advanced-DSP.pdfCourse-Notes__Advanced-DSP.pdf
Course-Notes__Advanced-DSP.pdf
 
Advanced_DSP_J_G_Proakis.pdf
Advanced_DSP_J_G_Proakis.pdfAdvanced_DSP_J_G_Proakis.pdf
Advanced_DSP_J_G_Proakis.pdf
 
Bayesian Defect Signal Analysis for Nondestructive Evaluation of Materials
Bayesian Defect Signal Analysis for Nondestructive Evaluation of MaterialsBayesian Defect Signal Analysis for Nondestructive Evaluation of Materials
Bayesian Defect Signal Analysis for Nondestructive Evaluation of Materials
 
Inductive Triple Graphs: A purely functional approach to represent RDF
Inductive Triple Graphs: A purely functional approach to represent RDFInductive Triple Graphs: A purely functional approach to represent RDF
Inductive Triple Graphs: A purely functional approach to represent RDF
 
Tpr star tree
Tpr star treeTpr star tree
Tpr star tree
 
Representation image
Representation imageRepresentation image
Representation image
 
LSH
LSHLSH
LSH
 
Tree distance algorithm
Tree distance algorithmTree distance algorithm
Tree distance algorithm
 
DS Unit-1.pptx very easy to understand..
DS Unit-1.pptx very easy to understand..DS Unit-1.pptx very easy to understand..
DS Unit-1.pptx very easy to understand..
 
StringMatching-Rabikarp algorithmddd.pdf
StringMatching-Rabikarp algorithmddd.pdfStringMatching-Rabikarp algorithmddd.pdf
StringMatching-Rabikarp algorithmddd.pdf
 
Intermediate code generation in Compiler Design
Intermediate code generation in Compiler DesignIntermediate code generation in Compiler Design
Intermediate code generation in Compiler Design
 
Common fixed point theorems for random operators in hilbert space
Common fixed point theorems  for  random operators in hilbert spaceCommon fixed point theorems  for  random operators in hilbert space
Common fixed point theorems for random operators in hilbert space
 
DBMS ArchitectureQuery ExecutorBuffer ManagerStora
DBMS ArchitectureQuery ExecutorBuffer ManagerStoraDBMS ArchitectureQuery ExecutorBuffer ManagerStora
DBMS ArchitectureQuery ExecutorBuffer ManagerStora
 
Andrew Goldberg. Highway Dimension and Provably Efficient Shortest Path Algor...
Andrew Goldberg. Highway Dimension and Provably Efficient Shortest Path Algor...Andrew Goldberg. Highway Dimension and Provably Efficient Shortest Path Algor...
Andrew Goldberg. Highway Dimension and Provably Efficient Shortest Path Algor...
 
Smart Multitask Bregman Clustering
Smart Multitask Bregman ClusteringSmart Multitask Bregman Clustering
Smart Multitask Bregman Clustering
 
Two-Way MIMO Decode-and-Forward Relaying Systems with Tensor Space-Time Coding
Two-Way MIMO Decode-and-Forward Relaying Systems with Tensor Space-Time CodingTwo-Way MIMO Decode-and-Forward Relaying Systems with Tensor Space-Time Coding
Two-Way MIMO Decode-and-Forward Relaying Systems with Tensor Space-Time Coding
 
09Evaluation_Clustering.pdf
09Evaluation_Clustering.pdf09Evaluation_Clustering.pdf
09Evaluation_Clustering.pdf
 
Towards typesafe deep learning in scala
Towards typesafe deep learning in scalaTowards typesafe deep learning in scala
Towards typesafe deep learning in scala
 
time_complexity_list_02_04_2024_22_pages.pdf
time_complexity_list_02_04_2024_22_pages.pdftime_complexity_list_02_04_2024_22_pages.pdf
time_complexity_list_02_04_2024_22_pages.pdf
 

Mais de Jag Mohan Singh (20)

2d3d
2d3d2d3d
2d3d
 
10 slides
10 slides10 slides
10 slides
 
10 slides
10 slides10 slides
10 slides
 
10 slides
10 slides10 slides
10 slides
 
Keynote original
Keynote originalKeynote original
Keynote original
 
Keynote original hyperlink
Keynote original hyperlinkKeynote original hyperlink
Keynote original hyperlink
 
Keynote original hyperlink
Keynote original hyperlinkKeynote original hyperlink
Keynote original hyperlink
 
3dbody outline
3dbody outline3dbody outline
3dbody outline
 
10 slides
10 slides10 slides
10 slides
 
Payroll tables-1214838920274746-8
Payroll tables-1214838920274746-8Payroll tables-1214838920274746-8
Payroll tables-1214838920274746-8
 
Nister iccv2005tutorial
Nister iccv2005tutorialNister iccv2005tutorial
Nister iccv2005tutorial
 
Unfont
UnfontUnfont
Unfont
 
Fonts2
Fonts2Fonts2
Fonts2
 
Fonts
FontsFonts
Fonts
 
Updatedpdxcruslideshow vision-100818000958-phpapp01
Updatedpdxcruslideshow vision-100818000958-phpapp01Updatedpdxcruslideshow vision-100818000958-phpapp01
Updatedpdxcruslideshow vision-100818000958-phpapp01
 
Linkyes 101005122038-phpapp01
Linkyes 101005122038-phpapp01Linkyes 101005122038-phpapp01
Linkyes 101005122038-phpapp01
 
Ppt Print To Cutepdf Hyperlink
Ppt Print To Cutepdf HyperlinkPpt Print To Cutepdf Hyperlink
Ppt Print To Cutepdf Hyperlink
 
Pptx Print2cutepdf Hyperlink
Pptx Print2cutepdf HyperlinkPptx Print2cutepdf Hyperlink
Pptx Print2cutepdf Hyperlink
 
Pptx Hyperlink
Pptx HyperlinkPptx Hyperlink
Pptx Hyperlink
 
Open Office Print2cutepdf Hyperlink
Open Office Print2cutepdf HyperlinkOpen Office Print2cutepdf Hyperlink
Open Office Print2cutepdf Hyperlink
 

Último

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 

Último (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 

Jagmohan presentation2008

  • 1. IIITHyderabad Real Time Ray-Tracing Implicit Surfaces on the GPU Jag Mohan Singh IIIT, Hyderabad
  • 2. IIITHyderabad 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
  • 3. IIITHyderabad 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
  • 4. IIITHyderabad Traditional Methods of Rendering • Rasterization • Ray Tracing
  • 5. IIITHyderabad 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
  • 6. IIITHyderabad Ray-Tracing Implicit Surfaces Can express as: f(t) = 0 Desired: smallest +ve real root t0 Normal at t0 = (Sx, Sy, Sz) at (O + D t0)‫‏‬ S(x,y,z) = 0 Ray: P = O + t D t0
  • 7. IIITHyderabad 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
  • 8. IIITHyderabad 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
  • 9. IIITHyderabad 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
  • 10. IIITHyderabad 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)
  • 11. IIITHyderabad 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.
  • 12. IIITHyderabad 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]
  • 13. IIITHyderabad 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)
  • 14. IIITHyderabad • 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)
  • 15. IIITHyderabad Analytical Root Finding Cubic Roots Equation (Homogenous Form) : Ax3 +3Bx2 w+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.
  • 16. IIITHyderabad Analytical Root Finding Quartic 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.
  • 17. IIITHyderabad 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]
  • 18. IIITHyderabad 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
  • 19. IIITHyderabad 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))]
  • 20. IIITHyderabad 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
  • 21. IIITHyderabad 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
  • 22. IIITHyderabad 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.
  • 23. IIITHyderabad 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)]
  • 24. IIITHyderabad 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
  • 26. IIITHyderabad 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.
  • 27. IIITHyderabad 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))
  • 29. IIITHyderabad 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.
  • 31. IIITHyderabad Dynamic Implicit Surfaces • Implicit Surfaces whose equation varies with time. Blobby Molecules and Twisted Superquadric
  • 32. IIITHyderabad 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
  • 33. IIITHyderabad Mitchell’s Interval Method 96518Ding dong [3] 58027Cayley [3] 19550Tooth[4] 18652Miter [4] 19552CrossCap[4] 17053Cushion [4] 8560Peninsula [5] 7765Kiss [5] 6086Dervish [5] FPSIterationsSurface [Order]
  • 34. IIITHyderabad Marching Points: Results 125105150Superquadric 306260250Diamond Surface 315200250Scherk’s Surface 305160250Blobby 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]
  • 35. IIITHyderabad 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]
  • 36. IIITHyderabad Result : Shadows AMP (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 Shadows Surface [Order] Without Shadows With 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
  • 37. IIITHyderabad Comparison with Knoll’s Affine Arithmetic 9416Barth Decic 17660Mitchell 170101Kleine 12088Barth Sextic 19671Tangle 178121Teardrop 21238Steiner FPS (AMP Sign)FPS (Knoll’s ANE)Surface
  • 38. IIITHyderabad Results: Robustness Top row: Steiner Surface Bottom row: Cross Cap Surface (Sign Change, Taylor and Interval)
  • 39. IIITHyderabad 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)‫‏‬
  • 40. IIITHyderabad 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
  • 42. IIITHyderabad 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.
  • 43. IIITHyderabad Thesis Publications Related 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 Environments Kedarnath 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
  • 45. IIITHyderabad 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 = 4z = 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 = 4z = 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 = 4z = 1z = 0Position of Torus Frame Rates for 512x512
  • 46. IIITHyderabad 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.