// we are

Scalability-Oriented Distributed and Anticipative Collision Detection


SODA-CD was a research project of the Inria VR4i research team. It demonstrates that collision detection can be fully distributed, and that collision anticipation buffers can help with computational peaks in interactive virtual environment simulations. PEPSI’s, the first SODA-CD prototype, has been mainly developed by somebody who had zero experience of virtual reality and 3D rendering, hence it is probably too slow to render actual scenes at a decent framerate. It has been released under the GPL v3.

Scalability-Oriented Distributed Anticipative Collision Detection

SODA CD is a collision detection framework designed to run on entirely distributed systems, where rendering is performed by one or more host(s) at a clock independent from the one used by nodes of the system to compute collisions.

SODA CD both demonstrates the feasibility of actually distributed collision detection and the utility of anticipation buffers for complex scenes (and not only for particle simulations). It does not perform distributed collision handling or rendering.

Physical Environment Parallel Scalable Interactive simulator

The PEPSI’s prototype is developed for demonstration purposes, not designed at all to be efficient performance-wise! It is written in C++, and uses Qt, Ogre 3D and Bullet as dependencies. It has been developed within Inria/IRISA VR4i (closed, now Inria/IRISA Hybrid) by Steve Dodier-Lazaro, reusing code from Quentin Avril, under the supervision of the latter and Valérie Gouranton.

To build PEPSI’s, you will need the following dependencies installed: Qt, Bullet Physics, Ogre 3D, Blitz++, Boost, Qxt. The libraries and include files of all dependencies should be reachable by Qt Creator. If one of them is missing, please edit the .pro file attached to this project, and set INCLUDEPATH and LIBS to appropriate values. Please use qmake and then make to build PEPSI’s outside of Qt Creator. You may need to modify your LD_LIBRARY_PATH environment variable at runtime to be able to run the application.

Note that the Blitz++ Fedora 16 package misses some code headers, and you may need to manually install them to build PEPSI’s.


Figures from the paper presented in GRAPP 2013 can be found below.


A Master’s thesis has been published that explains where SODA comes from and what it is. A full paper was published and presented in GRAPP 2013, explaining SODA and its alpha prototype PEPSI’s.


PEPSI’s mainly depends on the following software: