Перечисление D3DDECLMETHOD
Определяет метод объявления вершины, который представляет собой предопределенную операцию, выполняемую тесселлатором (или любой процедурной геометрической подпрограммой для данных вершин во время тесселяции).
Синтаксис
typedef enum D3DDECLMETHOD {
D3DDECLMETHOD_DEFAULT = 0,
D3DDECLMETHOD_PARTIALU = 1,
D3DDECLMETHOD_PARTIALV = 2,
D3DDECLMETHOD_CROSSUV = 3,
D3DDECLMETHOD_UV = 4,
D3DDECLMETHOD_LOOKUP = 5,
D3DDECLMETHOD_LOOKUPPRESAMPLED = 6
} D3DDECLMETHOD, *LPD3DDECLMETHOD;
Константы
-
D3DDECLMETHOD_DEFAULT
-
Значение по умолчанию. Tessellator копирует данные вершин (сплайновые данные для исправлений) без дополнительных вычислений. При использовании tessellator этот элемент интерполируется. В противном случае данные вершин копируются во входной регистр. Тип входных и выходных данных может иметь любое значение, но всегда один и тот же тип.
-
D3DDECLMETHOD_PARTIALU
-
Вычисляет тангенс в точке прямоугольника или треугольника в направлении U. Тип входных данных может быть одним из следующих:
- D3DDECLTYPE_D3DCOLOR
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
- D3DDECLTYPE_SHORT4
- D3DDECLTYPE_UBYTE4
Тип выходных данных всегда D3DDECLTYPE_FLOAT3.
-
D3DDECLMETHOD_PARTIALV
-
Вычисляет тангенс в точке прямоугольника или треугольника в направлении V. Тип входных данных может быть одним из следующих:
- D3DDECLTYPE_D3DCOLOR
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
- D3DDECLTYPE_SHORT4
- D3DDECLTYPE_UBYTE4
Тип выходных данных всегда D3DDECLTYPE_FLOAT3.
-
D3DDECLMETHOD_CROSSUV
-
Вычисляет норму в точке прямоугольника или треугольного патча, принимая поперечное произведение двух тангенсов. Тип входных данных может быть одним из следующих:
- D3DDECLTYPE_D3DCOLOR
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
- D3DDECLTYPE_SHORT4
- D3DDECLTYPE_UBYTE4
Тип выходных данных всегда D3DDECLTYPE_FLOAT3.
-
D3DDECLMETHOD_UV
-
Скопируйте значения U, V в точке прямоугольника или треугольного исправления. Это приводит к 2D float. Тип входных данных должен иметь значение D3DDECLTYPE_UNUSED. Тип выходных данных всегда D3DDECLTYPE_FLOAT2. Входной поток и смещение также не используются (но должны иметь значение 0).
-
D3DDECLMETHOD_LOOKUP
-
Найдите карту смещения. Тип входных данных может быть одним из следующих:
- D3DDECLTYPE_FLOAT2
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
Для поиска карты текстур используются только компоненты X и Y. Тип выходных данных всегда D3DDECLTYPE_FLOAT1. Устройство должно поддерживать сопоставление смещения. Дополнительные сведения о сопоставлении см. в разделе Сопоставление см. в разделе Сопоставление см. в разделе Смещение (Direct3D 9). Эта константа поддерживается только программируемым конвейером для N-исправлений, если включены N-исправления.
-
D3DDECLMETHOD_LOOKUPPRESAMPLED
-
Найдите схему предварительно заданного смещения. Тип входных данных должен иметь значение D3DDECLTYPE_UNUSED; Индекс потока и смещение потока должны иметь значение 0. Тип выходных данных для этой операции всегда D3DDECLTYPE_FLOAT1. Устройство должно поддерживать сопоставление смещения. Дополнительные сведения о сопоставлении см. в разделе Сопоставление см. в разделе Сопоставление см. в разделе Смещение (Direct3D 9). Эта константа поддерживается только программируемым конвейером для N-исправлений, если включены N-исправления. Этот метод можно использовать только с D3DDECLUSAGE_SAMPLE.
Комментарии
Tessellator проверяет метод , чтобы определить, какие данные следует вычислить из данных вершин во время тесселяции. Данные сетки должны использовать значение по умолчанию. Исправления могут использовать любой из других реализованных типов.
Данные вершин объявляются с массивом структур D3DVERTEXELEMENT9 . Каждый элемент в массиве содержит метод объявления вершин.
В дополнение к использованию D3DDECLMETHOD_DEFAULT обычная сетка может использовать методы D3DDECLMETHOD_LOOKUP и D3DDECLMETHOD_LOOKUPPRESAMPLED при включении N-исправлений.
Требования
Требование | Значение |
---|---|
Заголовок |
|
См. также раздел