Поделиться через


перечисление D3D10_FILTER (d3d10.h)

Параметры фильтрации во время выборки текстуры.

Синтаксис

typedef enum D3D10_FILTER {
  D3D10_FILTER_MIN_MAG_MIP_POINT = 0,
  D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
  D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
  D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
  D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
  D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
  D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
  D3D10_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
  D3D10_FILTER_ANISOTROPIC = 0x55,
  D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
  D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
  D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
  D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
  D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
  D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
  D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
  D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
  D3D10_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
  D3D10_FILTER_TEXT_1BIT = 0x80000000
} ;

Константы

 
D3D10_FILTER_MIN_MAG_MIP_POINT
Значение: 0
Используйте выборку точек для минификации, увеличения и выборки на уровне MIP.
D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR
Значение: 0x1
Использовать выборку точек для минификации и увеличения; использовать линейную интерполяцию для выборки на уровне MIP.
D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT
Значение: 0x4
Использовать выборку точек для минификации; использовать линейную интерполяцию для увеличения; использовать выборку точек для выборки уровня MIP.
D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR
Значение: 0x5
Использовать выборку точек для минификации; используйте линейную интерполяцию для увеличения и выборки на уровне MIP.
D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT
Значение: 0x10
Используйте линейную интерполяцию для минификации; использовать точечная выборка для увеличения и выборки на уровне MIP.
D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR
Значение: 0x11
Используйте линейную интерполяцию для минификации; использовать выборку точек для увеличения; использовать линейную интерполяцию для выборки на уровне MIP.
D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT
Значение: 0x14
Используйте линейную интерполяцию для минификации и увеличения; использовать выборку точек для выборки уровня MIP.
D3D10_FILTER_MIN_MAG_MIP_LINEAR
Значение: 0x15
Используйте линейную интерполяцию для минификации, увеличения и выборки на уровне MIP.
D3D10_FILTER_ANISOTROPIC
Значение: 0x55
Используйте анизотропную интерполяцию для минификации, увеличения и выборки на уровне MIP.
D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT
Значение: 0x80
Используйте выборку точек для минификации, увеличения и выборки на уровне MIP. Сравните результат со значением сравнения.
D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR
Значение: 0x81
Использовать выборку точек для минификации и увеличения; использовать линейную интерполяцию для выборки на уровне MIP. Сравните результат со значением сравнения.
D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT
Значение: 0x84
Использовать выборку точек для минификации; использовать линейную интерполяцию для увеличения; использовать выборку точек для выборки уровня MIP. Сравните результат со значением сравнения.
D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR
Значение: 0x85
Использовать выборку точек для минификации; используйте линейную интерполяцию для увеличения и выборки на уровне MIP. Сравните результат со значением сравнения.
D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT
Значение: 0x90
Используйте линейную интерполяцию для минификации; использовать точечная выборка для увеличения и выборки на уровне MIP. Сравните результат со значением сравнения.
D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR
Значение: 0x91
Используйте линейную интерполяцию для минификации; использовать выборку точек для увеличения; использовать линейную интерполяцию для выборки на уровне MIP. Сравните результат со значением сравнения.
D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT
Значение: 0x94
Используйте линейную интерполяцию для минификации и увеличения; использовать выборку точек для выборки уровня MIP. Сравните результат со значением сравнения.
D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR
Значение: 0x95
Используйте линейную интерполяцию для минификации, увеличения и выборки на уровне MIP. Сравните результат со значением сравнения.
D3D10_FILTER_COMPARISON_ANISOTROPIC
Значение: 0xd5
Используйте анизотропную интерполяцию для минификации, увеличения и выборки на уровне MIP. Сравните результат со значением сравнения.
D3D10_FILTER_TEXT_1BIT
Значение: 0x80000000
Для использования в пиксельных шейдерах с текстурами, имеющими формат R1_UNORM.

Комментарии

Во время выборки текстуры один или несколько текселей считываются и объединяются (это вызывает фильтрацию), чтобы получить одно значение. Выборка точек считывает один тексель, а линейная выборка считывает два текселя (конечные точки) и линейно интерполирует третье значение между конечными точками.

Функции выборки текстур HLSL также поддерживают фильтрацию сравнения во время выборки текстур. Фильтрация сравнения сравнивает каждую выборку текселя со значением сравнения. Логический результат смешивается так же, как и обычная фильтрация текстур.

Вы можете использовать встроенные функции выборки текстур HLSL, которые реализуют только фильтрацию текстур, или функции-компаньоны, использующие фильтрацию текстур с фильтрацией сравнения.

Функция выборки текстур Функция выборки текстур с фильтрацией сравнения
Образец samplecmp или samplecmplevelzero
 

Фильтры сравнения работают только с текстурами следующих форматов: R32_FLOAT_X8X24_TYPELESS, R32_FLOAT, R24_UNORM_X8_TYPELESS R16_UNORM.

Требования

Требование Значение
Заголовок d3d10.h

См. также раздел

Перечисления core