We downloaded multiple 3D models from the web and put this algorithm to the test in the C++programming language. They ranged from highly simple 3D shape like cubes and toruses (Figure 9), to fully complex video game characters models (Figure 10,11). For each model, We created a BSP tree structure as described in the algorithm above, and then merged each model’s tree according to the Boolean operation performed on the pair of models. We tested all the operations, including union, intersection, differences and xoron our models. We used OpenGL to render each model separately on screen first, and then rendered each of the Boolean operation results. Notice that our meshes only consist of surface polygons and contain no volumetric information. As such, you can see into or through our model result who operations cut through the base models. Nonetheless, the results were quite promising.