Skip to main content
Log in

GPU-based radial view-based culling for continuous self-collision detection of deformable surfaces

  • Original Article
  • Published:
The Visual Computer Aims and scope Submit manuscript

Abstract

We propose a graphics processing unit-based approach to accelerate the radial view-based culling method for continuous self-collision detection of deformable surfaces. The deformable surfaces may have small round-shaped holes and ghost triangles are used to fill the holes. We identify the key processes of the radial view-based culling method, including triangle classification, traversal of bounding volume hierarchies and handling violated triangles (i.e., the triangles intersecting with ghost triangles). We propose efficient parallel processing techniques to perform these key processes on a programmable graphics unit. We have evaluated our proposed approach on several examples. Experimental results show that our approach significantly cuts down the cost of the key processes of the radial-based culling method, compared with the serial implementation on CPU.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

Notes

  1. Solving a cubic equation for a triangle pair and distance calculation for the triangle pair.

References

  1. Allard, J., Faure, F., Courtecuisse, H., Falipou, F., Duriez, C., Kry, P.: Volume contact constraints at arbitrary resolution. ACM Trans. Graph. 29(4), 82 (2010)

    Article  Google Scholar 

  2. Baciu, G., Wong, W.-K.: Hardware-assisted selfcollision for deformable surfaces. In: ACM Symposium on Virtual Reality Software and Technology, pp. 129–136 (2002)

  3. Govindaraju, N., Knott, D., Jain, N., Kabul, I., Tamstorf, R., Gayle, R., Lin, M., Manocha, D.: Interactive collision detection between deformable models using chromatic decomposition. ACM Trans. Graph. 24(3), 991–999 (2005)

    Article  Google Scholar 

  4. Gottschalk, S., Lin, M., Manocha, D.: OBBTree: a hierarchical structure for rapid interference detection. In: Proceedings of the 23rd Annual Conference on Computer Graphics and Interactive Techniques, pp. 171–180 (1996)

  5. Govindaraju, N., Redon, S., Lin, M., Manocha, D.: Cullide: interactive collision detection between complex models in large environments using graphics hardware. In: Proceedings of ACM SIGGRAPH/Eurographics Workshop on Graphics Hardware, pp. 25–32 (2003)

  6. Heidelberger, B., Teschner, M., Gross, M.: Detection of collisions and self-collisions using image-space techniques. In: WSCG, pp. 145–152 (2004)

  7. Kim, D., Heo, J., Huh, J., Kim, J., Yoon, S.: HPCCD: hybrid parallel continuous collision detection using CPUs and GPUs. Proc. Korea Adv. Inst. Sci. Technol. 28(7), 1791–1800 (2009)

    Google Scholar 

  8. Klosowski, J., Held, M., Mitchell, J., Sowizral, H., Zikan, K.: Efficient collision detection using bounding volume hierarchies of k-DOPs. IEEE Trans. Vis. Comput. Graph. 4(1), 21–36 (1998)

    Article  Google Scholar 

  9. Knott, D., Pai, K.: Cinder: collision and interference detection in real-time using graphics hardware. In: Proceedings of Graph Interface (2003)

  10. Larsson, T., Akenine-Möller, T.: A dynamic bounding volume hierarchy for generalized collision detection. Comput. Graph. 30(3), 450–459 (2006)

    Article  Google Scholar 

  11. Liu, F., Harada, T., Lee, Y., Kim, Y.: Real-time collision culling of a million bodies on graphics processing units. ACM Trans. Graph. (TOG) 29(6), 154 (2010)

  12. Lauterbach, C., Mo, Q., Manocha, D.: gProximity: hierarchical GPU-based operations for collision and distance queries. Comput. Graph. Forum 29(2), 419–428 (2010)

    Article  Google Scholar 

  13. Palmer, I., Grimsdale, R.: Collision detection for animation using sphere-trees. Comput. Graph. Forum 14(2), 105–116 (1995)

    Article  Google Scholar 

  14. Pabst, S., Koch, A., Straßer, W.: Fast and scalable CPU/GPU collision detection for rigid and deformable surfaces. Comput. Graph. Forum 29(5), 1605–1612 (2010)

    Article  Google Scholar 

  15. Pan, J., Manocha, D.: GPU-based parallel collision detection for real-time motion planning. Algorithmic Found. of Robot. IX, 211–228 (2011)

  16. Provot, X.: Collision and self-collision handling in cloth model dedicated to design garments. In: Proceedings of Graphics Interface, pp. 177–189 (1997)

  17. Schvartzman, S., Gason, J., Otaduy, M.: Bounded normal trees for reduced deformations of triangulated surfaces. In: Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 75–82 (2009)

  18. Tang, M., Curtis, S., Yoon, S.-E., Manocha, D.: ICCD: interactive continuous collision detection between deformable models using connectivity-based culling. IEEE Trans. Vis. Comput. Graph. 15(4), 544–557 (2009)

    Article  Google Scholar 

  19. Teschner, M., Kimmerle, S., Heidelberger, B., Zachmann, G., Raghupathi, L., Fuhrmann, A., Cani, M., Faure, F., Magnenat-Thalmann, N., Strasser, W., et al.: Collision detection for deformable objects. In: Computer Graphics Forum, pp. 61–81 (2005)

  20. Tang, C., Li, S., Wang, G.: Fast continuous collision detection using parallel filter in subspace. In: ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games, pp. 71–80 (2011)

  21. Tang, M., Manocha, D., Lin, J., Tong, R.: Collision-streams: fast GPU-based collision detection for deformable models. In: I3D’11: Proceedings of the 2011 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games, pp. 63–70 (2011)

  22. Tang, M., Manocha, D., Tong, R.: Multi-core collision detection between deformable models. In: 2009 SIAM/ACM Joint Conference on Geometric and Physical Modeling, pp. 355–360 (2009)

  23. Tang, M., Yoon, S.-E., Manocha, D.: Adjacency-based culling for continuous collision detection. Vis. Comput. 24(7–9), 545–553 (2008)

    Article  Google Scholar 

  24. van den Bergen, G.: Efficient collision detection of complex deformable models using AABB trees. J. Graph. GPU Game Tools 2(4), 1–14 (1999)

    Article  Google Scholar 

  25. Volino, P., Magnenat-Thalmann, N.: Efficient self-collision detection on smoothly discretized surface animations using geometrical shape regularity. In: Computer Graphics Forum, pp. 155–166 (1994)

  26. Vassilev, T., Spanlang, B., Chrysanthou, Y.: Fast cloth animation on walking avatars. Comput. Graph. Forum 20(3), 260–267 (2001)

    Article  Google Scholar 

  27. Wong, W., Baciu, G.: Dynamic interaction between deformable surfaces and non-smooth objects. IEEE Trans. Vis. Comput. Graph. 11(3), 329–340 (2005)

    Article  Google Scholar 

  28. Wong, S.-K., Baciu, G.: A randomized marking scheme for continuous collision detection in simulation of deformable surfaces. In: Proceedings of the ACM Int’l Conference on Virt. Reality Continuum and its Applications, pp. 181–188 (2006)

  29. Wong, W.S.-K., Baciu, G.: Robust continuous collision detection for interactive deformable surfaces. Comput. Animat. Virtual Worlds 18(3), 179–192 (2007)

    Article  Google Scholar 

  30. Wong, S.-K., Baciu, G.: Continuous collision detection for deformable objects using permissible clusters. Vis. Comput. 1–13 (2014). doi:10.1007/s00371-014-0933-6

  31. Wong, S.-K., Baciu, G., Liu, C.-M., Yeh, C.-C.: Robust continuous collision detection for deformable objects. In: ACM Symp. on Virtual Reality Software and Technology, pp. 55–62 (2010)

  32. Wong, S.-K., Cheng, Y.-C.: Continuous self-collision detection for deformable surfaces interacting with solid models. Comput. Graph. Forum. 33(6), 143–153 (2014)

  33. Wang, B., Faure, F., Pai, D.K.: Adaptive image-based intersection volume. ACM Trans. Graph. (Proc. SIGGRAPH) 31(4), 97:1–9 (2012)

  34. Wong, S.-K., Lin, W.-C., Hung, C.-H., Huang, Y.-J., Lii, S.-Y.: Radial view based culling for continuous self-collision detection of skeletal models. ACM Trans. Graph. (Proc. SIGGRAPH) 32(4), 114:1–10 (2013)

  35. Wong, S.-K., Lin, W.-C., Wang, Y.-S., Hung, C.-H., Huang, Y.-J.: Dynamic radial view based culling for continuous self-collision detection. In: ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games, pp. 39–46 (2014)

  36. Wong, S.-K.: High performance virtual clothing dynamics. Ph.D. thesis, Computer Science, HKUST (2005)

  37. Zhang, X., Kim, Y.: Simple culling methods for continuous collision detection of deforming triangles. IEEE Trans. Vis. Comput. Graph. 18(7), 1146–1155 (2012)

