다음을 통해 공유


Manager.CheckDeviceMultiSampleType 메서드

업데이트: 2007년 11월

다중 샘플링 방법을 현재 장치에서 사용할 수 있는지 여부를 확인합니다.

네임스페이스:  Microsoft.WindowsMobile.DirectX.Direct3D
어셈블리:  Microsoft.WindowsMobile.DirectX(Microsoft.WindowsMobile.DirectX.dll)

구문

‘선언
Public Shared Function CheckDeviceMultiSampleType ( _
    adapter As Integer, _
    deviceType As DeviceType, _
    surfaceFormat As Format, _
    windowed As Boolean, _
    multiSampleType As MultiSampleType _
) As Boolean
‘사용 방법
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
)
public static function CheckDeviceMultiSampleType(
    adapter : int, 
    deviceType : DeviceType, 
    surfaceFormat : Format, 
    windowed : boolean, 
    multiSampleType : MultiSampleType
) : boolean

매개 변수

  • windowed
    형식: System.Boolean

    창 있는 다중 샘플링에 대해 조회하려면 true로 설정하고, 전체 화면 다중 샘플링에 대해 조회하려면 false로 설정합니다.

반환 값

형식: System.Boolean

메서드가 성공적으로 수행되면 true이고, 그렇지 않으면 false입니다.

설명

이 메서드는 함께 사용하기 위해 다중 샘플링된 것으로 만들어야 하는 렌더링 대상과 깊이 스텐실 표면에 모두 사용할 수 있습니다.

예제

다음 코드 예제에서는 특정 다중 샘플링 메서드의 지원을 확인하는 방법을 보여 줍니다.

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
}

권한

  • 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.

플랫폼

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

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Compact Framework

3.5, 2.0에서 지원

참고 항목

참조

Manager 클래스

Manager 멤버

Microsoft.WindowsMobile.DirectX.Direct3D 네임스페이스