public CameraInteraction(RenderViewConfiguration renderConfig, ShowContentControl showContentControl) { MaxMoveVelocity = (float)App.Current.ProjectSettings.GetOrSetDefault("Tooll.SelectionView.Camera.MaxVelocity", MAX_MOVE_VELOCITY_DEFAULT); _cameraAcceleration = (float)App.Current.ProjectSettings.GetOrSetDefault("Tooll.SelectionView.Camera.Acceleration", CAMERA_ACCELERATION_DEFAULT); _frictionKeyboardManipulation = (float)App.Current.ProjectSettings.GetOrSetDefault("Tooll.SelectionView.Camera.Friction", 0.3f); _showContentControl = showContentControl; _renderConfig = renderConfig; _spaceMouse = new SpaceMouse(this, renderConfig); GizmoPartHitIndex = -1; }
/** Used for live preview */ internal D3DImageSharpDX RenderImageForPreset(OperatorPreset preset, RenderViewConfiguration referenceConfig = null) { if (referenceConfig == null) { referenceConfig = App.Current.MainWindow.XRenderView.XShowContentControl.RenderConfiguration; } var renderSetup = CreateOrReuseRenderSetup(referenceConfig); _renderSetupsByPreset[preset] = renderSetup; return(renderSetup.RenderToD3dImage()); }
public FullScreenView(RenderViewConfiguration renderConfig) { _renderConfig = renderConfig; App.Current.MainWindow.Hide(); System.Windows.Forms.Cursor.Hide(); KeyDown += KeyDownHandler; KeyUp += KeyUpHandler; MouseDown += MouseDownHandler; MouseUp += MouseUpHandler; MouseWheel += MouseWheelHandler; MouseMove += MouseMoveHandler; MouseDoubleClick += MouseDoubleClickHandler; CurrentTime = 0; PlaySpeed = 0; FormBorderStyle = FormBorderStyle.None; var settings = new ContextSettings(); settings.DisplayMode = new SharpDX.Direct3D9.DisplayMode() { Width = (int)App.Current.ProjectSettings.GetOrSetDefault("Tooll.FullScreen.Resolution.Width", 1920), Height = (int)App.Current.ProjectSettings.GetOrSetDefault("Tooll.FullScreen.Resolution.Height", 1080), RefreshRate = 60, Format = SharpDX.Direct3D9.Format.A8R8G8B8 }; settings.AspectRatio = settings.DisplayMode.AspectRatio; var displayNumber = int.Parse(App.Current.ProjectSettings.GetOrSetDefault("Tooll.FullScreen.DisplayNumber", "1")); displayNumber = Utilities.Clamp(displayNumber, 0, Screen.AllScreens.GetLength(0) - 1); Location = Screen.AllScreens[displayNumber].WorkingArea.Location; CurrentTime = App.Current.Model.GlobalTime; PlaySpeed = App.Current.MainWindow.CompositionView.PlaySpeed; App.Current.MainWindow.CompositionView.PlaySpeed = 0; Run(settings); App.Current.Model.GlobalTime = CurrentTime; App.Current.MainWindow.CompositionView.PlaySpeed = PlaySpeed; App.Current.MainWindow.Show(); App.Current.MainWindow.Activate(); App.Current.MainWindow.InvalidateVisual(); App.Current.MainWindow.XCompositionViewDock.Focus(); System.Windows.Forms.Cursor.Show(); }
/* This requires ShowSceneControl to have been loaded */ private void LateInit() { RenderConfiguration = new RenderViewConfiguration() { ShowGridAndGizmos = true, TransformGizmo = new TransformGizmo(), }; _camSetupProvider = new ViewCameraSetupProvider(RenderConfiguration); _renderSetup = new D3DRenderSetup(RenderConfiguration); SetupRenderer(); CameraInteraction = new CameraInteraction( RenderConfiguration, this); }
private D3DRenderSetup CreateOrReuseRenderSetup(RenderViewConfiguration referenceConfig = null) { if (_renderSetupPool.Count > 0) { var setup = _renderSetupPool.Dequeue(); setup.RenderConfig.CameraSetup = referenceConfig.CameraSetup; setup.RenderConfig.Operator = referenceConfig.Operator; setup.RenderConfig.RenderWithGammaCorrection = referenceConfig.RenderWithGammaCorrection; return(setup); } Logger.Info("Creating new renderSetup of Preset-thumb"); var clonedRenderConfig = referenceConfig.Clone(); clonedRenderConfig.Width = THUMB_WIDTH; clonedRenderConfig.Height = THUMB_HEIGHT; var renderSetup = new D3DRenderSetup(clonedRenderConfig); return(renderSetup); }