перечисление 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 |