enumerasi D3D12_FILTER (d3d12.h)
Menentukan opsi pemfilteran selama pengambilan sampel tekstur.
Sintaks
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
} ;
Konstanta
D3D12_FILTER_MIN_MAG_MIP_POINT Nilai: 0 Gunakan pengambilan sampel titik untuk minifikasi, pembesaran, dan pengambilan sampel tingkat mip. |
D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR Nilai: 0x1 Gunakan pengambilan sampel titik untuk minifikasi dan pembesaran; gunakan interpolasi linier untuk pengambilan sampel tingkat mip. |
D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT Nilai: 0x4 Gunakan pengambilan sampel titik untuk minifikasi; gunakan interpolasi linier untuk pembesaran; gunakan pengambilan sampel titik untuk pengambilan sampel tingkat mip. |
D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR Nilai: 0x5 Gunakan pengambilan sampel titik untuk minifikasi; gunakan interpolasi linier untuk pembesaran dan pengambilan sampel tingkat mip. |
D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT Nilai: 0x10 Gunakan interpolasi linier untuk minifikasi; gunakan pengambilan sampel titik untuk pembesaran dan pengambilan sampel tingkat mip. |
D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR Nilai: 0x11 Gunakan interpolasi linier untuk minifikasi; gunakan pengambilan sampel titik untuk pembesaran; gunakan interpolasi linier untuk pengambilan sampel tingkat mip. |
D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT Nilai: 0x14 Gunakan interpolasi linier untuk minifikasi dan pembesaran; gunakan pengambilan sampel titik untuk pengambilan sampel tingkat mip. |
D3D12_FILTER_MIN_MAG_MIP_LINEAR Nilai: 0x15 Gunakan interpolasi linier untuk minifikasi, pembesaran, dan pengambilan sampel tingkat mip. |
D3D12_FILTER_ANISOTROPIC Nilai: 0x55 Gunakan interpolasi anisotropic untuk minifikasi, pembesaran, dan pengambilan sampel tingkat mip. |
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT Nilai: 0x80 Gunakan pengambilan sampel titik untuk minifikasi, pembesaran, dan pengambilan sampel tingkat mip. Bandingkan hasilnya dengan nilai perbandingan. |
D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR Nilai: 0x81 Gunakan pengambilan sampel titik untuk minifikasi dan pembesaran; gunakan interpolasi linier untuk pengambilan sampel tingkat mip. Bandingkan hasilnya dengan nilai perbandingan. |
D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT Nilai: 0x84 Gunakan pengambilan sampel titik untuk minifikasi; gunakan interpolasi linier untuk pembesaran; gunakan pengambilan sampel titik untuk pengambilan sampel tingkat mip. Bandingkan hasilnya dengan nilai perbandingan. |
D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR Nilai: 0x85 Gunakan pengambilan sampel titik untuk minifikasi; gunakan interpolasi linier untuk pembesaran dan pengambilan sampel tingkat mip. Bandingkan hasilnya dengan nilai perbandingan. |
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT Nilai: 0x90 Gunakan interpolasi linier untuk minifikasi; gunakan pengambilan sampel titik untuk pembesaran dan pengambilan sampel tingkat mip. Bandingkan hasilnya dengan nilai perbandingan. |
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR Nilai: 0x91 Gunakan interpolasi linier untuk minifikasi; gunakan pengambilan sampel titik untuk pembesaran; gunakan interpolasi linier untuk pengambilan sampel tingkat mip. Bandingkan hasilnya dengan nilai perbandingan. |
D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT Nilai: 0x94 Gunakan interpolasi linier untuk minifikasi dan pembesaran; gunakan pengambilan sampel titik untuk pengambilan sampel tingkat mip. Bandingkan hasilnya dengan nilai perbandingan. |
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR Nilai: 0x95 Gunakan interpolasi linier untuk minifikasi, pembesaran, dan pengambilan sampel tingkat mip. Bandingkan hasilnya dengan nilai perbandingan. |
D3D12_FILTER_COMPARISON_ANISOTROPIC Nilai: 0xd5 Gunakan interpolasi anisotropic untuk minifikasi, pembesaran, dan pengambilan sampel tingkat mip. Bandingkan hasilnya dengan nilai perbandingan. |
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT Nilai: 0x100 Ambil set texel yang sama dengan D3D12_FILTER_MIN_MAG_MIP_POINT dan alih-alih memfilternya mengembalikan minimum texel. Texel yang berbobot 0 selama pemfilteran tidak dihitung terhadap minimum. Anda dapat meminta dukungan untuk jenis filter ini dari anggota MinMaxFiltering dalam struktur D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR Nilai: 0x101 Ambil set texel yang sama dengan D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR dan alih-alih memfilternya mengembalikan minimum texel. Texel yang berbobot 0 selama pemfilteran tidak dihitung terhadap minimum. Anda dapat meminta dukungan untuk jenis filter ini dari anggota MinMaxFiltering dalam struktur D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT Nilai: 0x104 Ambil set texel yang sama dengan D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT dan alih-alih memfilternya mengembalikan minimum texel. Texel yang berbobot 0 selama pemfilteran tidak dihitung terhadap minimum. Anda dapat meminta dukungan untuk jenis filter ini dari anggota MinMaxFiltering dalam struktur D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR Nilai: 0x105 Ambil set texel yang sama dengan D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR dan alih-alih memfilternya mengembalikan minimum texel. Texel yang berbobot 0 selama pemfilteran tidak dihitung terhadap minimum. Anda dapat meminta dukungan untuk jenis filter ini dari anggota MinMaxFiltering dalam struktur D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT Nilai: 0x110 Ambil set texel yang sama dengan D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT dan alih-alih memfilternya mengembalikan minimum texel. Texel yang berbobot 0 selama pemfilteran tidak dihitung terhadap minimum. Anda dapat meminta dukungan untuk jenis filter ini dari anggota MinMaxFiltering dalam struktur D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR Nilai: 0x111 Ambil set texel yang sama dengan D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR dan alih-alih memfilternya mengembalikan minimum texel. Texel yang berbobot 0 selama pemfilteran tidak dihitung terhadap minimum. Anda dapat meminta dukungan untuk jenis filter ini dari anggota MinMaxFiltering dalam struktur D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT Nilai: 0x114 Ambil set texel yang sama dengan D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT dan alih-alih memfilternya mengembalikan minimum texel. Texel yang berbobot 0 selama pemfilteran tidak dihitung terhadap minimum. Anda dapat meminta dukungan untuk jenis filter ini dari anggota MinMaxFiltering dalam struktur D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR Nilai: 0x115 Ambil set texel yang sama dengan D3D12_FILTER_MIN_MAG_MIP_LINEAR dan alih-alih memfilternya mengembalikan minimum texel. Texel yang berbobot 0 selama pemfilteran tidak dihitung terhadap minimum. Anda dapat meminta dukungan untuk jenis filter ini dari anggota MinMaxFiltering dalam struktur D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MINIMUM_ANISOTROPIC Nilai: 0x155 Ambil set texel yang sama dengan D3D12_FILTER_ANISOTROPIC dan alih-alih memfilternya mengembalikan minimum texel. Texel yang berbobot 0 selama pemfilteran tidak dihitung terhadap minimum. Anda dapat meminta dukungan untuk jenis filter ini dari anggota MinMaxFiltering dalam struktur D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT Nilai: 0x180 Ambil set texel yang sama dengan D3D12_FILTER_MIN_MAG_MIP_POINT dan alih-alih memfilternya mengembalikan maksimum texel. Texel yang berbobot 0 selama pemfilteran tidak dihitung terhadap maksimum. Anda dapat meminta dukungan untuk jenis filter ini dari anggota MinMaxFiltering dalam struktur D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR Nilai: 0x181 Ambil set texel yang sama dengan D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR dan alih-alih memfilternya mengembalikan maksimum texel. Texel yang berbobot 0 selama pemfilteran tidak dihitung terhadap maksimum. Anda dapat meminta dukungan untuk jenis filter ini dari anggota MinMaxFiltering dalam struktur D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT Nilai: 0x184 Ambil set texel yang sama dengan D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT dan alih-alih memfilternya mengembalikan maksimum texel. Texel yang berbobot 0 selama pemfilteran tidak dihitung terhadap maksimum. Anda dapat meminta dukungan untuk jenis filter ini dari anggota MinMaxFiltering dalam struktur D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR Nilai: 0x185 Ambil set texel yang sama dengan D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR dan alih-alih memfilternya mengembalikan maksimum texel. Texel yang berbobot 0 selama pemfilteran tidak dihitung terhadap maksimum. Anda dapat meminta dukungan untuk jenis filter ini dari anggota MinMaxFiltering dalam struktur D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT Nilai: 0x190 Ambil set texel yang sama dengan D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT dan alih-alih memfilternya mengembalikan maksimum texel. Texel yang berbobot 0 selama pemfilteran tidak dihitung terhadap maksimum. Anda dapat meminta dukungan untuk jenis filter ini dari anggota MinMaxFiltering dalam struktur D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR Nilai: 0x191 Ambil set texel yang sama dengan D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR dan alih-alih memfilternya mengembalikan maksimum texel. Texel yang berbobot 0 selama pemfilteran tidak dihitung terhadap maksimum. Anda dapat meminta dukungan untuk jenis filter ini dari anggota MinMaxFiltering dalam struktur D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT Nilai: 0x194 Ambil set texel yang sama dengan D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT dan alih-alih memfilternya mengembalikan maksimum texel. Texel yang berbobot 0 selama pemfilteran tidak dihitung terhadap maksimum. Anda dapat meminta dukungan untuk jenis filter ini dari anggota MinMaxFiltering dalam struktur D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR Nilai: 0x195 Ambil set texel yang sama dengan D3D12_FILTER_MIN_MAG_MIP_LINEAR dan alih-alih memfilternya mengembalikan maksimum texel. Texel yang berbobot 0 selama pemfilteran tidak dihitung terhadap maksimum. Anda dapat meminta dukungan untuk jenis filter ini dari anggota MinMaxFiltering dalam struktur D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
D3D12_FILTER_MAXIMUM_ANISOTROPIC Nilai: 0x1d5 Ambil set texel yang sama dengan D3D12_FILTER_ANISOTROPIC dan alih-alih memfilternya mengembalikan maksimum texel. Texel yang berbobot 0 selama pemfilteran tidak dihitung terhadap maksimum. Anda dapat meminta dukungan untuk jenis filter ini dari anggota MinMaxFiltering dalam struktur D3D11_FEATURE_DATA_D3D11_OPTIONS1 . |
Keterangan
Enum ini digunakan oleh struktur D3D12_SAMPLER_DESC .
Fungsi pengambilan sampel tekstur Microsoft High Level Shader Language (HLSL) juga mendukung pemfilteran perbandingan selama pengambilan sampel tekstur. Pemfilteran perbandingan membandingkan setiap texel sampel dengan nilai perbandingan. Hasil boolean dipadukan dengan cara yang sama seperti pemfilteran tekstur normal dipadukan.
Anda dapat menggunakan fungsi pengambilan sampel tekstur intrinsik HLSL yang mengimplementasikan pemfilteran tekstur saja atau fungsi pendamping yang menggunakan pemfilteran tekstur dengan pemfilteran perbandingan.
Perhatikan juga definisi berikut:
#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 ) ) )
Fungsi Pengambilan Sampel Tekstur | Fungsi Pengambilan Sampel Tekstur dengan Pemfilteran Perbandingan |
---|---|
Sampel | SampleCmp atau SampleCmpLevelZero |
Filter perbandingan hanya berfungsi dengan tekstur yang memiliki format berikut: DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS, DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT_R24_UNORM_X8_TYPELESS, DXGI_FORMAT_R16_UNORM.
Persyaratan
Header | d3d12.h |