다음을 통해 공유


Manager.CheckDeviceMultiSampleType Method

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Determines whether a multisampling technique is available on the current device.

Namespace:  Microsoft.WindowsMobile.DirectX.Direct3D
Assembly:  Microsoft.WindowsMobile.DirectX (in Microsoft.WindowsMobile.DirectX.dll)

Syntax

'Declaration
Public Shared Function CheckDeviceMultiSampleType ( _
    adapter As Integer, _
    deviceType As DeviceType, _
    surfaceFormat As Format, _
    windowed As Boolean, _
    multiSampleType As MultiSampleType _
) As Boolean
'Usage
Dim adapter As Integer
Dim deviceType As DeviceType
Dim surfaceFormat As Format
Dim windowed As Boolean
Dim multiSampleType As MultiSampleType
Dim returnValue As Boolean

returnValue = Manager.CheckDeviceMultiSampleType(adapter, _
    deviceType, surfaceFormat, windowed, _
    multiSampleType)
public static bool CheckDeviceMultiSampleType(
    int adapter,
    DeviceType deviceType,
    Format surfaceFormat,
    bool windowed,
    MultiSampleType multiSampleType
)
public:
static bool CheckDeviceMultiSampleType(
    int adapter, 
    DeviceType deviceType, 
    Format surfaceFormat, 
    bool windowed, 
    MultiSampleType multiSampleType
)
static member CheckDeviceMultiSampleType : 
        adapter:int * 
        deviceType:DeviceType * 
        surfaceFormat:Format * 
        windowed:bool * 
        multiSampleType:MultiSampleType -> bool 

Parameters

  • windowed
    Type: System.Boolean
    Set to true to inquire about windowed multisampling. Set to false to inquire about full-screen multisampling.

Return Value

Type: System.Boolean
true if the method succeeds; otherwise, false.

Remarks

This method is intended for use with both render target and depth stencil surfaces because they must be created as multisampled to be used together.

Examples

The following code example shows how to check for support of a specific multisampling method.

Public Sub CheckDeviceMultiSampleType()

    ' Test some formats
    IsDeviceMultiSampleOK(DepthFormat.D16, Format.A8R8G8B8, MultiSampleType.TwoSamples)

    If result <> Fix(ResultCode.Success) Then
        System.Windows.Forms.MessageBox.Show(String.Format("The multisample options are invalid:  {0}", result))
    End If

End Sub 'CheckDeviceMultiSampleType

Public Function IsDeviceMultiSampleOK(ByVal depthFmt As DepthFormat, ByVal backbufferFmt As Format, ByVal multisampleType As MultiSampleType) As Boolean
    Dim ai As AdapterInformation = Microsoft.WindowsMobile.DirectX.Direct3D.Manager.Adapters.Default
    Dim qualityLevels As Integer = 0

    ' Verify that the render target surface supports the given multisample type
    If Microsoft.WindowsMobile.DirectX.Direct3D.Manager.CheckDeviceMultiSampleType(ai.Adapter, DeviceType.Default, backbufferFmt, False, multisampleType) Then
        ' Verify that the depth stencil surface supports the given multisample type
        If Microsoft.WindowsMobile.DirectX.Direct3D.Manager.CheckDeviceMultiSampleType(ai.Adapter, DeviceType.Default, CType(depthFmt, Format), False, multisampleType) Then
            Return True ' if both calls succeed
        End If
    End If

    Return False
    ' if either call fails.  NOTE: HRESULT passed back in result
End Function
public void CheckDeviceMultiSampleType()
{

    // Test some formats
    IsDeviceMultiSampleOK(DepthFormat.D16, Format.A8R8G8B8, MultiSampleType.TwoSamples);

    if (result != (int)ResultCode.Success)
        System.Windows.Forms.MessageBox.Show(String.Format("The multisample options are invalid:  {0}", result));
}

public bool IsDeviceMultiSampleOK(DepthFormat depthFmt, Format backbufferFmt, MultiSampleType multisampleType)
{
    AdapterInformation ai = Microsoft.WindowsMobile.DirectX.Direct3D.Manager.Adapters.Default;
    int qualityLevels = 0;

    // Verify that the render target surface supports the given multisample type
    if (Microsoft.WindowsMobile.DirectX.Direct3D.Manager.CheckDeviceMultiSampleType(ai.Adapter, DeviceType.Default, backbufferFmt, false, multisampleType))
    {
        // Verify that the depth stencil surface supports the given multisample type
        if (Microsoft.WindowsMobile.DirectX.Direct3D.Manager.CheckDeviceMultiSampleType(ai.Adapter, DeviceType.Default, (Format)depthFmt, false, multisampleType))
        {
            return true;    // if both calls succeed
        }
    }

    return false;   // if either call fails.  NOTE: HRESULT passed back in result
}

.NET Framework Security

Platforms

Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Version Information

.NET Compact Framework

Supported in: 3.5, 2.0

See Also

Reference

Manager Class

Manager Members

Microsoft.WindowsMobile.DirectX.Direct3D Namespace