Пример #1
0
        public void ResetToFullscreen(ref BDisplayMode displayMode, ref SwapChainDescription description)
        {
            fullscreenDisplayMode = displayMode;

            fullscreenState = FullscreenState.Fullscreen;
            implicitSwapChainDesc = description;

            primaryWindow.OnFullscreen(displayMode.Width, displayMode.Height, () => { }, () => { }); //todo: remove unneeded args

            var coopLevel = d3dDevice.TestCooperativeLevel();
            if (coopLevel.Success || coopLevel == ResultCode.DeviceNotReset)
                ResetProcedure();
        }
Пример #2
0
        public WinformsDevice(WinformsEye eye, Direct3D direct3D, CAdapter adapter, 
            ControlWindow primaryWindow, SwapChainDescription implicitSwapChainDesc, 
            DeviceInitializationFlags flags, IFileSystem fileSystem)
        {
            this.eye = eye;
            this.adapter = adapter;
            this.primaryWindow = primaryWindow;
            this.implicitSwapChainDesc = implicitSwapChainDesc;
            this.flags = flags;

            caps = adapter.Info.GetCaps(DeviceType.Hardware);
            devicePresentParams = new PresentParameters();

            FillDevicePresentParams();
            d3dDevice = new Device(direct3D, adapter.Index, DeviceType.Hardware, primaryWindow.Handle, CreateFlags.FpuPreserve | CreateFlags.HardwareVertexProcessing, devicePresentParams);

            CreateBackBufferAndDepthStencil();

            additionalSwapChains = new List<CAdditionalSwapChain>();
            creator = new CDeviceChildCreator(this);
            immediateContext = new CDeviceContext(this);

            lastSwapChainSize = new IntSize(primaryWindow.SwapChainWidth, primaryWindow.SwapChainHeight);
            fullscreenState = FullscreenState.Windowed;
            fullscreenDisplayMode = adapter.GetSupportedDisplayModes().First();
        }
Пример #3
0
 public void GetFullscreenDisplayMode(out BDisplayMode displayMode)
 {
     displayMode = fullscreenDisplayMode;
 }