Parameters = new PresentParameters
{
BackBufferFormat = Format.X8R8G8B8,
PresentFlag = PresentFlag.LockableBackBuffer,
BackBufferWidth = Settings.ScreenWidth,
BackBufferHeight = Settings.ScreenHeight,
SwapEffect = SwapEffect.Discard,
PresentationInterval = PresentInterval.Default,
BackBufferCount =1,
MultiSample = MultiSampleType.TwoSamples,//打开抗锯齿
MultiSampleQuality = 20,
Windowed = !Settings.FullScreen,
};
Caps devCaps = Manager.GetDeviceCaps(0, DeviceType.Hardware);
DeviceType devType = DeviceType.Reference;
CreateFlags devFlags = CreateFlags.HardwareVertexProcessing;
if (devCaps.VertexShaderVersion.Major >= 2 && devCaps.PixelShaderVersion.Major >= 2)
devType = DeviceType.Hardware;
if (devCaps.DeviceCaps.SupportsHardwareTransformAndLight)
devFlags = CreateFlags.HardwareVertexProcessing;
if (devCaps.DeviceCaps.SupportsPureDevice)
devFlags |= CreateFlags.PureDevice;
Device = new Device(Manager.Adapters.Default.Adapter, devType, Program.Form, devFlags, Parameters);
打开抗锯齿出现错误,不打开绘图正常,是哪里设置出错
应用程序中的错误。
-2005530516 (D3DERR_INVALIDCALL)
在 Microsoft.DirectX.Direct3D.Device..ctor(Int32 adapter, DeviceType deviceType, Control renderWindow, CreateFlags behaviorFlags, PresentParameters[] presentationParameters)