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


Sampler (Direct3D 9 asm-vs)

Выборка — это входной псевдорегистратор для вершинного шейдера, который используется для идентификации этапа выборки. Существует четыре выборки шейдера вершинных шейдеров: от s0 до s3. Четыре поверхности текстуры можно считывать за один проход шейдера.

Sampler (Direct3D 9 asm-vs)s являются псевдорегистраторами, так как вы не можете напрямую считывать или записывать их.

Единица выборки соответствует этапу выборки текстуры, инкапсуляя конкретное состояние выборки, предоставляемое SetSamplerState. Каждый дискретизатор однозначно идентифицирует одну поверхность текстуры, для которой задается соответствующий дискретизатор с помощью SetTexture. Однако одну и ту же поверхность текстуры можно задать для нескольких выборок.

Во время рисования текстуру нельзя одновременно задать в качестве целевого объекта отрисовки и текстуры на этапе.

Так как существует четыре дискретизатора, в одном проходе шейдера можно считывать до четырех поверхностей текстуры. Дискретизатор может отображаться в качестве единственного аргумента в инструкции по загрузке текстуры: texldl - vs.

В vs_3_0, если используется образец, его необходимо объявить в начале программы шейдера с помощью инструкции dcl_samplerType (sm3 - vs asm).

Версии вершинного шейдера 1_1 2_0 2_sw 2_x 3_0 3_sw
Образец x x

 

Регистры вершинного шейдера

Текстуры вершин в vs_3_0 (DirectX HLSL)