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 |