/// <summary> /// /// </summary> /// <param name="minLevel"></param> public D3D10(Direct3D10.FeatureLevel minLevel) { m_device = DeviceUtil.Create10(DeviceCreationFlags.BgraSupport, minLevel); if (m_device == null) { throw new NotSupportedException(); } }
/// <summary> /// /// </summary> /// <param name="cFlags"></param> /// <param name="minLevel"></param> /// <returns></returns> public static SharpDX.Direct3D10.Device1 Create10( Direct3D10.DeviceCreationFlags cFlags = Direct3D10.DeviceCreationFlags.None, Direct3D10.FeatureLevel minLevel = Direct3D10.FeatureLevel.Level_9_1) { using (var dg = new DisposeGroup()) { var ada = GetBestAdapter(dg); if (ada == null) { return(null); } var level = Direct3D11.Device.GetSupportedFeatureLevel(ada); Direct3D10.FeatureLevel level10 = Direct3D10.FeatureLevel.Level_10_1; if (level < Direct3D.FeatureLevel.Level_10_1) { level10 = (Direct3D10.FeatureLevel)(int) level; } if (level10 < minLevel) { return(null); } return(new Direct3D10.Device1(ada, cFlags, level10)); } }