240 likes | 367 Views
C ONSERVATIVE V OXELIZATION. Long Zhang 1 , Wei Chen 1 , David Ebert 2 , Qunsheng Peng 1 1 State Key Lab of CAD&CG, Zhejiang University, Hangzhou, China 2 School of Electrical and Computer Engineering, Purdue University. Introduction & Previous Work. The Main Idea.
E N D
CONSERVATIVE VOXELIZATION Long Zhang1, Wei Chen1, David Ebert2, Qunsheng Peng1 1 State Key Lab of CAD&CG, Zhejiang University, Hangzhou, China 2 School of Electrical and Computer Engineering, Purdue University
Introduction & Previous Work The Main Idea Algorithm & Implementation Experimental Results Conclusions & Future Work Contents 2 / 24
Introduction & Previous Work The Main Idea Algorithm & Implementation Experimental Results Conclusions & Future Work Contents 3 / 24
Voxelization • Rasterization – 2D scan-conversion • Voxelization – 3D scan-conversion rasterization Geometry primitive pixels voxelization Surface model voxels 4 / 24
Voxel-ization volumetric modelling haptic rendering collision detection 3D spatial analysis physically-based simulation virtual medicine Applications 5 / 24
The basic idea • Use the rasterization functionality (2D scan-conversion) of graphics hardware to accelerate voxel-ization (3D scan-conversion) • Major advantage • Efficient Hardware-accelerated Voxelization 6 / 24
What’s Conservative? standard rasterization conservative rasterization 7 / 24
Why Is It Important? • Example: collision detection with standard rasterization conservative rasterization no collision 4 colliding pixels detected 8 / 24
Introduction & Previous Work The Main Idea Algorithm & Implementation Experimental Results Conclusions & Future Work Contents 9 / 24
The Main Idea • Illustration in 2D Previous approaches Conservative voxelization The viewing volume A triangle to be voxelized The resulting voxels rasterization The viewing plane • Use the depth value of the pixel center • Generate a single voxel for each pixel • Compute the depth range in each pixel • Generate multiple voxels for each pixel pixels Orthogonal projection 10 / 24
Introduction & Previous Work The Main Idea Algorithm & Implementation Experimental Results Conclusions & Future Work Contents 11 / 24
Computing the Depth Range Full covered pixels Partially covered pixels • Compute the pixel/triangle intersection • Compute the depth range in the intersection region 12 / 24
The Pixel/Triangle Intersection • A convex polygon • The minimal/maximal depth value lies on one of its vertices • The idea • Compute the depth values at all vertices • Compare the depth values to get the depth range • Compute the intersection of two edges of the triangle and the pixel • The depth value can be easily calculated; • Is the condition satisfied? • The depth value is known; • Is the condition satisfied? (easy to know) 13 / 24
The Algorithm • Compute the minimal depth for each pixel • Compute the maximal depth in the same way Let be the vertex of the pixel with the minimal depth value If is inside the triangle No Yes Text Text • None of the pixel vertices has the minimal depth • Compute the intersection points of triangle/pixel edges • Test if any triangle vertices are in the pixel = Text Text The computation is fast Compute the barycentric coordinate The computation is slow 14 / 24
Robustness Issues • Handling special cases • The result is conservative Intersection of nearly parallel lines Replace QT with QR Degenerate edges Replace QR with Pj Degenerate triangles Replace v1with Q’L 15 / 24
Introduction & Previous Work The Main Idea Algorithm & Implementation Experimental Results Conclusions & Future Work Contents 16 / 24
ConservativeVoxelization • Theoretically • Accuracy: • A voxel is generated if and only if it intersects with the input model • In practice • Slightly over-conservative: • All voxels intersecting the input model are generated • A few voxels not intersecting the input model are also generated Accuracy Analysis 17 / 24
Efficient for high resolution voxlization • Not very efficient for large model size • Analysis • – the major cost lies in computing the depth range for each pixel • – the cost is much lower for inner pixels than for boundary pixels • – most of the pixels are inner pixels when the resolution is high Timing Statistics voxelization timings in ms. Performance comparison between Dong’s and our method 18 / 24
Application to Collision Detection • Basic idea • Voxelize two models with a common bounding box • Compare the resulting volumes • Evaluation • Accuracy • High resolution supported • Classfication – colliding voxels represent potentially colliding reg-ions, and noncolliding voxels rep-resent non-colliding regions • Efficiency • Computation completely in GPU • Need to traverse eachmodel once • Support deforming models Collision detection between the buddha model and a morphing hand model. The collision detection is accomplished in approximately 114 ms. 19 / 24
Demo 20 / 24
Introduction & Previous Work The Main Idea Algorithm & Implementation Experimental Results Conclusions & Future Work Contents 21 / 24
1 2 3 The idea We propose the idea of conservative vox-lization. • Algorithm • Fully implemented in the GPU • Conservative • Efficient • Low memory cons-umption • Suitable for def-ormable models Application We demonstrate the application of our algorithm in collision detection of complex models. Conclusions • Technical contributions 22 / 24
Future Work • More efficient algorithm • Using lookup tables • Need new functionalities of graphics hardware • More applications • Solid voxelization 23 / 24
Thank You ! lzhang@cad.zju.edu.cn