Abstract
In this work, we present a GPU-based library, called BehaveRT, for the definition, real-time simulation, and visualization of large communities of individuals. We implemented a modular flexible and extensible architecture based on a plug-in infrastructure that enables the creation of a behavior engine system core. We used Compute Unified Device Architecture to perform parallel programming and specific memory optimization techniques to exploit the computational power of commodity graphics hardware, enabling developers to focus on the design and implementation of behavioral models. This paper illustrates the architecture of BehaveRT, the core plug-ins, and some case studies. In particular, we show two high-level behavioral models, picture and shape flocking, that generate images and shapes in 3D space by coordinating the positions and color-coding of individuals. We, then, present an environment discretization case study of the interaction of a community with generic virtual scenes such as irregular terrains and buildings.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Azahar, M.A., Sunar, M.S., Daman, D., Bade, A.: Survey on real-time crowds simulation. In: Pan, Z., Zhang, X., El Rhalibi, A., Woo, W., Li, Y. (eds.) EDUTAINMENT 2008. LNCS, vol. 5093, pp. 573–580. Springer, Heidelberg (2008)
Bleiweiss, A.: Scalable multi agent simulation on the gpu. In: GPU Technology Conference (2009)
Courty, N., Musse, S.R.: Simulation of large crowds in emergency situations including gaseous phenomena. In: Proceedings of the Computer Graphics International 2005, CGI 2005, Washington, DC, USA, pp. 206–212. IEEE Computer Society, Los Alamitos (2005)
Erra, U., Frola, B., Scarano, V.: A GPU-based method for massive simulation of distributed behavioral models with CUDA. In: Proceedings of the 22nd Annual Conference on Computer Animation and Social Agents (CASA 2009), Amsterdam, the Netherlands (2009)
Erra, U., Frola, B., Scarano, V., Couzin, I.: An efficient GPU implementation for large scale individual-based simulation of collective behavior. In: International Workshop on High Performance Computational Systems Biology, pp. 51–58 (2009)
Havok. Havok physics, http://www.havok.com/
Junker, G.: Pro OGRE 3D Programming (Pro). Apress, Berkely (2006)
Loscos, C., Marchal, D., Meyer, A.: Intuitive crowd behaviour in dense urban environments using local laws. In: Proceedings of the Theory and Practice of Computer Graphics 2003, TPCG 2003, Washington, DC, USA, p. 122. IEEE Computer Society, Los Alamitos (2003)
Maim, J., Yersin, B., Pettre, J., Thalmann, D.: Yaq: An architecture for real-time navigation and rendering of varied crowds. IEEE Computer Graphics and Applications 29(4), 44–53 (2009)
Pettre, J., Laumond, J.-P., Thalmann, D.: A navigation graph for real-time crowd animation on multilayered and uneven. In: First Int’l Workshop Crowd Simulation (2005)
PhysX. PhysX physics, http://www.nvidia.com/object/physx_new.html
Reynolds, C.: Steering behaviors for autonomous characters (1999)
Reynolds, C.: Opensteer - steering behaviors for autonomous characters (2004), http://opensteer.sourceforge.net/
Richmond, P., Coakley, S., Romano, D.M.: A high performance agent based modelling framework on graphics card hardware with cuda. In: Proceedings of the 8th International Conference on Autonomous Agents and Multiagent Systems, Richland, SC, International Foundation for Autonomous Agents and Multiagent Systems, AAMAS 2009, pp. 1125–1126 (2009)
Ryoo, S., Rodrigues, C.I., Baghsorkhi, S.S., Stone, S.S., Kirk, D.B., Hwu, W.-m.W.: 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 2008, pp. 73–82. ACM, New York (2008)
Shopf, J., Oat, C., Barczak, J.: GPU Crowd Simulation. In: ACM SIGGRAPH Conf. Exhib. Asia (2008)
Singh, S., Kapadia, M., Faloutsos, P., Reinman, G.: An open framework for developing, evaluating, and sharing steering algorithms. In: Egges, A. (ed.) MIG 2009. LNCS, vol. 5884, pp. 158–169. Springer, Heidelberg (2009)
Smaragdakis, Y., Batory, D.S.: Mixin-based programming in c++. In: Butler, G., Jarzabek, S. (eds.) GCSE 2000. LNCS, vol. 2177, pp. 163–177. Springer, Heidelberg (2001)
Sung, M., Gleicher, M., Chenney, S.: Scalable behaviors for crowd simulation. Comput. Graph. Forum 23(3), 519–528 (2004)
Taaffe, K., Johnson, M., Steinmann, D.: Improving hospital evacuation planning using simulation. In: Proceedings of the 38th Conference on Winter Simulation, WSC 2006, pp. 509–515 (2006)
Thalmann, D., Musse, S.R.: Crowd Simulation. Springer-Verlag New York, Inc., Secaucus (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Erra, U., Frola, B., Scarano, V. (2010). BehaveRT: A GPU-Based Library for Autonomous Characters. In: Boulic, R., Chrysanthou, Y., Komura, T. (eds) Motion in Games. MIG 2010. Lecture Notes in Computer Science, vol 6459. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16958-8_19
Download citation
DOI: https://doi.org/10.1007/978-3-642-16958-8_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-16957-1
Online ISBN: 978-3-642-16958-8
eBook Packages: Computer ScienceComputer Science (R0)