Método IDirect3D9::CheckDeviceMultiSampleType (d3d9helper.h)
Determina se uma técnica de multisampling está disponível neste dispositivo.
Sintaxe
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 o adaptador de exibição para consulta. D3DADAPTER_DEFAULT é sempre o adaptador de exibição principal. Esse método retorna FALSE quando esse valor é igual ou excede o número de adaptadores de exibição no sistema. Consulte Observações.
[in] DeviceType
Tipo: D3DDEVTYPE
Membro do tipo enumerado D3DDEVTYPE , identificando o tipo de dispositivo.
[in] SurfaceFormat
Tipo: D3DFORMAT
Membro do tipo enumerado D3DFORMAT que especifica o formato da superfície a ser multisampled. Para obter mais informações, consulte Comentários.
[in] Windowed
Tipo: BOOL
valor bool. Especifique TRUE para saber mais sobre o multisampling em janelas e especifique FALSE para perguntar sobre multisampling em tela inteira.
[in] MultiSampleType
Tipo: D3DMULTISAMPLE_TYPE
Membro do D3DMULTISAMPLE_TYPE tipo enumerado, identificando a técnica multisampling a ser testada.
[out] pQualityLevels
Tipo: DWORD*
pQualityLevels retorna o número de variações de amostragem específicas do dispositivo disponíveis com o tipo de exemplo fornecido. Por exemplo, se o valor retornado for 3, os níveis de qualidade 0, 1 e 2 poderão ser usados ao criar recursos com a contagem de exemplo fornecida. Os significados desses níveis de qualidade são definidos pelo fabricante do dispositivo e não podem ser consultados por meio de D3D. Por exemplo, para um determinado dispositivo, diferentes níveis de qualidade em uma contagem de exemplo fixa podem se referir a layouts espaciais diferentes dos locais de exemplo ou diferentes métodos de resolução. Isso poderá ser NULL se não for necessário retornar os níveis de qualidade.
Valor retornado
Tipo: HRESULT
Se o dispositivo puder executar o método multisampling especificado, esse método retornará D3D_OK. D3DERR_INVALIDCALL será retornado se os parâmetros Adapter ou MultiSampleType forem inválidos. Esse método retornará D3DERR_NOTAVAILABLE se a técnica de multisampling consultada não for compatível com esse dispositivo. D3DERR_INVALIDDEVICE será retornado se DeviceType não se aplicar a esse adaptador.
Comentários
Esse método destina-se a ser usado com superfícies de destino de renderização e de estêncil de profundidade, pois você deve criar ambas as superfícies com várias superfícies se quiser usá-las juntas.
O fragmento de código a seguir mostra como você pode usar CheckDeviceMultiSampleType para testar dispositivos que dão suporte a um método multisampling 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;
O código anterior retornará S_OK se o dispositivo der suporte ao método multisampling de D3DMULTISAMPLE_3_SAMPLES tela inteira com o formato de superfície.
Consulte as observações em D3DMULTISAMPLE_TYPE para obter informações adicionais sobre como trabalhar com e definir tipos de várias amostras e níveis de qualidade.
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | d3d9helper.h (inclua D3D9.h) |
Biblioteca | D3D9.lib |