Very large crowd visualization,Higher level librar


I am a researcher in modeling and simulation field. unfortunately I have always been ignorant about visualization of my work and therefore I have always done it in 2D without OpenGL or DirectX.

Now I am trying to do it in 3D using OpenGL.

Question: I have a very large crowd of up to 10,000-100,000 pedestrians (every one doing something). This happens inside a stadium or a big building. Now I want to visualize the simulated data (no simulation delay, just reading positions and action types from file or network).

What higher level OpenGL library (preferably in C++ or Java) can do my job?

People have frightened me of the complexities of doing everything myself using bare OpenGL (because I prefer to put more time on research than implementation).

I appreciate any other advice.

Regards, Mac

Although I think it’s overhyped, the numbers you’re talking about suggest that you may benefit from using Massive for visualization.

there’s also CrowdIT:

There are other free options like BlenderPeople

Many of these systems probably overlap with your simulation since they are primarily simulation engines integrated with rendering packages, but you could probably either plug in your own AI and use their existing rendering integration or use them as a model for your own integration work with an existing rendering package.

The numbers you have suggest that non-real time visualization is the approach you need to take for now but what is feasible is always changing especially with efficient code and there are previsualizations built in too. With 3D models you need 3d character representations and animations for various actions, if you’ve come from 2D it is unlikely you have any of this and probable that your simulated actions are very high level concepts rather than detailed 3D representations. In this regard packages like Massive could help a lot, so your concept of running, walking, fighting, lifting, waiting, tripping, or opening a door would become realistic detailed and seamlessly transitioning 3D animations. There will be a learning curve but it’ll be a lot easier and problem free than doing everything from scratch. I’d also suggest that your research may be seen as more relevant and see more use if it is integrated with a commercial tool like Massive. I believe they have an academic licensing program, but other departments there may already use it.

Just to reitterate these are generally crowd simulation engines that integrate with other packages, you still may need the rendering package for example you’d need Massive + Maya but it looks like there’s at least some visualisation built in but not production rendering.

Additional investigation is required of course since as I said I’m not sure how much overlap there is between your research and their systems and how easily you could integrate your data in there.

Good luck.

Thank you very much.

Actually I already know most of the crowd simulation software available in the market. I have done an extensive survey on their capabilities (published in a conference paper).

We have created a simulation platform to simulate very large events. There is a multi-layer model of pedestrians and each layer has its models and algorithms (ambitions and intentions, actions, way finding, local small scale movements …).

The effort is being done after a collaboration of our university with the organizers of a large event (perhaps the largest real crowd event). We have simulated different aspects of the event and we have proposed solutions for congestion etc in different parts of the place.

Our work is mostly focused on validation of the algorithms and simulation. The problem is that you can impress your audience (i.e. the organizers) better if you have a 3D graphics of what is happening in your simulation.

As the platform is going to be a separate product (or perhaps open source) we need to build our own visualization. However for the short term I think we can apply your suggestion (using those packages).

Thank you for your comments again.

If all you need is the rendering solution you may want to give horde3d a try, it is simple and easy to use.

It is designed to handle large crowds, however i do not know if it can handle 100.000 ( i don’t know if you can visualize 100.000 objects on screen at the same time, even using impostors. ). Nonetheless you may want to use it as a basis and extend it for your project.

I would be interested in reading more about your solution. most ai systems that i know have a 10k limitation. Is there a whitepaper or website where i can learn more?