D3DFVF
Константы гибкого формата вершин или коды FVF используются для описания содержимого вершин, чередующихся в одном потоке данных, который будет обрабатываться конвейером фиксированной функции.
Флаги данных вершин
Следующие флаги описывают формат вершин. Сведения о форматах вершин см. в разделе Фиксированные коды FVF функции (Direct3D 9).
#define | Описание | Порядок и тип данных |
---|---|---|
D3DFVF_DIFFUSE | Формат вершин включает в себя компонент рассеянного цвета. | DWORD в порядке ARGB. См . D3DCOLOR_ARGB. |
D3DFVF_NORMAL | Формат вершины включает вектор нормали вершины. Этот флаг нельзя использовать с флагом D3DFVF_XYZRHW. | float, float, float |
D3DFVF_PSIZE | Формат вершины, указанный в размере точек. Этот размер выражается в единицах пространства камеры для вершин, которые не преобразуются и не освещаются, и в единицах пространства устройства для преобразованных и освещенных вершин. | FLOAT |
D3DFVF_SPECULAR | Формат вершины включает компонент зеркального цвета. | DWORD в порядке ARGB. См . D3DCOLOR_ARGB. |
D3DFVF_XYZ | Формат вершины включает положение непередаченной вершины. Этот флаг нельзя использовать с флагом D3DFVF_XYZRHW. | float, float, float. |
D3DFVF_XYZRHW | Формат вершины включает положение преобразованной вершины. Этот флаг нельзя использовать с флагами D3DFVF_XYZ или D3DFVF_NORMAL. | float, float, float, float. |
D3DFVF_XYZB1 по D3DFVF_XYZB5 | Формат вершины содержит данные о положении и соответствующее количество весовых (бета-) значений, используемых для операций смешения многоматриксных вершин. В настоящее время Direct3D может смешивать до трех весовых значений и четырех матриц смешения. Дополнительные сведения об использовании матриц смешения см. в разделе Индексированное наложение вершин (Direct3D 9). | 1, 2 или 3 числа с плавающей точкой. При использовании D3DFVF_LASTBETA_UBYTE4 последний вес смешивания обрабатывается как DWORD. |
D3DFVF_XYZW | Формат вершины содержит преобразованные и обрезанные (x, y, z, w) данные. ProcessVertices не вызывает клипера, а выводит данные в координатах клипа. Эта константа предназначена для программируемого конвейера вершин и может использоваться только с ним. | float, float, float, float |
Флаги текстуры
Следующие флаги описывают флаги текстуры, используемые конвейером фиксированной функции.
#define | Описание |
---|---|
D3DFVF_TEX0 — D3DFVF_TEX8 | Число наборов координат текстуры для этой вершины. Фактические значения для этих флагов не являются последовательными. |
D3DFVF_TEXCOORDSIZEN(coordIndex) | Определите набор данных координат текстуры. n указывает размер координат текстуры. coordIndex указывает номер индекса координат текстуры. См . D3DFVF_TEXCOORDSIZENкоординаты и текстуры и Этапы текстуры. |
Флаги маски
Следующие флаги описывают флаги маски, используемые конвейером фиксированной функции.
#define | Описание |
---|---|
D3DFVF_POSITION_MASK | Маска для битов положения. |
D3DFVF_RESERVED0, D3DFVF_RESERVED2 | Маскирование значений для зарезервированных битов в FVF. Не используйте. |
D3DFVF_TEXCOUNT_MASK | Значение маски для битов флага текстуры. |
Прочие флаги
Следующие флаги описывают различные флаги, используемые конвейером фиксированной функции.
#define | Описание | |
D3DFVF_LASTBETA_D3DCOLOR | Последнее бета-поле в данных положения вершины будет иметь тип D3DCOLOR. Данные в полях бета-версии используются с обжигом матричной палитры для указания матричных индексов. | |
D3DFVF_LASTBETA_UBYTE4 | Последнее бета-поле в данных о положении вершины будет иметь тип UBYTE4. Данные в полях бета-версии используются с обжигом матричной палитры для указания матричных индексов.
При этом FVF объявляется как: D3DFVF_XYZB5 | D3DFVF_LASTBETA_UBYTE4. Weight и MatrixIndices включены в бета-версию[5], где D3DFVF_LASTBETA_UBYTE4 означает интерпретировать последнее значение DWORD в beta[5] как тип UBYTE4. |
|
D3DFVF_TEXCOUNT_SHIFT | Число битов, на которое сдвигается целочисленное значение, определяющее количество координат текстуры для вершины. Это значение можно использовать, как показано ниже.
|
Примеры
В следующих примерах показаны другие распространенные сочетания флагов.
// Untransformed vertex for lit, untextured, Gouraud-shaded content.
dwFVF = ( D3DFVF_XYZ | D3DFVF_DIFFUSE );
// Untransformed vertex for unlit, untextured, Gouraud-shaded
// content with diffuse material color specified per vertex.
dwFVF = ( D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE );
// Untransformed vertex for light-map-based lighting.
dwFVF = ( D3DFVF_XYZ | D3DFVF_TEX2 );
// Transformed vertex for light-map-based lighting with shared rhw.
dwFVF = ( D3DFVF_XYZRHW | D3DFVF_TEX2 );
// Heavyweight vertex for unlit, colored content with two
// sets of texture coordinates.
dwFVF = ( D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE |
D3DFVF_SPECULAR | D3DFVF_TEX2 );
Константная информация
Требование | Значение |
---|---|
Заголовок | d3d9types.h |
Минимальная операционная система | Windows 98 |
Связанные темы