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
매개 변수
adapter
형식: System.Int32쿼리할 디스플레이 어댑터를 나타내는 서수입니다. AdapterListCollection.Default는 항상 기본 디스플레이 어댑터입니다.
deviceType
형식: Microsoft.WindowsMobile.DirectX.Direct3D.DeviceType장치 유형을 식별하는 DeviceType 열거형의 멤버입니다.
surfaceFormat
형식: Microsoft.WindowsMobile.DirectX.Direct3D.Format다중 샘플링할 표면을 식별하는 Format 열거형의 멤버입니다.
windowed
형식: System.Boolean창 있는 다중 샘플링에 대해 조회하려면 true로 설정하고, 전체 화면 다중 샘플링에 대해 조회하려면 false로 설정합니다.
multiSampleType
형식: Microsoft.WindowsMobile.DirectX.Direct3D.MultiSampleType테스트할 다중 샘플링 방법을 식별하는 MultiSampleType 열거형의 멤버입니다.
반환 값
형식: 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에서 지원