Compartir a través de


Método IDirect3D9::CheckDeviceMultiSampleType (d3d9.h)

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

Sintaxis

HRESULT CheckDeviceMultiSampleType(
  [in]  UINT                Adapter,
  [in]  D3DDEVTYPE          DeviceType,
  [in]  D3DFORMAT           SurfaceFormat,
  [in]  BOOL                Windowed,
  [in]  D3DMULTISAMPLE_TYPE MultiSampleType,
  [out] DWORD               *pQualityLevels
);

Parámetros

[in] Adapter

Tipo: UINT

Número ordinal que indica el adaptador de pantalla que se va a consultar. D3DADAPTER_DEFAULT siempre es el adaptador de pantalla principal. Este método devuelve FALSE cuando este valor es igual o supera el número de adaptadores de pantalla del sistema. Vea la sección Comentarios.

[in] DeviceType

Tipo: D3DDEVTYPE

Miembro del tipo enumerado D3DDEVTYPE , que identifica el tipo de dispositivo.

[in] SurfaceFormat

Tipo: D3DFORMAT

Miembro del tipo enumerado D3DFORMAT que especifica el formato de la superficie que se va a muestrear de forma múltiple. Para obtener más información, vea la sección Comentarios.

[in] Windowed

Tipo: BOOL

valor bool. Especifique TRUE para consultar sobre el muestreo múltiple con ventanas y especifique FALSE para consultar sobre el muestreo múltiple de pantalla completa.

[in] MultiSampleType

Tipo: D3DMULTISAMPLE_TYPE

Miembro del tipo enumerado D3DMULTISAMPLE_TYPE , identificando la técnica de muestreo múltiple que se va a probar.

[out] pQualityLevels

Tipo: DWORD*

pQualityLevels devuelve el número de variaciones de muestreo específicas del dispositivo disponibles con el tipo de muestra especificado. Por ejemplo, si el valor devuelto es 3, se pueden usar los niveles de calidad 0, 1 y 2 al crear recursos con el recuento de muestras especificado. El fabricante del dispositivo define los significados de estos niveles de calidad y no se puede consultar a través de D3D. Por ejemplo, para un dispositivo determinado diferentes niveles de calidad en un recuento fijo de muestras puede hacer referencia a diferentes diseños espaciales de las ubicaciones de muestra o a diferentes métodos de resolución. Puede ser NULL si no es necesario devolver los niveles de calidad.

Valor devuelto

Tipo: HRESULT

Si el dispositivo puede realizar el método de muestreo múltiple especificado, este método devuelve D3D_OK. D3DERR_INVALIDCALL se devuelve si los parámetros Adapter o MultiSampleType no son válidos. Este método devuelve D3DERR_NOTAVAILABLE si este dispositivo no admite la técnica de muestreo múltiple consultada. D3DERR_INVALIDDEVICE se devuelve si DeviceType no se aplica a este adaptador.

Comentarios

Este método está diseñado para su uso con superficies de destino de representación y galería de símbolos de profundidad, ya que debe crear ambas superficies multimuestreo si desea usarlas juntas.

En el fragmento de código siguiente se muestra cómo puede usar CheckDeviceMultiSampleType para probar los dispositivos que admiten un método de muestreo múltiple específico.


if( SUCCEEDED(pD3D->CheckDeviceMultiSampleType( pCaps->AdapterOrdinal, 
                                pCaps->DeviceType, BackBufferFormat, 
                                FALSE, D3DMULTISAMPLE_3_SAMPLES, NULL ) ) &&
         SUCCEEDED(pD3D->CheckDeviceMultiSampleType( pCaps->AdapterOrdinal, 
                                pCaps->DeviceType, DepthBufferFormat, 
                                FALSE, D3DMULTISAMPLE_3_SAMPLES, NULL ) ) )
    return S_OK;

El código anterior devolverá S_OK si el dispositivo admite el método de muestreo múltiple de pantalla completa D3DMULTISAMPLE_3_SAMPLES con el formato de superficie.

Consulte los comentarios de D3DMULTISAMPLE_TYPE para obtener información adicional sobre cómo trabajar con y establecer tipos y niveles de calidad multisample.

Requisitos

   
Plataforma de destino Windows
Encabezado d3d9.h (incluya D3D9.h)
Library D3D9.lib

Consulte también

IDirect3D9