Download references

Acknowledgments

The authors thank the anonymous referees for their constructive comments. This work was supported in part by the National Science Council of ROC (Taiwan) under the grant no. NSC 102-2221-E-009-103-MY2 and the Ministry of Science and Technology of ROC (Taiwan) under the grant no. MOST 103-2221-E-009-122-MY3.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sai-Keung Wong.

Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary material 1 (wmv 6248 KB)

Appendices

Appendix A. The pseudo-code of algorithms

Algorithm 1 is the entire process of CSCD. Algorithm 2 is the pseudo-code for the boundary handling of ghost triangles using a stack.

figure c
figure d

Appendix B. Characteristic functions

In sake of completeness, we list the characteristic functions which are defined in [32]. Denote a triangle of deformable mesh \(M\) as \(T(\mathbf {p}_0(t), \mathbf {p}_1(t), \mathbf {p}_2(t))\).

Let \(\mathbf {q}\) be an observer point. The characteristic function \(\phi (T(t), \mathbf {q}(t))\) is defined as

$$\begin{aligned} \phi (T(t), \mathbf {q}(t)) = \mathbf {n}_T(t) \cdot (\mathbf {p}_0(t) - \mathbf {q}(t)), \end{aligned}$$
(1)

where \(\mathbf {n}_T(t)\) is the continuous normal vector of triangle \(T\), i.e., \(\mathbf {n}_T(t) = (\mathbf {p}_1(t)-\mathbf {p}_0(t))\times (\mathbf {p}_2(t)-\mathbf {p}_0(t))\). The normal vector of a triangle points outside of the deformable mesh.

