/*
 * StarSky.java
 *
 * Created on 8. Juli 2000, 15:14
 */
 
package game.test;

import javax.media.j3d.*;
import javax.vecmath.*;

/** 
 *
 * @author  markus
 * @version 
 */
public class StarSky extends Background
{
    /** Creates new StarSky */
    public StarSky(int numStars)
    {
        PointArray pa=new PointArray(numStars,GeometryArray.COORDINATES);
        float stars[]=new float[numStars*3];
        
        Vector3f vec=new Vector3f();
        int s=0;
        for(int i=0;i<numStars;i++)
        {
            float p1=(float) Math.random()*2-1f;
            float p2=(float) Math.random()*2-1f;
            float p3=(float) Math.random()*2-1f;
            vec.set(p1,p2,p3);
            vec.normalize();
            stars[s++]=vec.x;
            stars[s++]=vec.y;
            stars[s++]=vec.z;
        }
        pa.setCoordinates(0,stars);

        BranchGroup bg=new BranchGroup();

        Appearance ap=new Appearance();
        ap.setPointAttributes(new PointAttributes(2.0f, false));
        ap.setColoringAttributes(
            new ColoringAttributes(0.9f,0.9f,0.8f,ColoringAttributes.FASTEST)
        );
        bg.addChild(new Shape3D(pa,ap));
        setApplicationBounds(new BoundingSphere(new Point3d(), 1000.0));

        bg.compile();
        setGeometry(bg);
    }
  
}