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