/// <summary> /// Entry point - pass "verbose" as a command-line /// argument to initialize Embree in verbose mode. /// </summary> public static int Main(String[] args) { try { var verbose = (args.Length == 1 && args[0].ToLower() == "verbose"); if (verbose) { Console.WriteLine("Embree.NET Sample [VERBOSE]"); Console.WriteLine("==========================="); RTC.Register("verbose=999"); // max verbosity? } else { Console.WriteLine("Embree.NET Sample"); Console.WriteLine("================="); } Console.WriteLine(""); // this is for debugging Console.WriteLine("[+] " + Bits + "-bit mode."); Console.WriteLine("[+] Building a test scene."); using (var renderer = new Renderer()) { var pixBuf = new PixelBuffer(1920, 1080); Console.WriteLine("[+] Now rendering."); renderer.Render(pixBuf); // benchmark? Console.WriteLine("[+] Saving image to 'render.png'."); pixBuf.SaveToFile("render.png"); // save to png format } if (verbose) { RTC.Unregister(); } return(EXIT_SUCCESS); } catch (Exception e) { var msg = e is AggregateException ? e.InnerException.Message : e.Message; Console.WriteLine(String.Format("[!] Error: {0}.", msg)); Console.WriteLine("\n========= STACK TRACE =========\n"); Console.WriteLine(e.StackTrace); return(EXIT_FAILURE); } }
/// <summary> /// Entry point - pass "verbose" as a command-line /// argument to initialize Embree in verbose mode. /// </summary> public static int Main(String[] args) { try { var verbose = (args.Select(s => s.ToLower()).Contains("verbose")); var flags = ParseCommandLineArguments(args); if (verbose) { Console.WriteLine("Embree.NET Sample [VERBOSE]"); Console.WriteLine("==========================="); } else { Console.WriteLine("Embree.NET Sample"); Console.WriteLine("================="); } Console.WriteLine(""); // this is for debugging Console.WriteLine("[+] " + Bits + "-bit mode."); Console.WriteLine("[+] Building a test scene."); using (Device device = new Device(verbose)) { using (var renderer = new Renderer(device)) { if (flags.HasFlag(TraversalFlags.Single)) { var pixBuf = new PixelBuffer(1920, 1080); Console.WriteLine("[+] Now rendering single."); renderer.Render(pixBuf, TraversalFlags.Single); // benchmark? Console.WriteLine("[+] Saving image to 'render_single.png'."); pixBuf.SaveToFile("render_single.png"); // save to png format } if (flags.HasFlag(TraversalFlags.Packet4)) { var pixBuf = new PixelBuffer(1920, 1080); Console.WriteLine("[+] Now rendering packet 4."); renderer.Render(pixBuf, TraversalFlags.Packet4); // benchmark? Console.WriteLine("[+] Saving image to 'render_packet4.png'."); pixBuf.SaveToFile("render_packet4.png"); // save to png format } if (flags.HasFlag(TraversalFlags.Packet8)) { var pixBuf = new PixelBuffer(1920, 1080); Console.WriteLine("[+] Now rendering packet 8."); renderer.Render(pixBuf, TraversalFlags.Packet8); // benchmark? Console.WriteLine("[+] Saving image to 'render_packet8.png'."); pixBuf.SaveToFile("render_packet8.png"); // save to png format } } } return(EXIT_SUCCESS); } catch (Exception e) { var msg = e is AggregateException ? e.InnerException.Message : e.Message; Console.WriteLine(String.Format("[!] Error: {0}.", msg)); Console.WriteLine("\n========= STACK TRACE =========\n"); Console.WriteLine(e.StackTrace); return(EXIT_FAILURE); } }