Abstract
Constructive Solid Geometry models solids as boolean combinations of base primitives. It is one of the classical modeling approaches in Computer Graphics. With the advent of 3D printing, it has received a renewed interest: CSG affords for the robust definition of solids, and fits well with parametric modeling, affording for easy customization of existing designs.
However, the interactive display and manipulation of CSG models is challenging: Ideally, CSG has to be performed between a variety of solid representations (meshes, implicit solids, voxels) and the renderer has to provide immediate feedback during parameter exploration. The end result has to be prepared for fabrication, which involves robustly extracting cross-sections of the model.
In this work we propose a novel screen space technique for the rendering, interactive modeling and direct fabrication of parametric CSG models. It builds upon spatial hashing techniques to efficiently evaluate CSG expressions, checking whether each interval along a view ray is solid in constant time, using constant local shader memory. In addition, the scene is rendered progressively, from front to back, bounding memory usage. We describe how the hash encoding the CSG is constructed on the fly during visualization, and analyze performance on a variety of 3d models.
- Dan A. Alcantara, Andrei Sharf, Fatemeh Abbasinejad, Shubhabrata Sengupta, Michael Mitzenmacher, John D. Owens, and Nina Amenta. 2009. Real-Time Parallel Hashing on the GPU. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH Asia 2009) 28, 5 (2009). Google Scholar
Digital Library
- Hichem Barki, Gael Guennebaud, and Sebti Foufou. 2015. Exact, robust, and efficient regularized Booleans on general 3D meshes. Computers 8 Mathematics with Applications 70, 6 (2015), 1235--1254. Google Scholar
Digital Library
- I. Dolenc, A.and Mäkelä. 1994. Slicing procedures for layered manufacturing techniques. Computer-Aided Design 26, 2 (1994), 119--126.Google Scholar
Cross Ref
- Matthijs Douze, Jean-Sébastien Franco, and Bruno Raffin. 2015. QuickCSG: Arbitrary and Faster Boolean Combinations of N Solids. Research Report RR-8687. Inria--Research Centre Grenoble -- Rhône-Alpes; INRIA. https://hal.inria.fr/hal-01121419Google Scholar
- Elmar Eisemann and Xavier Décoret. 2008. Single-pass GPU Solid Voxelization for Real-time Applications. In Proceedings of Graphics Interface 2008 (GI '08). Canadian Information Processing Society, Toronto, Ont., Canada, Canada, 73--80. http://dl.acm.org/citation.cfm?id=1375714.1375728 Google Scholar
Digital Library
- Fansen F. Epstein D. and Rossignac J. 1989. Z-Buffer Rendering from CSG: The Trickle Algorithm. Research Report RC 15182. IBM.Google Scholar
- F. R. Feito, C. J. Ogayar, R. J. Segura, and M. L. Rivero. 2013. Fast and Accurate Evaluation of Regularized Boolean Operations on Triangulated Solids. Computer Aided Design 45, 3 (March 2013), 705--716. Google Scholar
Digital Library
- Ismael García, Sylvain Lefebvre, Samuel Hornus, and Anass Lasram. 2011. Coherent Parallel Hashing. ACM Transactions on Graphics 30, 6 (Dec. 2011). https://hal.inria.fr/inria-00624777 Google Scholar
Digital Library
- Andrew S. Glassner (Ed.). 1989. An Introduction to Ray Tracing. Academic Press Ltd., London, UK, UK. Google Scholar
Digital Library
- A. S. Glassner, J. Arvo, R. L. Cook, E. Haines, P. Hanrahan, P. Heckbert, and D. B. Kirk. 1989. Introduction to Ray Tracing. Academic Press. Google Scholar
Digital Library
- Jack Goldfeather, Steven Monar, Greg Turk, and Henry Fuchs. 1989. Near Real-Time CSG Rendering Using Tree Normalization and Geometric Pruning. IEEE Comput. Graph. Appl. 9, 3 (May 1989), 20--28. Google Scholar
Digital Library
- John Hable and Jarek Rossignac. 2005. Blister: GPU-based Rendering of Boolean Combinations of Free-form Triangulated Shapes. ACM Trans. Graph. 24, 3 (July 2005), 1024--1031. Google Scholar
Digital Library
- Tim Van Hook. 1986. Real-Time Shaded NC Milling Display. In Proceedings of SIGGRAPH. 15--20. Google Scholar
Digital Library
- D. Kalra and A. H. Barr. 1989. Guaranteed Ray Intersections with Implicit Surfaces. SIGGRAPH Comput. Graph. 23, 3 (July 1989), 297--306. Google Scholar
Digital Library
- A. Kensler. 2006. Ray tracing CSG objects using single hit intersections. (2006). http://xrt.wdfiles.com/local--files/doc%3Acsg/CSG.pdfGoogle Scholar
- Sylvain Lefebvre. 2013. IceSL: A GPU Accelerated CSG Modeler and Slicer. In AEFA'13, 18th European Forum on Additive Manufacturing. Paris, France. https://inriav3-preprod.archives-ouvertes.fr/hal-00926861Google Scholar
- Sylvain Lefebvre, Samuel Hornus, and Anass Lasram. 2014. Per-Pixel Lists for Single Pass A-Buffer. In GPU Pro 5: Advanced Rendering Techniques, Wolfgang Engel (Ed.). A K Peter / CRC Press. https://hal.inria.fr/hal-01093158Google Scholar
- Makerbot. 2013. Customizer. (2013). https://www.thingiverse.com/customizerGoogle Scholar
- M. Maule, J.L.D. Comba, R. Torchelsen, and R. Bastos. 2012. Memory-Efficient Order-Independent Transparency with Dynamic Fragment Buffer. In Proc. 25th Conference on Graphics, Patterns and Images (SIBGRAPI). IEEE, 134--141. Google Scholar
Digital Library
- Marilena Maule, João Luiz Dihl Comba Rafael P. Torchelsen, and Rui Bastos. 2011. A survey of raster-based transparency techniques. Computers 8 Graphics 35, 6 (2011), 1023--1034. Google Scholar
Digital Library
- Timothy S. Newman and Hong Yi. 2006. A survey of the marching cubes algorithm. Computers 8 Graphics 30, 5 (2006), 854--879.Google Scholar
- C.J. Ogayar-Anguita, A.L. GarcÃŋa-Fernandez, F.R. Feito-Higueruela, and R.J. Segura-Sanchez. 2015. Deferred boundary evaluation of complex CSG models. Advances in Engineering Software 85 (2015), 51--60. Google Scholar
Digital Library
- Arash Partow. 2012. Exprtk. (2012). http://partow.net/programming/exprtk/Google Scholar
- Alexander Pasko, Oleg Fryazinov, Turlif Vilbrandt, Pierre-Alain Fayolle, and Valery Adzhiev. 2011. Procedural Function-Based Modelling of Volumetric Microstructures. Graphical Models 73, 5 (2011), 165--181. Google Scholar
Digital Library
- A. Ricci. 1973. A constructive geometry for computer graphics. Comput. J. 16, 2 (1973), 157--160.Google Scholar
Cross Ref
- Fabiano Romeiro, Luiz Velho, and Luiz Henrique de Figueiredo. 2008. Scalable GPU rendering of CSG models. Computers 8 Graphics 32, 5 (2008), 526--539. Google Scholar
Digital Library
- Jarek Rossignac. 2011. Ordered Boolean List (OBL): Reducing the Footprint for Evaluating Boolean Expressions. IEEE Transactions on Visualization and Computer Graphics 17, 9 (Sept. 2011), 1337--1351. Google Scholar
Digital Library
- Jarek R. Rossignac. 1998. Blist: A Boolean list formulation of CSG trees. (1998).Google Scholar
- Shane Ryoo, Christopher I. Rodrigues, Sara S. Baghsorkhi, Sam S. Stone, David B. Kirk, and Wen-mei W. Hwu. 2008. Optimization Principles and Application Performance Evaluation of a Multithreaded GPU Using CUDA. In Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP '08). ACM, 73--82. Google Scholar
Digital Library
- Ryan Schmidt and Tyson Brochu. 2016. Adaptive Mesh Booleans. In Whitepaper arXiv.org.Google Scholar
- Maria Shugrina, Ariel Shamir, and Wojciech Matusik. 2015. Fab Forms: Customizable Objects for Fabrication with Validity and Geometry Caching. ACM Transactions on Graphics 34, 4 (2015). Google Scholar
Digital Library
- Nigel Stewart, Geoff Leach, and Sabu John. 1998. An Improved Z-buffer CSG Rendering Algorithm. In Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Workshop on Graphics Hardware (HWWS '98). ACM, New York, NY, USA, 25--30. Google Scholar
Digital Library
- Nicolas Thibieroz. 2011. Order-Independent Transparency using Per-Pixel Linked Lists. In GPU Pro 2, Wolfgang Engel (Ed.). A K Peters, 409--431.Google Scholar
- D. Ulyanov, D. Bogolepov, and V. Turlapov. 2017. Interactive vizualization of constructive solid geometry scenes on graphic processors. Programming and Computer Software 43, 4 (01 Jul 2017), 258--267. Google Scholar
Digital Library
- A. A. Vasilakis, G. Papaioannou, and I. Fudos. 2015. k+ -buffer: An Efficient, Memory-Friendly and Dynamic k -buffer Framework. IEEE Transactions on Visualization and Computer Graphics 21, 6 (June 2015), 688--700.Google Scholar
Cross Ref
- Kiril Vidimče, Szu-Po Wang, Jonathan Ragan-Kelley, and Wojciech Matusik. 2013. OpenFab: A Programmable Pipeline for Multi-Material Fabrication. ACM Trans. Graph. 32, 4 (2013), 1. Google Scholar
Digital Library
- Charlie C.L. Wang. 2011. Approximate Boolean Operations on Large Polyhedral Solids with Partial Mesh Reconstruction. IEEE Transactions on Visualization and Computer Graphics 17, 6 (2011), 836--849. Google Scholar
Digital Library
- Amy Williams, Steve Barrus, R. Keith Morley, and Peter Shirley. 2005. An Efficient and Robust Ray-box Intersection Algorithm. In ACM SIGGRAPH 2005 Courses (SIGGRAPH '05). ACM, New York, NY, USA, Article 9. Google Scholar
Digital Library
- Brian Wyvill, Andrew Guy, and Eric Galin. 1999. Extending the CSG Tree. Warping, Blending and Boolean Operations in an Implicit Surface Modeling System. Computer Graphics Forum 18, 2 (1999), 149--158.Google Scholar
Cross Ref
- Qingnan Zhou, Eitan Grinspun, Denis Zorin, and Alec Jacobson. 2016. Mesh Arrangements for Solid Geometry. ACM Trans. Graph. 35, 4, Article 39 (July 2016), 15 pages. Google Scholar
Digital Library
Index Terms
HCSG: Hashing for real-time CSG modeling
Recommendations
Direct rendering of Boolean combinations of self-trimmed surfaces
We explore different semantics for the solid defined by a self-crossing surface (immersed sub-manifold). Specifically, we introduce rules for the interior/exterior classification of the connected components of the complement of a self-crossing surface ...
Multi-fragment effects on the GPU using the k-buffer
I3D '07: Proceedings of the 2007 symposium on Interactive 3D graphics and gamesMany interactive rendering algorithms require operations on multiple fragments (i.e., ray intersections) at the same pixel location: however, current Graphics Processing Units (GPUs) capture only a single fragment per pixel. Example effects include ...






Comments