перечисление 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 opcode. Этот новый токен сигнализирует драйверу о том, что текстура должна быть передана из системной памяти в локальную или нелокальную память видео. |
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 (include D3dhal.h) |