This is a university project for my master's thesis.
Finally my implementation exhibits lane formation which becomes visible when agent groups move into opposite directions. Lane formation has been previously reproduced in similar applications and the works this is based on. But I am so happy about this behaviour being reproduced in my application and therefore I am uploading this clip here.
The video captured shows the display area of a test application developed in C++ using the Qt GUI framework. There are 4096 agents simulated on a 256x256 grid. The agents are split into 4 groups (Yellow, Cyan, Purple, White). Yellow and Cyan agents exit at the upper left opening, Purple and White agents exit at the lower right opening.
Agent flow navigation and collision resolution is computed on the GPU using OpenCL. This computation was performed on an AMD Radeon 6950.
Here, agents are being rendered using Ogre3D. Development platform is Linux with Ubuntu 10.10. The video was created with XVidCap for capturing. Blender is used with its sequence editor for video compositing and creating the agent cylinder meshes. Gimp was used for creating the description text, agent textures and the map image.
Currently the application runs at interactive rates up to ~65000 agents, slowing down to a crawling 1 second per frame at ~260000 agents. Agents still get pushed through walls and crowd up too close. Obviously there is still room for optimization.