The top image is from the final spot, the bottom two are earlier tests.
The stuff inside the bottle is about 25000 little sparkles that swim
inside the bottle, you really have to see it move.
Most CG projects are done by a team: Modelers, lighting people, compositors,
animators, technical directors. We had a small team for most of the
project, so I wound up doing a lot of double duty. I modeled and textured
the sea shells in the top image, I also wrote the code and worked on
the look of the swirling pixie dust that emerges from the bottle, in
R/Greenberg's proprietary render Imrender. Which is incredible flexible,
but for some reason that I never figured out Reverse Polish Notation,
now take it from me, Linear algebra should not be done in RPN.