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


Перечисление D3DHAL_DP2OPERATION (d3dhal.h)

Перечислимый тип D3DHAL_DP2OPERATION указывает операцию D3dDrawPrimitives2 в элементе bCommandструктуры D3DHAL_DP2COMMAND . Перечислители D3DHAL_DP2OPERATION могут указывать операции отрисовки примитивов или неприимитивных операций отрисовки. Перечислители D3DHAL_DP2OPERATION также могут указывать, что драйвер возвращал ответы на ранее выданные запросы.

Синтаксис

typedef enum _D3DHAL_DP2OPERATION {
  D3DDP2OP_POINTS,
  D3DDP2OP_INDEXEDLINELIST,
  D3DDP2OP_INDEXEDTRIANGLELIST,
  D3DDP2OP_RENDERSTATE,
  D3DDP2OP_LINELIST,
  D3DDP2OP_LINESTRIP,
  D3DDP2OP_INDEXEDLINESTRIP,
  D3DDP2OP_TRIANGLELIST,
  D3DDP2OP_TRIANGLESTRIP,
  D3DDP2OP_INDEXEDTRIANGLESTRIP,
  D3DDP2OP_TRIANGLEFAN,
  D3DDP2OP_INDEXEDTRIANGLEFAN,
  D3DDP2OP_TRIANGLEFAN_IMM,
  D3DDP2OP_LINELIST_IMM,
  D3DDP2OP_TEXTURESTAGESTATE,
  D3DDP2OP_INDEXEDTRIANGLELIST2,
  D3DDP2OP_INDEXEDLINELIST2,
  D3DDP2OP_VIEWPORTINFO,
  D3DDP2OP_WINFO,
  D3DDP2OP_SETPALETTE,
  D3DDP2OP_UPDATEPALETTE,
  D3DDP2OP_ZRANGE,
  D3DDP2OP_SETMATERIAL,
  D3DDP2OP_SETLIGHT,
  D3DDP2OP_CREATELIGHT,
  D3DDP2OP_SETTRANSFORM,
  D3DDP2OP_TEXBLT,
  D3DDP2OP_STATESET,
  D3DDP2OP_SETPRIORITY,
  D3DDP2OP_SETRENDERTARGET,
  D3DDP2OP_CLEAR,
  D3DDP2OP_SETTEXLOD,
  D3DDP2OP_SETCLIPPLANE,
  D3DDP2OP_CREATEVERTEXSHADER,
  D3DDP2OP_DELETEVERTEXSHADER,
  D3DDP2OP_SETVERTEXSHADER,
  D3DDP2OP_SETVERTEXSHADERCONST,
  D3DDP2OP_SETSTREAMSOURCE,
  D3DDP2OP_SETSTREAMSOURCEUM,
  D3DDP2OP_SETINDICES,
  D3DDP2OP_DRAWPRIMITIVE,
  D3DDP2OP_DRAWINDEXEDPRIMITIVE,
  D3DDP2OP_CREATEPIXELSHADER,
  D3DDP2OP_DELETEPIXELSHADER,
  D3DDP2OP_SETPIXELSHADER,
  D3DDP2OP_SETPIXELSHADERCONST,
  D3DDP2OP_CLIPPEDTRIANGLEFAN,
  D3DDP2OP_DRAWPRIMITIVE2,
  D3DDP2OP_DRAWINDEXEDPRIMITIVE2,
  D3DDP2OP_DRAWRECTPATCH,
  D3DDP2OP_DRAWTRIPATCH,
  D3DDP2OP_VOLUMEBLT,
  D3DDP2OP_BUFFERBLT,
  D3DDP2OP_MULTIPLYTRANSFORM,
  D3DDP2OP_ADDDIRTYRECT,
  D3DDP2OP_ADDDIRTYBOX,
  D3DDP2OP_CREATEVERTEXSHADERDECL,
  D3DDP2OP_DELETEVERTEXSHADERDECL,
  D3DDP2OP_SETVERTEXSHADERDECL,
  D3DDP2OP_CREATEVERTEXSHADERFUNC,
  D3DDP2OP_DELETEVERTEXSHADERFUNC,
  D3DDP2OP_SETVERTEXSHADERFUNC,
  D3DDP2OP_SETVERTEXSHADERCONSTI,
  D3DDP2OP_SETSCISSORRECT,
  D3DDP2OP_SETSTREAMSOURCE2,
  D3DDP2OP_BLT,
  D3DDP2OP_COLORFILL,
  D3DDP2OP_SETVERTEXSHADERCONSTB,
  D3DDP2OP_CREATEQUERY,
  D3DDP2OP_SETRENDERTARGET2,
  D3DDP2OP_SETDEPTHSTENCIL,
  D3DDP2OP_RESPONSECONTINUE,
  D3DDP2OP_RESPONSEQUERY,
  D3DDP2OP_GENERATEMIPSUBLEVELS,
  D3DDP2OP_DELETEQUERY,
  D3DDP2OP_ISSUEQUERY,
  D3DDP2OP_SETPIXELSHADERCONSTI,
  D3DDP2OP_SETPIXELSHADERCONSTB,
  D3DDP2OP_SETSTREAMSOURCEFREQ,
  D3DDP2OP_SURFACEBLT,
  D3DDP2OP_SETCONVOLUTIONKERNELMONO,
  D3DDP2OP_COMPOSERECTS
} D3DHAL_DP2OPERATION;

