Compartir a través de


Manager.CheckDeviceMultiSampleType (Método)

Actualización: noviembre 2007

Determina si hay una técnica de muestreo múltiple disponible en el dispositivo actual.

Espacio de nombres:  Microsoft.WindowsMobile.DirectX.Direct3D
Ensamblado:  Microsoft.WindowsMobile.DirectX (en Microsoft.WindowsMobile.DirectX.dll)

Sintaxis

'Declaración
Public Shared Function CheckDeviceMultiSampleType ( _
    adapter As Integer, _
    deviceType As DeviceType, _
    surfaceFormat As Format, _
    windowed As Boolean, _
    multiSampleType As MultiSampleType _
) As Boolean
'Uso
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

Parámetros

  • windowed
    Tipo: System.Boolean
    Se establece en true para realizar consultas sobre el muestreo múltiple en ventana. Se establece en false para realizar consultas sobre el muestreo múltiple en pantalla completa.

Valor devuelto

Tipo: System.Boolean
true si el método se realiza correctamente; en caso contrario, false.

Comentarios

Este método está pensado para ser utilizado con superficies de destino de representación y de estarcido de profundidad porque se deben crear como con muestreo múltiple para poderse usar en conjunto.

Ejemplos

En el ejemplo de código siguiente se muestra cómo comprobar la compatibilidad de un método de muestreo múltiple concreto.

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
}

Permisos

Plataformas

Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Información de versión

.NET Compact Framework

Compatible con: 3.5, 2.0

Vea también

Referencia

Manager (Clase)

Manager (Miembros)

Microsoft.WindowsMobile.DirectX.Direct3D (Espacio de nombres)