Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Параметры фильтрации во время выборки текстуры.
Синтаксис
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 |