Abstract
A ray-tracing algorithm for interactive visualization of very large and structurally complicated scenes presented in the constructive solid geometry (CSG) form is suggested. The algorithm is capable of visualizing such scenes in real time by using a graphic processor. As primitives, classical shapes and objects represented in an analytical form (in particular, second-order surfaces and implicit functions) are used. Unlike other similar algorithms, our algorithm produces the final image in a single pass and has no constraints on the maximum number of primitives and on the CSG tree depth. The key feature of the algorithm is a method for optimizing CSG models, which converts the input tree to an equivalent spatially coherent and well-balanced form (a completely balanced equivalent tree may not exist). The performance of visualization after applying the optimization technique is shown to depend on only the computational resource of the GPU (in contrast to multi-pass algorithms whose performance is restricted by memory capacity). It has been shown experimentally that our algorithm is capable of rendering CSG models consisting of more than a million CSG primitives with the tree depth up to 24.
Similar content being viewed by others
References
Goldfeather, J., Monar, S., Turk, G., and Fuchs, H., Near real-time CSG rendering using tree normalization and geometric pruning, IEEE Symp. on Computer Graphics and Applications, 1989, pp. 20–28.
Kirsch, F. and Dollner, J., Rendering techniques for hardware-accelerated image-based CSG, J. WSCG, 2004, vol. 12, nos. 1–3, pp. 269–276.
Stewart, N., Leach, G., and Sabu, J., Linear-time CSG rendering of intersected convex objects, J. WSCG, 2002, vol. 10, nos. 1–2, pp. 437–444.
Hable, J. and Rossignac, J., Blister: GPU-based rendering of Boolean combinations of free-form triangulated shapes, ACM Trans. Graphics, 2005, vol. 24, no. 3, pp. 1024–1031.
Rossignac, J., BLIST: A Boolean list formulation of CSG trees, Techn. Report GIT-GVU–99–04. www.cc. gatech.edu/gvu/reports/1999/1999.
Romeiro, F., Velho, L., and De Figueiredo, L.H., Hardware-assisted rendering of csg models, Proc. of the 19th Brazilian Symp. on Computer Graphics and Image Processing (SIBGRAPI'06), 2006, pp. 139–146.
Lefebvre, S. and Grand-Est, L.I.N., IceSL: A GPU accelerated CSG modeller and slicer, 18th European Forum on Additive Manufacturing, 2013.
Kensler, A., Ray tracing CSG objects using single hit intersections, 2006. http://xrt.wdfiles.com/localfiles/ doc%csg/CSG.pdf
Rossignac, J.R. and Voelcker, H.B., Active zones in CSG for accelerating boundary evaluation, redundancy elimination, interference detection, and shading algorithms, ACM Trans. Graphics, 1988, vol. 8, no. 1, pp. 51–87.
Wald, I., On fast construction of SAH-based bounding volume hierarchies, Proc. of IEEE Symp. on Interactive Ray Tracing, 2007, pp. 33–40.
Voss, G., Behr, J., Reiners, D., and Roth, M., A multithread safe foundation for scene graphs and its extension to clusters, Proc. of the Fourth Eurographics Workshop on Parallel Graphics and Visualization (EGPGV'02), Switzerland, 2002, pp. 33–37.
Author information
Authors and Affiliations
Corresponding author
Additional information
Original Russian Text © D. Ulyanov, D. Bogolepov, V. Turlapov, 2017, published in Programmirovanie, 2017, Vol. 43, No. 4.
Rights and permissions
About this article
Cite this article
Ulyanov, D., Bogolepov, D. & Turlapov, V. Interactive vizualization of constructive solid geometry scenes on graphic processors. Program Comput Soft 43, 258–267 (2017). https://doi.org/10.1134/S0361768817040090
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1134/S0361768817040090