Входной регистр
Входной регистр шейдера вершин.
Данные из каждой вершины (с использованием одного или нескольких входных потоков вершин) загружаются в регистры входных данных вершин перед запуском шейдера вершин. Входные регистры состоят из 16 векторов с плавающей запятой с плавающей запятой, назначенных как v0–v15. Эти регистры доступны только для чтения. Входной регистр привязан к данным вершин через объявление вершин.
Следующие свойства регистра управляют поведением каждого регистра:
Свойство | Описание |
---|---|
Имя | v[n] — n является необязательным номером регистра. Значение 0 используется по умолчанию, если оно не указано. |
Считать | Не более 16 регистров, v0 – v15. |
Разрешения ввода-вывода | Только для чтения. Этот регистр не может быть записан API или в шейдере. |
Чтение портов | 1. Это количество раз, когда регистр можно прочитать в рамках одной инструкции. См. ниже. |
Любая отдельная инструкция может получить доступ только к одному регистру входных данных вершин. Однако каждый источник в инструкции может независимо переворашивать и отрицать этот вектор, как он считывается.
Пример
Ниже приведен пример использования объявления вершин для привязки данных о положении вершин 2D для регистрации версии 0.
Объявление вершин принадлежит приложению:
D3DVERTEXELEMENT9 decl[] =
{
{ 0, 0, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 },
D3DDECL_END()
};
Ниже приведено соответствующее объявление шейдера вершин:
dcl_position v0
Версии шейдера вершин | 1_1 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|
Регистрация позиции | x | x | x | x | x | x |
Связанные разделы