I am doing a simulation of rigid body dynamics system. The system is a collection of particles bouncing back and forth in a containing geometry like a cube. The positions of particles are computed in CPU and then I use OpenGL to display them. There are two ways to use OpenGL. One is the old immediately mode (or fixed-function mode) in which I transfer the positions calculated to GPU once I finished computing them. Another way is the recent version of OpenGL which stores the array of particle positions in GPU and I only need to transfer parameters like camera angle. I tried to use recent version of OpenGL because I like using new versions. But I cannot see the benefit of this because I still have to transfer computed positions to GPU, so I cannot convince myself (and other people) that using newer version of OpenGL pipeline is a better choice. Can you help me with this question, i.e., what is the benefit I can enjoy by using recent version of OpenGL, instead of the old immediate mode, when simulating a rigid (or soft) body particle system in which positions of particles are computed in CPU? Thank you.