Hardware-accelerated Point-based Rendering of Surfaces and Volumes Eduardo Tejada, Tobias...

download Hardware-accelerated Point-based Rendering of Surfaces and Volumes Eduardo Tejada, Tobias Schafhitzel, Thomas Ertl Universität Stuttgart, Germany.

If you can't read please download the document

Transcript of Hardware-accelerated Point-based Rendering of Surfaces and Volumes Eduardo Tejada, Tobias...

  • Slide 1

Hardware-accelerated Point-based Rendering of Surfaces and Volumes Eduardo Tejada, Tobias Schafhitzel, Thomas Ertl Universitt Stuttgart, Germany Slide 2 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes2 Motivation Point-bases Surfaces No explicit connectivity or topology information. Easy manipulation (modeling). Easy serializability. Compact storing. Point Set Surfaces (Alexa et al., 2003). Smooth surfaces. Low-frequency noise handling. User-defined minimum feature size. Slide 3 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes3 Motivation Graphics hardware new capabilities. Shader Model 3: Dynamic flow control. Floating-point textures (also as RT). Numerical algorithms on the GPU. Ray-tracing PSS slow on the CPU: on the GPU? Slide 4 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes4 Point-based Rendering Slide 5 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes5 Point-based Rendering Slide 6 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes6 Point-based Rendering Slide 7 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes7 Our Method - Idea Normal vectors: covariance analysis Slide 8 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes8 Our Method - Idea Polynomial approximation: MLS. Slide 9 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes9 Our Method - Idea Slide 10 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes10 Our Method - Idea Slide 11 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes11 Our Method - Idea Slide 12 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes12 Our Method - Textures Texture positions Slide 13 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes13 Our Method - Textures Texture positions Texture neighbors Slide 14 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes14 Our Method Pre-processing (Render Pass) Texture positions Texture neighbors Texture base_a Texture base_b Texture base_c Texture polynomial Render a single quad of size equal to texture positions For each fragment 1.Calculate texture coordinates 2.Access positions and neighbors 3.Estimate normal (n) with covariance analysis 4.Create local system {a, b, c}, where c = n 5.Transform neighbors positions to local system 6.Calculate local approximation g i (A, B, C, D) Slide 15 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes15 Our Method Rendering (First Render Pass) Texture base_a Texture base_b Texture base_c Texture polynomial Slide 16 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes16 Our Method Rendering (First Render Pass) Texture base_a Texture base_b Texture base_c Texture polynomial Texture normal Texture intersection Render a viewport aligned disc for each p i For each fragment of point p i 1. Fetch texture coordinates 2. Fetch the base {a i, b i, c i } and polynomial g i 3. Transform the ray to the base {a i, b i, c i } 4. Find intersection of the ray with g i 5. Calculate the normal (derivative of g i ) 6. Write intersection, normal and depth Slide 17 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes17 Results First Intersection 28 fps20 fps Slide 18 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes18 Our Method Introducing Refraction Slide 19 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes19 Our Method Introducing Refraction Slide 20 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes20 Our Method Introducing Refraction Slide 21 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes21 Our Method Introducing Refraction Slide 22 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes22 Our Method Introducing Refraction Slide 23 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes23 Our Method Introducing Refraction Slide 24 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes24 Our Method Introducing Refraction Slide 25 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes25 Our Method Introducing Refraction Slide 26 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes26 Our Method Introducing Refraction Slide 27 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes27 Our Method Buckets Slide 28 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes28 Our Method Buckets Texture pointers Texture buckets Texture positions Texture neighbors Slide 29 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes29 Our Method Rendering (Iterative Render Pass) Texture base_a Texture base_b Texture base_c Texture polynomial Texture buckets Texture pointers Texture current_direction Texture current_ position Texture current_ cell Texture accumulated_color Render a single quad covering the viewport For each fragment 1. Fetch the points in the cell. 3. Find the nearest intersection 4. If an intersection is found 4.1 Update position, direction and color 5. Otherwise determine next cell. Slide 30 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes30 Results Shadows 10 fps Slide 31 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes31 Results Refraction 1.33 fps2.16 fps Slide 32 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes32 Results Multiple Indices of Refraction 0.25 fps0.22 fps Slide 33 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes33 Our Method Introducing Volumetric Effects Slide 34 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes34 Results Volumetric Effects 1.08 fps0.96 fps Slide 35 Eduardo Tejada - Hardware-accelerated point-based rendering of surfaces and volumes35 Conclusion We do not use specialized HW (e.g. Wald and Seidel). Neighbors search on the GPU not solved. Kd-trees better than grid for ray-intersection, but for neighbors search? Future: full PSS computation. Slide 36 Questions?