Let \(\overline{q_0q_1}\) be an observer line segment. A vertex, e.g., \(\mathbf {p}_0(t)\), of triangle \(T\) is projected onto \(\overline{q_0q_1}\). We compute the projected component \(u(t)\) of \(\mathbf {p}_0(t)\) as follows:

$$\begin{aligned} u(t) = \frac{(\mathbf {p}_0(t) - \mathbf {q}_0(t))\cdot (\mathbf {q}_1(t)-\mathbf {q}_0(t))}{||\mathbf {q}_1(t)-\mathbf {q}_0(t)||^2}. \end{aligned}$$

The range of \(u(t)\) is evaluated as follows:

  1. 1.

    Case I. If \(\exists t \in [0, \Delta t]\ \mathrm{s.t.}\ u(t) \ge 1 \), set \(\mathbf {p}'(t) = \mathbf {q}_1(t)\).

  2. 2.

    Case II. If \(\exists t \in [0, \Delta t]\ \mathrm{s.t.}\ u(t) \le 0 \), set \(\mathbf {p}'(t) = \mathbf {q}_0(t)\).

  3. 3.

    Case III. If \(\exists t \in [0, \Delta t]\ \mathrm{s.t.}\ 0<u(t)<1 \), set \(\mathbf {p}'(t) = \mathbf {q}_0(t)+u(t)(\mathbf {q}_1(t)-\mathbf {q}_0(t))\).

The characteristic function of triangle \(T\) is defined as:

$$\begin{aligned} \phi (T(t), \overline{q_0q_1}(t)) = \mathbf {n}_T(t) \cdot (\mathbf {p}_0(t) - \mathbf {p}'(t)). \end{aligned}$$
(2)

To evaluate the sign of the characteristic functions, readers are referred to [32] for details.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wong, SK., Cheng, YC. GPU-based radial view-based culling for continuous self-collision detection of deformable surfaces. Vis Comput 32, 67–81 (2016). https://doi.org/10.1007/s00371-014-1056-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00371-014-1056-9

Keywords