protected override void Initialize() { ImGuiRenderer = new ImGuiRenderer(this); ImGuiRenderer.RebuildFontAtlas(); SetStyle(); RT = new Core.Raytracer( graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight, FOV, new Core.Vector3(CamPos.X, CamPos.Y, CamPos.Z), new Core.Vector3(CamRot.X, CamRot.Y, CamRot.Z), new Core.Texture("Assets/EnvMaps/portland.png", true), MinBounces, MaxBounces, Samples, Threads, NEE ); ScanSceneDirectory(); FrameBuffer = new Core.Vector3[RT.Width, RT.Height]; RenderTarget = new Texture2D(GraphicsDevice, RT.Width, RT.Height); spriteBatch = new SpriteBatch(graphics.GraphicsDevice); base.Initialize(); }
static void Main(string[] args) { #if (!DEBUG) Core.Raytracer Raytracer = new Core.Raytracer(604, 340, 55, Core.Vector3.Zero, Core.Vector3.Zero, new Core.Texture("Assets/EnvMaps/portland.png", true), 5, 5, 50, 12, false); #else Core.Raytracer Raytracer = new Core.Raytracer(1280, 720, 75, Core.Vector3.Zero, Core.Vector3.Zero, new Core.Texture("Assets/EnvMaps/portland.png", true), 3, 7, 20, 1, true); #endif Stopwatch Time = new Stopwatch(); Time.Start(); Raytracer.Render(); Time.Stop(); Raytracer.ExportToFile("Render.png"); Process.Start("Render.png"); Console.WriteLine("Finished rendering in {0} seconds", Time.Elapsed.TotalSeconds); Console.WriteLine("Press any key to exit"); Console.ReadKey(); }