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); }
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(); }