Good find. There was a small bug in the SoftwareAdapterCapabilities class that has thrown an exception in case Ultra quality setting was used for software rendering.
This can be easily fixed by changing the SoftwareAdapterCapabilities.cs file in the Ab3d.DirectX.Client.Settings project that comes with the Ab3d.DXEngine sampes. You need to update the GetGraphicsProfileForQuality method in line 63 to the following (returning HighQualitySoftwareRendering for Ultra setting):
This can be easily fixed by changing the SoftwareAdapterCapabilities.cs file in the Ab3d.DirectX.Client.Settings project that comes with the Ab3d.DXEngine sampes. You need to update the GetGraphicsProfileForQuality method in line 63 to the following (returning HighQualitySoftwareRendering for Ultra setting):
Code:
public override GraphicsProfile GetGraphicsProfileForQuality(RenderQualityTypes quality)
{
switch (quality)
{
case RenderQualityTypes.Low:
return GraphicsProfile.LowQualitySoftwareRendering;
case RenderQualityTypes.Normal:
return GraphicsProfile.NormalQualitySoftwareRendering;
case RenderQualityTypes.High:
case RenderQualityTypes.Ultra:
return GraphicsProfile.HighQualitySoftwareRendering;
case RenderQualityTypes.Custom:
default:
throw new ArgumentOutOfRangeException("quality");
}
}
Andrej Benedik

