private void AddAnimal()
 {
     Animal animal;
     switch(currentAnimal)
     {
     case (int)animal_enum.DRAGONFLY: animal = new Dragonfly3d(); break;
     case (int)animal_enum.LADYBUG: animal = new LadyBug3d(); break;
     case (int)animal_enum.FIREFLY: animal = new FireFly3d(); break;
     default: animal = new Dragonfly3d(); break;
     }
     SetupSphericalAnimal(animal);
     animals.Add(animal);
 }
        protected override void init()
        {
            animals = new List<Animal>();
            Animal animal = new Dragonfly3d();

            sphericalProgram = Programs.AddProgram(VertexShaders.spherical_lms, FragmentShaders.lms_fragmentShaderCode);
            spericalTransform = Matrix4.CreateRotationY((float)Math.PI);
            spericalTransform = Matrix4.Identity;

            sphericalScale = Matrix4.CreateScale(0.25f);
            sphericalTranslation = Matrix4.CreateTranslation(r, 0.0f, 0.0f);
            UpdateSphericalMatrix();
            SetupSphericalAnimal(animal);
            animals.Add(animal);
            for (int i = 0; i < 12; i++)
            {
                IncrementAnimal();
                AddAnimal();
            }
        }