Константы

 
D3DDP2OP_POINTS
Рисует список индексированных или неиндексированных точек. Каждый список определяется одной или несколькими D3DHAL_DP2POINTS структурами.
D3DDP2OP_INDEXEDLINELIST
Рисует список линий, каждая из которых указана парой индексов вершин. Список индексированных строк задается одной или несколькими D3DHAL_DP2INDEXEDLINELIST структурами.
D3DDP2OP_INDEXEDTRIANGLELIST
Рисует список треугольников. Каждый треугольник задается тремя индексами в буфере вершин, по одному индексу на каждую вершину треугольника. Список треугольников определяется одной или несколькими D3DHAL_DP2INDEXEDTRIANGLELIST структурами.
D3DDP2OP_RENDERSTATE
Указывает изменение состояния отрисовки, требующее обработки. Изменяемое состояние отрисовки определяется одной или несколькими D3DHAL_DP2RENDERSTATE структурами.
D3DDP2OP_LINELIST
Рисует список линий. Каждая линия задается парой вершин. Вершины обрабатываются в последовательном порядке, начиная с начального указанного индекса вершины. Список строк задается структурой D3DHAL_DP2LINELIST .
D3DDP2OP_LINESTRIP
Рисует соединенную полосу линий, определяемую последовательностью вершин, начиная с начального заданного индекса вершины. Линия задается структурой D3DHAL_DP2LINESTRIP .
D3DDP2OP_INDEXEDLINESTRIP
Рисует связанную полосу линий, определяемую последовательностью индексов вершин. Каждая строка в связанной полосе задается D3DHAL_DP2INDEXEDLINESTRIP структурой.
D3DDP2OP_TRIANGLELIST
Рисует список треугольников. Каждый треугольник задается тремя вершинами, которые обрабатываются, начиная с начального указанного индекса вершины. Треугольники обрабатываются в последовательном порядке. Список треугольников задается структурой D3DHAL_DP2TRIANGLELIST .
D3DDP2OP_TRIANGLESTRIP
Рисует соединенную полосу треугольников. Каждый треугольник задается последовательностью вершин, начиная с начального указанного индекса вершины. Три наиболее актуальные вершины используются для рисования каждого треугольника. Треугольная полоса задается структурой D3DHAL_DP2TRIANGLESTRIP .
D3DDP2OP_INDEXEDTRIANGLESTRIP
Рисует связанную полосу треугольников, заданных последовательностью индексов вершин. Для рисования каждого треугольника используются три наиболее актуальных индекса вершин. Каждый треугольник в связанной полосе задается D3DHAL_DP2INDEXEDTRIANGLESTRIP структурой.
D3DDP2OP_TRIANGLEFAN
Рисует веер треугольника. Вентилятор задается последовательностью вершин, которые начинаются с начального указанного индекса вершины. Веер треугольника определяется структурой D3DHAL_DP2TRIANGLEFAN .
D3DDP2OP_INDEXEDTRIANGLEFAN
Рисует веер треугольника. Вентилятор треугольника задается последовательностью индексов вершин. Каждый треугольник в вентиляторе задается D3DHAL_DP2INDEXEDTRIANGLEFAN структурой.
D3DDP2OP_TRIANGLEFAN_IMM
Рисует веер треугольника. Вентилятор задается последовательностью вершин, хранящейся в командном потоке (непосредственные данные). Элемент wPrimitiveCount структуры D3DHAL_DP2COMMAND указывает количество треугольников для отрисовки. Тип и размер вершин задаются элементом dwVertexTypeструктуры D3DHAL_DRAWPRIMITIVES2DATA .
D3DDP2OP_LINELIST_IMM
Рисует набор линий. Каждая строка задается парой вершин, хранящихся в командном потоке (непосредственные данные). Член wPrimitiveCount структуры D3DHAL_DP2COMMAND указывает, сколько пар вершин следует. Тип и размер вершин определяются элементом dwVertexTypeструктуры D3DHAL_DRAWPRIMITIVES2DATA .
D3DDP2OP_TEXTURESTAGESTATE
Указывает изменение состояния отрисовки текстуры, требующее обработки. Изменяемое состояние отрисовки определяется одной или несколькими D3DHAL_DP2TEXTURESTAGESTATE структурами. Значение в элементе TSState указывает состояние текстуры для обновления.
D3DDP2OP_INDEXEDTRIANGLELIST2
Рисует список треугольников. Каждый треугольник задается тремя индексами в буфере вершин, по одному индексу на каждую вершину треугольника. Список треугольников определяется одной или несколькими D3DHAL_DP2INDEXEDTRIANGLELIST2 структурами.
D3DDP2OP_INDEXEDLINELIST2
Рисует список линий. Каждая строка задается парой индексов вершин, при этом каждое смещение от начала буфера вершин на фиксированную величину. Список индексированных строк задается одной или несколькими D3DHAL_DP2INDEXEDLINELIST структурами.
D3DDP2OP_VIEWPORTINFO
Задает прямоугольник обрезки, используемый для обрезки полосы защиты драйверами, поддерживающими полосу защиты. Прямоугольник обрезки (т. е. прямоугольник для просмотра) задается структурой D3DHAL_DP2VIEWPORTINFO .
D3DDP2OP_WINFO
Задает диапазон w для буферизации w. Этот диапазон задается одной или несколькими D3DHAL_DP2WINFO структурами.
D3DDP2OP_SETPALETTE
Указывает, что палитра задается для текстуры. См . D3DHAL_DP2SETPALETTE.
D3DDP2OP_UPDATEPALETTE
Указывает, что палитра текстур должна быть обновлена. См . D3DHAL_DP2UPDATEPALETTE.
D3DDP2OP_ZRANGE
Задает диапазон значений z. См . D3DHAL_DP2ZRANGE.
D3DDP2OP_SETMATERIAL
Задает свойства для материала. D3DHAL_DP2SETMATERIAL — это структура D3DMATERIAL7 (описанная в документации по пакету SDK для DirectX), которая используется для задания свойств материала.
D3DDP2OP_SETLIGHT
Указывает, что задается индикатор. См . D3DHAL_DP2SETLIGHT.
D3DDP2OP_CREATELIGHT
Создает свет. См . D3DHAL_DP2CREATELIGHT.
D3DDP2OP_SETTRANSFORM
Настраивает преобразование. См . D3DHAL_DP2SETTRANSFORM.
D3DDP2OP_TEXBLT
Указывает операцию blt из исходной текстуры в целевую текстуру. Он используется в качестве более эффективной альтернативы DirectDraw DdBlt DDI. Он задается одной или несколькими D3DHAL_DP2TEXBLT структурами. Так как драйверы Direct3D поддерживают все состояния, необходимые для выполнения blt (например, дескрипторов текстур и режимов смешивания), blt можно выполнить только с помощью сведений в D3DDP2OP_TEXBLT коде операции. Этот новый маркер сигнализирует драйверу о том, что текстура должна быть передана из системной памяти в локальную или нелокальную видеопамять.
D3DDP2OP_STATESET
Указывает операцию установки состояния, выполняемую. См . D3DHAL_DP2STATESET.
D3DDP2OP_SETPRIORITY
Задает приоритет управляемой текстуры. См . D3DHAL_DP2SETPRIORITY.
D3DDP2OP_SETRENDERTARGET
Задает целевой объект отрисовки. Драйверы Direct3D должны реагировать на этот код операции точно так же, как и при более старом обратном вызове SetRenderTarget . См . D3DHAL_DP2SETRENDERTARGET.
D3DDP2OP_CLEAR
Указывает операцию очистки. Заменяет обратные вызовы Clear и Clear2 . См . D3DHAL_DP2CLEAR.
D3DDP2OP_SETTEXLOD
Указывает, что задается уровень детализации (LOD) для карт MIP. См . D3DHAL_DP2SETTEXLOD.
D3DDP2OP_SETCLIPPLANE
Указывает, что используется определяемая пользователем плоскость клипа. См . D3DHAL_DP2SETCLIPPLANE.
D3DDP2OP_CREATEVERTEXSHADER
D3DDP2OP_DELETEVERTEXSHADER
D3DDP2OP_SETVERTEXSHADER
D3DDP2OP_SETVERTEXSHADERCONST
D3DDP2OP_SETSTREAMSOURCE
D3DDP2OP_SETSTREAMSOURCEUM
D3DDP2OP_SETINDICES
D3DDP2OP_DRAWPRIMITIVE
D3DDP2OP_DRAWINDEXEDPRIMITIVE
D3DDP2OP_CREATEPIXELSHADER
D3DDP2OP_DELETEPIXELSHADER
D3DDP2OP_SETPIXELSHADER
D3DDP2OP_SETPIXELSHADERCONST
D3DDP2OP_CLIPPEDTRIANGLEFAN
Только DirectX 8.0 и более поздних версий. Этот маркер отправляется драйверу для рисования преобразованных обрезанных вентиляторов треугольников. Этот маркер является заменой токенов DirectX 7.0, которые использовали встроенные вершины в потоке команд. Треугольные вентиляторы задаются одной или несколькими D3DHAL_CLIPPEDTRIANGLEFAN структурами.
D3DDP2OP_DRAWPRIMITIVE2
D3DDP2OP_DRAWINDEXEDPRIMITIVE2
D3DDP2OP_DRAWRECTPATCH
D3DDP2OP_DRAWTRIPATCH
D3DDP2OP_VOLUMEBLT
Поддерживает оптимальное копирование и обновление текстур тома. Этот маркер очень похож на существующий D3DDP2OP_TEXBLT, который копирует и обновляет текстуры, но был расширен для поддержки копирования вложенных (прямоугольников), а не простых прямоугольников.
D3DDP2OP_BUFFERBLT
D3DDP2OP_MULTIPLYTRANSFORM
Только DirectX 8.0 и более поздних версий. Умножает текущее преобразование. См . D3DHAL_DP2MULTIPLYTRANSFORM.
D3DDP2OP_ADDDIRTYRECT
D3DDP2OP_ADDDIRTYBOX
D3DDP2OP_CREATEVERTEXSHADERDECL
D3DDP2OP_DELETEVERTEXSHADERDECL
D3DDP2OP_SETVERTEXSHADERDECL
D3DDP2OP_CREATEVERTEXSHADERFUNC
D3DDP2OP_DELETEVERTEXSHADERFUNC
D3DDP2OP_SETVERTEXSHADERFUNC
D3DDP2OP_SETVERTEXSHADERCONSTI
D3DDP2OP_SETSCISSORRECT
D3DDP2OP_SETSTREAMSOURCE2
D3DDP2OP_BLT
D3DDP2OP_COLORFILL
D3DDP2OP_SETVERTEXSHADERCONSTB
D3DDP2OP_CREATEQUERY
D3DDP2OP_SETRENDERTARGET2
D3DDP2OP_SETDEPTHSTENCIL
D3DDP2OP_RESPONSECONTINUE
D3DDP2OP_RESPONSEQUERY
D3DDP2OP_GENERATEMIPSUBLEVELS
D3DDP2OP_DELETEQUERY
D3DDP2OP_ISSUEQUERY
D3DDP2OP_SETPIXELSHADERCONSTI
D3DDP2OP_SETPIXELSHADERCONSTB
D3DDP2OP_SETSTREAMSOURCEFREQ
D3DDP2OP_SURFACEBLT
D3DDP2OP_SETCONVOLUTIONKERNELMONO
D3DDP2OP_COMPOSERECTS

Комментарии

Обратите внимание, что поскольку перечислители D3DNTDP2OP_XXX имеют тип, определенный как D3DDP2OP_XXX , в файле Dx95type.h комплекта драйверов Windows (WDK), для ясности здесь используется более короткая форма. Любая форма допустима в Реализациях Windows 2000 и более поздних версий, но в Windows 98/Me можно использовать только более короткую форму.

Перечислимый тип D3DNTHAL_DP2OPERATION определяется как D3DHAL_DP2OPERATION перечислимый тип в файле Dx95type.h . Более поздний (более короткий) перечислимый тип используется здесь для ясности. Любая форма допустима в Реализациях Windows 2000 и более поздних версий, но в Windows 98/Me можно использовать только более короткую форму.

Требования

Требование Значение
Заголовок d3dhal.h (включая D3dhal.h)