コード例 #1
0
ファイル: Game.cs プロジェクト: trymtrim/RayTracer
        public void Init()
        {
            //Initialize settings
            settings.width           = Config.ASPECT_RATIO_WIDTH;
            settings.height          = Config.ASPECT_RATIO_HEIGHT;
            settings.ui              = new UserInterface(settings.width, settings.height);
            settings.maxDepth        = Config.MAX_DEPTH;
            settings.backgroundColor = Vector3.Zero;             //new Vector3(0.6f, 0.8f, 1.0f);
            settings.scene           = new Scene(SceneType.Room);
            settings.traceMethod     = Config.DEFAULT_TRACE_METHOD;
            settings.showUI          = Config.SHOW_UI_BY_DEFAULT;

            //Initialize camera
            Vector3 cameraPosition  = new Vector3(0.0f, 0.5f, -1.75f);            //(0.0f, 0.0f, 0.0f); //(0.0f, 0.0f, -2.0f)
            Vector3 cameraDirection = new Vector3(0.0f, 0.0f, 1.0f);

            _camera = new Camera(Config.FOV, cameraPosition, cameraDirection);

            //Initialize debug window
            DebugUI.Initialize();

            //Initialize photon map
            InitializePhotonMap();

            //Start render frame stopwatch
            renderTimeStopwatch.Start();
        }
コード例 #2
0
ファイル: Game.cs プロジェクト: trymtrim/RayTracer
        public void Render()
        {
            renderTimeStopwatch.Restart();

            Renderer.Render(settings, _camera);

            if (Config.USE_BVH)
            {
                PrintStats();
            }

            if (settings.showUI)
            {
                DebugUI.Render(settings);
                settings.ui.RenderText();
            }

            //TODO: Handle this
            //if (settings.scene.skybox != null)
            //	settings.scene.skybox.Update(_camera.position);
        }