internal EngineOutputModeInfo(EngineOutputInfo hostOutput, DXGI.ModeDescription modeDescription) { m_hostOutput = hostOutput; m_pixelWidth = modeDescription.Width; m_pixelHeight = modeDescription.Height; m_refreshRateNumerator = modeDescription.RefreshRate.Numerator; m_refreshRateDenominator = modeDescription.RefreshRate.Denominator; }
internal DXGI.Output GetOutputByOutputInfo(EngineOutputInfo outputInfo) { int adapterCount = m_dxgiFactory.GetAdapterCount1(); if (outputInfo.AdapterIndex >= adapterCount) { throw new SeeingSharpException($"Unable to find adapter with index {outputInfo.AdapterIndex}!"); } using (DXGI.Adapter1 adapter = m_dxgiFactory.GetAdapter1(outputInfo.AdapterIndex)) { int outputCount = adapter.GetOutputCount(); if (outputInfo.OutputIndex >= outputCount) { throw new SeeingSharpException($"Unable to find output with index {outputInfo.OutputIndex} on adapter {outputInfo.AdapterIndex}!"); } return(adapter.GetOutput(outputInfo.OutputIndex)); } }