I like it .But I haven’t detail documents.
The technique you want to use is called “image feedback”, where you would take a texture (in your case with a cirle on it) and display it over the whole viewport. The next frame you generate a new texture by starting with the texture you used last time, and expanding it, then filling in the center of the texture with something new. So what’s in the center eventually goes out to the perimeter. Looks like you’re going down a tunnel. It can be done in reverse, too, working from the outside in, or other ways to get other effects. It’s the way a lot of mp3 players do visualizations.
This explanation isn’t very detailed, try googling it, or if you need a more in-depth description of the algorithm, check out the book “Special Effects Game Programming with DirectX” (yes, direct x, so shoot me…) because it has a nice explanation.
Look here for code examples …
Great stuff …