enumerazione D3D12_FILTER (d3d12.h)
Specifica le opzioni di filtro durante il campionamento delle trame.
Sintassi
typedef enum D3D12_FILTER {
D3D12_FILTER_MIN_MAG_MIP_POINT = 0,
D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
D3D12_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
D3D12_FILTER_MIN_MAG_ANISOTROPIC_MIP_POINT,
D3D12_FILTER_ANISOTROPIC = 0x55,
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
D3D12_FILTER_COMPARISON_MIN_MAG_ANISOTROPIC_MIP_POINT,
D3D12_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100,
D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101,
D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104,
D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105,
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110,
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111,
D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114,
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115,
D3D12_FILTER_MINIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT,
D3D12_FILTER_MINIMUM_ANISOTROPIC = 0x155,
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180,
D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181,
D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184,
D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185,
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190,
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191,
D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194,
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195,
D3D12_FILTER_MAXIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT,
D3D12_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5
} ;
Costanti
D3D12_FILTER_MIN_MAG_MIP_POINT Valore: 0 Usare il campionamento dei punti per il campionamento a livello di minificazione, ingrandimento e mip. |
D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR Valore: 0x1 Utilizzare il campionamento dei punti per la minificazione e l'ingrandimento; usare l'interpolazione lineare per il campionamento a livello mip. |
D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT Valore: 0x4 Usare il campionamento dei punti per la minimizzazione; utilizzare l'interpolazione lineare per l'ingrandimento; usare il campionamento dei punti per il campionamento a livello mip. |
D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR Valore: 0x5 Usare il campionamento dei punti per la minimizzazione; usare l'interpolazione lineare per l'ingrandimento e il campionamento a livello mip. |
D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT Valore: 0x10 Usare l'interpolazione lineare per la minimizzazione; usare il campionamento dei punti per l'ingrandimento e il campionamento a livello mip. |
D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR Valore: 0x11 Usare l'interpolazione lineare per la minimizzazione; utilizzare il campionamento dei punti per l'ingrandimento; usare l'interpolazione lineare per il campionamento a livello mip. |
D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT Valore: 0x14 Usare l'interpolazione lineare per la minificazione e l'ingrandimento; usare il campionamento dei punti per il campionamento a livello mip. |
D3D12_FILTER_MIN_MAG_MIP_LINEAR Valore: 0x15 Usare l'interpolazione lineare per il campionamento a livello di minificazione, ingrandimento e mip. |
D3D12_FILTER_ANISOTROPIC Valore: 0x55 Usare l'interpolazione anisotropica per il campionamento a livello di minificazione, ingrandimento e mip. |
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT Valore: 0x80 Usare il campionamento dei punti per il campionamento a livello di minificazione, ingrandimento e mip. Confrontare il risultato con il valore di confronto. |
D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR Valore: 0x81 Utilizzare il campionamento dei punti per la minificazione e l'ingrandimento; usare l'interpolazione lineare per il campionamento a livello mip. Confrontare il risultato con il valore di confronto. |
D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT Valore: 0x84 Usare il campionamento dei punti per la minimizzazione; utilizzare l'interpolazione lineare per l'ingrandimento; usare il campionamento dei punti per il campionamento a livello mip. Confrontare il risultato con il valore di confronto. |
D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR Valore: 0x85 Usare il campionamento dei punti per la minimizzazione; usare l'interpolazione lineare per l'ingrandimento e il campionamento a livello mip. Confrontare il risultato con il valore di confronto. |
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT Valore: 0x90 Usare l'interpolazione lineare per la minimizzazione; usare il campionamento dei punti per l'ingrandimento e il campionamento a livello mip. Confrontare il risultato con il valore di confronto. |
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR Valore: 0x91 Usare l'interpolazione lineare per la minimizzazione; utilizzare il campionamento dei punti per l'ingrandimento; usare l'interpolazione lineare per il campionamento a livello mip. Confrontare il risultato con il valore di confronto. |
D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT Valore: 0x94 Usare l'interpolazione lineare per la minificazione e l'ingrandimento; usare il campionamento dei punti per il campionamento a livello mip. Confrontare il risultato con il valore di confronto. |
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR Valore: 0x95 Usare l'interpolazione lineare per il campionamento a livello di minificazione, ingrandimento e mip. Confrontare il risultato con il valore di confronto. |
D3D12_FILTER_COMPARISON_ANISOTROPIC Valore: 0xd5 Usare l'interpolazione anisotropica per il campionamento a livello di minificazione, ingrandimento e mip. Confrontare il risultato con il valore di confronto. |
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT Valore: 0x100 Recuperare lo stesso set di texel di D3D12_FILTER_MIN_MAG_MIP_POINT e invece di filtrarli restituiscono il minimo dei texel. I texel ponderati 0 durante il filtro non vengono conteggiati per il valore minimo. È possibile eseguire query per questo tipo di filtro dal membro MinMaxFiltering nella struttura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR Valore: 0x101 Recuperare lo stesso set di texel come D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR e invece di filtrarli restituiscono il minimo dei texel. I texel ponderati 0 durante il filtro non vengono conteggiati per il valore minimo. È possibile eseguire query per questo tipo di filtro dal membro MinMaxFiltering nella struttura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT Valore: 0x104 Recuperare lo stesso set di texel come D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT e invece di filtrarli restituiscono il minimo dei texel. I texel ponderati 0 durante il filtro non vengono conteggiati per il valore minimo. È possibile eseguire query per questo tipo di filtro dal membro MinMaxFiltering nella struttura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR Valore: 0x105 Recuperare lo stesso set di texel di D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR e invece di filtrarli restituiscono il minimo dei texel. I texel ponderati 0 durante il filtro non vengono conteggiati per il valore minimo. È possibile eseguire query per questo tipo di filtro dal membro MinMaxFiltering nella struttura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT Valore: 0x110 Recuperare lo stesso set di texel di D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT e invece di filtrarli restituiscono il minimo dei texel. I texel ponderati 0 durante il filtro non vengono conteggiati per il valore minimo. È possibile eseguire query per questo tipo di filtro dal membro MinMaxFiltering nella struttura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR Valore: 0x111 Recuperare lo stesso set di texel di D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR e invece di filtrarli restituiscono il minimo dei texel. I texel ponderati 0 durante il filtro non vengono conteggiati per il valore minimo. È possibile eseguire query per questo tipo di filtro dal membro MinMaxFiltering nella struttura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT Valore: 0x114 Recuperare lo stesso set di texel di D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT e invece di filtrarli restituiscono il minimo dei texel. I texel ponderati 0 durante il filtro non vengono conteggiati per il valore minimo. È possibile eseguire query per questo tipo di filtro dal membro MinMaxFiltering nella struttura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR Valore: 0x115 Recuperare lo stesso set di texel di D3D12_FILTER_MIN_MAG_MIP_LINEAR e invece di filtrarli restituiscono il minimo dei texel. I texel ponderati 0 durante il filtro non vengono conteggiati per il valore minimo. È possibile eseguire query per questo tipo di filtro dal membro MinMaxFiltering nella struttura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_ANISOTROPIC Valore: 0x155 Recuperare lo stesso set di texel come D3D12_FILTER_ANISOTROPIC e invece di filtrarli restituiscono il minimo dei texel. I texel ponderati 0 durante il filtro non vengono conteggiati per il valore minimo. È possibile eseguire query per questo tipo di filtro dal membro MinMaxFiltering nella struttura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT Valore: 0x180 Recuperare lo stesso set di texel di D3D12_FILTER_MIN_MAG_MIP_POINT e invece di filtrarli restituiscono il massimo dei texel. I texel ponderati 0 durante il filtro non vengono conteggiati per il valore massimo. È possibile eseguire query per questo tipo di filtro dal membro MinMaxFiltering nella struttura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR Valore: 0x181 Recuperare lo stesso set di texel di D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR e invece di filtrarli restituiscono il massimo dei texel. I texel ponderati 0 durante il filtro non vengono conteggiati per il valore massimo. È possibile eseguire query per questo tipo di filtro dal membro MinMaxFiltering nella struttura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT Valore: 0x184 Recuperare lo stesso set di texel di D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT e invece di filtrarli restituiscono il massimo dei texel. I texel ponderati 0 durante il filtro non vengono conteggiati per il valore massimo. È possibile eseguire query per questo tipo di filtro dal membro MinMaxFiltering nella struttura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR Valore: 0x185 Recuperare lo stesso set di texel di D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR e invece di filtrarli restituiscono il massimo dei texel. I texel ponderati 0 durante il filtro non vengono conteggiati verso il massimo. È possibile eseguire query sul supporto di questo tipo di filtro dal membro MinMaxFiltering nella struttura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT Valore: 0x190 Recuperare lo stesso set di texel di D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT e invece di filtrarli restituiscono il massimo dei texel. I texel ponderati 0 durante il filtro non vengono conteggiati verso il massimo. È possibile eseguire query sul supporto di questo tipo di filtro dal membro MinMaxFiltering nella struttura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR Valore: 0x191 Recuperare lo stesso set di texel di D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR e invece di filtrarli restituiscono il massimo dei texel. I texel ponderati 0 durante il filtro non vengono conteggiati verso il massimo. È possibile eseguire query sul supporto di questo tipo di filtro dal membro MinMaxFiltering nella struttura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT Valore: 0x194 Recuperare lo stesso set di texel di D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT e invece di filtrarli restituiscono il massimo dei texel. I texel ponderati 0 durante il filtro non vengono conteggiati verso il massimo. È possibile eseguire query sul supporto di questo tipo di filtro dal membro MinMaxFiltering nella struttura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR Valore: 0x195 Recuperare lo stesso set di texel di D3D12_FILTER_MIN_MAG_MIP_LINEAR e invece di filtrarli restituiscono il massimo dei texel. I texel ponderati 0 durante il filtro non vengono conteggiati verso il massimo. È possibile eseguire query sul supporto di questo tipo di filtro dal membro MinMaxFiltering nella struttura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_ANISOTROPIC Valore: 0x1d5 Recuperare lo stesso set di texel di D3D12_FILTER_ANISOTROPIC e invece di filtrarli restituiscono il massimo dei texel. I texel ponderati 0 durante il filtro non vengono conteggiati verso il massimo. È possibile eseguire query sul supporto di questo tipo di filtro dal membro MinMaxFiltering nella struttura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
Commenti
Questa enumerazione viene usata dalla struttura D3D12_SAMPLER_DESC .
Le funzioni di campionamento della trama di Microsoft High Level Shader Language (HLSL) supportano anche il filtro di confronto durante il campionamento della trama. Il filtro di confronto confronta ogni texel campione con un valore di confronto. Il risultato booleano viene unito allo stesso modo in cui viene miscelato il normale filtro della trama.
È possibile usare funzioni intrinseche di campionamento della trama HLSL che implementano il filtro delle trame solo o le funzioni complementari che usano il filtro delle trame con il filtro di confronto.
Si noti anche quanto segue:
#define D3D12_FILTER_REDUCTION_TYPE_MASK ( 0x3 )
#define D3D12_FILTER_REDUCTION_TYPE_SHIFT ( 7 )
#define D3D12_FILTER_TYPE_MASK ( 0x3 )
#define D3D12_MIN_FILTER_SHIFT ( 4 )
#define D3D12_MAG_FILTER_SHIFT ( 2 )
#define D3D12_MIP_FILTER_SHIFT ( 0 )
#define D3D12_ANISOTROPIC_FILTERING_BIT ( 0x40 )
#define D3D12_ENCODE_BASIC_FILTER( min, mag, mip, reduction ) \
( ( D3D12_FILTER ) ( \
( ( ( min ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIN_FILTER_SHIFT ) | \
( ( ( mag ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MAG_FILTER_SHIFT ) | \
( ( ( mip ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIP_FILTER_SHIFT ) | \
( ( ( reduction ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) << D3D12_FILTER_REDUCTION_TYPE_SHIFT ) ) )
#define D3D12_ENCODE_ANISOTROPIC_FILTER( reduction ) \
( ( D3D12_FILTER ) ( \
D3D12_ANISOTROPIC_FILTERING_BIT | \
D3D12_ENCODE_BASIC_FILTER( D3D12_FILTER_TYPE_LINEAR, \
D3D12_FILTER_TYPE_LINEAR, \
D3D12_FILTER_TYPE_LINEAR, \
reduction ) ) )
#define D3D12_DECODE_MIN_FILTER( D3D12Filter ) \
( ( D3D12_FILTER_TYPE ) \
( ( ( D3D12Filter ) >> D3D12_MIN_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
#define D3D12_DECODE_MAG_FILTER( D3D12Filter ) \
( ( D3D12_FILTER_TYPE ) \
( ( ( D3D12Filter ) >> D3D12_MAG_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
#define D3D12_DECODE_MIP_FILTER( D3D12Filter ) \
( ( D3D12_FILTER_TYPE ) \
( ( ( D3D12Filter ) >> D3D12_MIP_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
#define D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) \
( ( D3D12_FILTER_REDUCTION_TYPE ) \
( ( ( D3D12Filter ) >> D3D12_FILTER_REDUCTION_TYPE_SHIFT ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) )
#define D3D12_DECODE_IS_COMPARISON_FILTER( D3D12Filter ) \
( D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) == D3D12_FILTER_REDUCTION_TYPE_COMPARISON )
#define D3D12_DECODE_IS_ANISOTROPIC_FILTER( D3D12Filter ) \
( ( ( D3D12Filter ) & D3D12_ANISOTROPIC_FILTERING_BIT ) && \
( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIN_FILTER( D3D12Filter ) ) && \
( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MAG_FILTER( D3D12Filter ) ) && \
( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIP_FILTER( D3D12Filter ) ) )
Funzione di campionamento trama | Funzione di campionamento della trama con filtro di confronto |
---|---|
Esempio | SampleCmp o SampleCmpLevelZero |
I filtri di confronto funzionano solo con trame con i formati seguenti: DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS, DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT_R24_UNORM_X8_TYPELESS, DXGI_FORMAT_R16_UNORM.
Requisiti
Intestazione | d3d12.h |