Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }