Exemple #1
0
        static void Main(string[] args)
        {
            Scene scene = new Scene();

            scene.Root.AddChild(scene.CreateSphere(10));

            Camera    cam      = Camera.CreatePerspective(90, 1, 1, 1000);
            Transform camTrans = Transform.Identity;

            camTrans.Translation = new Vector3(0, -20, 0);
            RenderView view = new RenderView(scene, cam, camTrans);

            RenderOutput output = new RenderOutput(50, 50);
            Renderer     r      = new Renderer();

            r.Render(view, output);
        }
Exemple #2
0
        public void Render(RenderView view, RenderOutput output)
        {
            for (int i = 0; i < output.Height; i++)
            {
                float y = ((float)i / output.Height - 0.5f) * 2;
                for (int j = 0; j < output.Width; j++)
                {
                    float x   = ((float)j / output.Width - 0.5f) * 2;
                    Ray   ray = view.GenerateRay(x, y);

                    float dist = view.Trace(ray);
                    if (dist >= 0)
                    {
                        Console.Write(".");
                    }
                    else
                    {
                        Console.Write("=");
                    }
                }
                Console.WriteLine();
            }
            Console.ReadLine();
        }