Esempio n. 1
0
        // initialize
        public void Init()
        {
            rnd          = new Random();
            inputManager = new InputManager();

            Material mirror   = new Material(new Vector3(1, 1, 1), 3, false);
            Material wall     = new Material(new Vector3(1, 1f, 1f), 0, false);
            Material red      = new Material(new Vector3(1, 0.4f, 0.4f), 0.2f, false);
            Material green    = new Material(new Vector3(0.1f, 1f, 0.1f), 0.2f, false);
            Material textured = new Material(Vector3.Zero, 0f, true);

            Scene scene = new Scene();

            scene.AddPrimitive(new Sphere(new Vector3(-.2f, 1.9f, 5f), 3, new Vector3(1.0f, 0.5f, 0.5f), mirror));
            scene.AddPrimitive(new Sphere(new Vector3(2, 0, 1), 1, new Vector3(0.5f, 1.0f, 0.5f), green));
            scene.AddPrimitive(new Sphere(new Vector3(-1, 0, 1), 1, new Vector3(0.5f, 0.5f, 1.0f), red));
            scene.AddPrimitive(new Plane(new Vector3(0, -0.9f, 0), new Vector3(0, 1, 0), new Vector3(1f, 1f, 1f), textured));
            //scene.AddPrimitive(new Plane(new Vector3(0, 5, 0), new Vector3(0, -1, 0), new Vector3(1f, 1f, 1f), wall));
            //scene.AddPrimitive(new Plane(new Vector3(-4, 0, 0), new Vector3(1, 0, 0), new Vector3(1f, 1f, 1f), wall));
            //scene.AddPrimitive(new Plane(new Vector3(6, 0, 0), new Vector3(-1, 0, 0), new Vector3(1f, 1f, 1f), wall));
            //scene.AddPrimitive(new Plane(new Vector3(0, 0, 5f), new Vector3(0, 0, -1), new Vector3(2f, 2f, 2f), wall));
            //scene.AddLight(new Light(new Vector3(0, 0, 0), new Vector3(1f, 1f, 1f), new Vector3(1f,1f,1f)));
            //scene.AddLight(new Light(new Vector3(0, 0, 0), new Vector3(1f, 1f, 1f), new Vector3(1f, 1f, 1f)));
            scene.AddLight(new AreaLight(new Vector3(-2, 1, -2), new Vector3(1, 1, 1), new Vector3(1f, 1f, 1f), new Vector3(-1, 0, 0), new Vector3(0, 2, 0.5f), new Point(1, 1)));
            scene.AddLight(new AreaLight(new Vector3(2, 4, -2), new Vector3(1, 1, 1), new Vector3(1f, 1f, 1f), new Vector3(-1, 0, 0), new Vector3(0, 0, 1f), new Point(1, 1)));


            Screen scr    = new Screen(new Vector3(0, 0, 1), new Vector3(0, 0, 1), new Point(512, 512), new Point(8, 8));
            Camera camera = new Camera(new Vector3(0, 0, -2), new Vector3(0, 0, 1), scr);

            _raytracer = new Raytracer(scene, camera, surface);
        }
Esempio n. 2
0
	    // initialize
	    public void Init()
	    {
            rayTracer = new Raytracer();
            rayTracer.screen = screen;
	    }