D3D12_FILTER enumeração (d3d12.h)
Especifica as opções de filtragem durante a amostragem de textura.
Syntax
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
} ;
Constantes
D3D12_FILTER_MIN_MAG_MIP_POINT Valor: 0 Use a amostragem de ponto para minificação, ampliação e amostragem no nível de mip. |
D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR Valor: 0x1 Usar amostragem de ponto para minificação e ampliação; use interpolação linear para amostragem no nível de mip. |
D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT Valor: 0x4 Usar amostragem de ponto para minificação; usar interpolação linear para ampliação; amostragem de ponto de uso para amostragem no nível de mip. |
D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR Valor: 0x5 Usar amostragem de ponto para minificação; use a interpolação linear para ampliação e amostragem no nível de mip. |
D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT Valor: 0x10 Usar interpolação linear para minificação; amostragem de ponto de uso para ampliação e amostragem no nível de mip. |
D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR Valor: 0x11 Usar interpolação linear para minificação; amostragem de ponto de uso para ampliação; use interpolação linear para amostragem no nível de mip. |
D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT Valor: 0x14 Usar interpolação linear para minificação e ampliação; amostragem de ponto de uso para amostragem no nível de mip. |
D3D12_FILTER_MIN_MAG_MIP_LINEAR Valor: 0x15 Use a interpolação linear para minificação, ampliação e amostragem no nível de mip. |
D3D12_FILTER_ANISOTROPIC Valor: 0x55 Use a interpolação anisotrópica para minificação, ampliação e amostragem no nível de mip. |
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT Valor: 0x80 Use a amostragem de ponto para minificação, ampliação e amostragem no nível de mip. Compare o resultado com o valor de comparação. |
D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR Valor: 0x81 Usar amostragem de ponto para minificação e ampliação; use interpolação linear para amostragem no nível de mip. Compare o resultado com o valor de comparação. |
D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT Valor: 0x84 Usar amostragem de ponto para minificação; usar interpolação linear para ampliação; amostragem de ponto de uso para amostragem no nível de mip. Compare o resultado com o valor de comparação. |
D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR Valor: 0x85 Usar amostragem de ponto para minificação; use a interpolação linear para ampliação e amostragem no nível de mip. Compare o resultado com o valor de comparação. |
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT Valor: 0x90 Usar interpolação linear para minificação; amostragem de ponto de uso para ampliação e amostragem no nível de mip. Compare o resultado com o valor de comparação. |
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR Valor: 0x91 Usar interpolação linear para minificação; amostragem de ponto de uso para ampliação; use interpolação linear para amostragem no nível de mip. Compare o resultado com o valor de comparação. |
D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT Valor: 0x94 Usar interpolação linear para minificação e ampliação; amostragem de ponto de uso para amostragem no nível de mip. Compare o resultado com o valor de comparação. |
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR Valor: 0x95 Use a interpolação linear para minificação, ampliação e amostragem no nível de mip. Compare o resultado com o valor de comparação. |
D3D12_FILTER_COMPARISON_ANISOTROPIC Valor: 0xd5 Use a interpolação anisotrópica para minificação, ampliação e amostragem no nível de mip. Compare o resultado com o valor de comparação. |
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT Valor: 0x100 Busque o mesmo conjunto de texels que D3D12_FILTER_MIN_MAG_MIP_POINT e, em vez de filtrá-los, retorne o mínimo dos texels. Texels ponderados 0 durante a filtragem não são contados no mínimo. Você pode consultar o suporte para esse tipo de filtro do membro MinMaxFiltering na estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR Valor: 0x101 Busque o mesmo conjunto de texels que D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR e, em vez de filtrá-los, retorne o mínimo dos texels. Texels ponderados 0 durante a filtragem não são contados no mínimo. Você pode consultar o suporte para esse tipo de filtro do membro MinMaxFiltering na estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT Valor: 0x104 Busque o mesmo conjunto de texels que D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT e, em vez de filtrá-los, retorne o mínimo dos texels. Texels ponderados 0 durante a filtragem não são contados no mínimo. Você pode consultar o suporte para esse tipo de filtro do membro MinMaxFiltering na estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR Valor: 0x105 Busque o mesmo conjunto de texels que D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR e, em vez de filtrá-los, retorne o mínimo dos texels. Texels ponderados 0 durante a filtragem não são contados no mínimo. Você pode consultar o suporte para esse tipo de filtro do membro MinMaxFiltering na estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT Valor: 0x110 Busque o mesmo conjunto de texels que D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT e, em vez de filtrá-los, retorne o mínimo dos texels. Texels ponderados 0 durante a filtragem não são contados no mínimo. Você pode consultar o suporte para esse tipo de filtro do membro MinMaxFiltering na estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR Valor: 0x111 Busque o mesmo conjunto de texels que D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR e, em vez de filtrá-los, retorne o mínimo dos texels. Texels ponderados 0 durante a filtragem não são contados no mínimo. Você pode consultar o suporte para esse tipo de filtro do membro MinMaxFiltering na estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT Valor: 0x114 Busque o mesmo conjunto de texels que D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT e, em vez de filtrá-los, retorne o mínimo dos texels. Texels ponderados 0 durante a filtragem não são contados no mínimo. Você pode consultar o suporte para esse tipo de filtro do membro MinMaxFiltering na estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR Valor: 0x115 Busque o mesmo conjunto de texels que D3D12_FILTER_MIN_MAG_MIP_LINEAR e, em vez de filtrá-los, retorne o mínimo dos texels. Texels ponderados 0 durante a filtragem não são contados no mínimo. Você pode consultar o suporte para esse tipo de filtro do membro MinMaxFiltering na estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_ANISOTROPIC Valor: 0x155 Busque o mesmo conjunto de texels que D3D12_FILTER_ANISOTROPIC e, em vez de filtrá-los, retorne o mínimo dos texels. Texels ponderados 0 durante a filtragem não são contados no mínimo. Você pode consultar o suporte para esse tipo de filtro do membro MinMaxFiltering na estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT Valor: 0x180 Busque o mesmo conjunto de texels que D3D12_FILTER_MIN_MAG_MIP_POINT e, em vez de filtrá-los, retorne o máximo de texels. Texels ponderados 0 durante a filtragem não são contados para o máximo. Você pode consultar o suporte para esse tipo de filtro do membro MinMaxFiltering na estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR Valor: 0x181 Busque o mesmo conjunto de texels que D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR e, em vez de filtrá-los, retorne o máximo dos texels. Texels ponderados 0 durante a filtragem não são contados para o máximo. Você pode consultar o suporte para esse tipo de filtro do membro MinMaxFiltering na estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT Valor: 0x184 Busque o mesmo conjunto de texels que D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT e, em vez de filtrá-los, retorne o máximo de texels. Texels ponderados 0 durante a filtragem não são contados para o máximo. Você pode consultar o suporte para esse tipo de filtro do membro MinMaxFiltering na estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR Valor: 0x185 Busque o mesmo conjunto de texels que D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR e, em vez de filtrá-los, retorne o máximo dos texels. Texels ponderados 0 durante a filtragem não são contados para o máximo. Você pode consultar o suporte para esse tipo de filtro do membro MinMaxFiltering na estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT Valor: 0x190 Busque o mesmo conjunto de texels que D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT e, em vez de filtrá-los, retorne o máximo dos texels. Texels ponderados 0 durante a filtragem não são contados para o máximo. Você pode consultar o suporte para esse tipo de filtro do membro MinMaxFiltering na estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR Valor: 0x191 Busque o mesmo conjunto de texels que D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR e, em vez de filtrá-los, retorne o máximo dos texels. Texels ponderados 0 durante a filtragem não são contados para o máximo. Você pode consultar o suporte para esse tipo de filtro do membro MinMaxFiltering na estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT Valor: 0x194 Busque o mesmo conjunto de texels que D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT e, em vez de filtrá-los, retorne o máximo dos texels. Texels ponderados 0 durante a filtragem não são contados para o máximo. Você pode consultar o suporte para esse tipo de filtro do membro MinMaxFiltering na estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR Valor: 0x195 Busque o mesmo conjunto de texels que D3D12_FILTER_MIN_MAG_MIP_LINEAR e, em vez de filtrá-los, retorne o máximo de texels. Texels ponderados 0 durante a filtragem não são contados para o máximo. Você pode consultar o suporte para esse tipo de filtro do membro MinMaxFiltering na estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_ANISOTROPIC Valor: 0x1d5 Busque o mesmo conjunto de texels que D3D12_FILTER_ANISOTROPIC e, em vez de filtrá-los, retorne o máximo de texels. Texels ponderados 0 durante a filtragem não são contados para o máximo. Você pode consultar o suporte para esse tipo de filtro do membro MinMaxFiltering na estrutura D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
Comentários
Essa enumeração é usada pela estrutura D3D12_SAMPLER_DESC .
As funções de amostragem de textura HLSL (Linguagem de Sombreador de Alto Nível) da Microsoft também dão suporte à filtragem de comparação durante a amostragem de textura. A filtragem de comparação compara cada texel amostrado com um valor de comparação. O resultado booliano é misturado da mesma forma que a filtragem de textura normal é combinada.
Você pode usar funções de amostragem de textura intrínsecas HLSL que implementam somente filtragem de textura ou funções complementares que usam filtragem de textura com filtragem de comparação.
Observe também que o seguinte define:
#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 ) ) )
Função de amostragem de textura | Função de amostragem de textura com filtragem de comparação |
---|---|
Amostra | SampleCmp ou SampleCmpLevelZero |
Os filtros de comparação funcionam apenas com texturas que têm os seguintes formatos: DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS, DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT_R24_UNORM_X8_TYPELESSDXGI_FORMAT_R16_UNORM.
Requisitos
Cabeçalho | d3d12.h |