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


Перечисление 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-исправлений.

Требования

Требование Значение
Заголовок
D3D9Types.h

См. также раздел

Перечисления Direct3D