Took a look at the source code on the first video, he's only drawing 1 million particles, not sure where his math for 1 billion, but 100,000 x 10 = 1,000,000.
#define CHUNK_NB 10 // separating particles in smaller chunks to avoid having HUGE arrays (1 billion particles) : else we might face stack overflow or framerate drops. To understand the code faster, you can think that CHUNK_NB = 1
#define VERTEX_CHUNK 100000 // how much particles are in each chunk
for(int j(0) ; j < CHUNK_NB ; j++) // we convert Vector2f positions to the OpenGL's way of storing positions : static arrays of floats
{
for(int i(0) ; i < VERTEX_CHUNK ; i++)
{
I'll give it a try later, but I imagine trying to do 1 billion will cause a crash.