структура D3DDEVICEDESC_V1 (d3dhal.h)
D3DDeviceDesc_V1 устарел в DirectX 8.0 и более поздних версиях; см. примечания. Эта структура описывает трехмерные возможности устройства.
Синтаксис
typedef struct _D3DDeviceDesc_V1 {
DWORD dwSize;
DWORD dwFlags;
D3DCOLORMODEL dcmColorModel;
DWORD dwDevCaps;
D3DTRANSFORMCAPS dtcTransformCaps;
BOOL bClipping;
D3DLIGHTINGCAPS dlcLightingCaps;
D3DPRIMCAPS dpcLineCaps;
D3DPRIMCAPS dpcTriCaps;
DWORD dwDeviceRenderBitDepth;
DWORD dwDeviceZBufferBitDepth;
DWORD dwMaxBufferSize;
DWORD dwMaxVertexCount;
} D3DDEVICEDESC_V1, *LPD3DDEVICEDESC_V1;
Члены
dwSize
Задает размер в байтах этой D3DDEVICEDESC_V1 структуры.
dwFlags
Определяет элементы этой структуры, содержащие допустимые данные. Этот элемент может быть битовой или любой из следующих значений:
значение | значение |
---|---|
D3DDD_BCLIPPING | Элемент bClipping содержит допустимые данные. |
D3DDD_COLORMODEL | Элемент dcmColorModel содержит допустимые данные. |
D3DDD_DEVCAPS | Член dwDevCaps содержит допустимые данные. |
D3DDD_DEVICERENDERBITDEPTH | DwDeviceRenderBitDepthmember содержит допустимые данные. |
D3DDD_DEVICEZBUFFERBITDEPTH | DwDeviceZBufferBitDepthmember содержит допустимые данные. |
D3DDD_LIGHTINGCAPS | Элемент dlcLightingCaps содержит допустимые данные. |
D3DDD_LINECAPS | Элемент dpcLineCaps содержит допустимые данные. |
D3DDD_MAXBUFFERSIZE | Элемент dwMaxBufferSize содержит допустимые данные. |
D3DDD_MAXVERTEXCOUNT | Член dwMaxVertexCount содержит допустимые данные. |
D3DDD_TRANSFORMCAPS | Элемент dtcTransformCaps содержит допустимые данные. |
D3DDD_TRICAPS | Элемент dpcTriCaps содержит допустимые данные. |
dcmColorModel
Указывает цветовую модель устройства.
dwDevCaps
Определяет возможности устройства. Этот элемент может быть битовой или любой из следующих значений:
значение | значение |
---|---|
D3DDEVCAPS_CANBLTSYSTONONLOCAL | Устройство поддерживает TexBlt из системной памяти в подлокальную память видео. |
D3DDEVCAPS_CANRENDERAFTERFLIP | Устройство может очереди команд отрисовки после перевернутой страницы. Устройства должны поддерживать эту возможность в Windows 2000 и более поздних версиях, что означает, что драйвер всегда будет устанавливать этот флаг. |
D3DDEVCAPS_DRAWPRIMITIVES2 | Устройство может поддерживать D3dDrawPrimitives2. |
D3DDEVCAPS_DRAWPRIMITIVES2EX | Устройство может поддерживать расширенные D3dDrawPrimitives2; т. е. драйвер, совместимый с DX7. |
D3DDEVCAPS_DRAWPRIMTLVERTEX | Устройство может нарисовать примитивы TLVERTEX. Этот флаг устарел, но должен быть задан драйвером. |
D3DDEVCAPS_EXECUTESYSTEMMEMORY | Устройство может использовать буферы выполнения из системной памяти. Драйвер должен всегда задавать этот бит. |
D3DDEVCAPS_EXECUTEVIDEOMEMORY | Устройство может использовать буферы выполнения из памяти отображения. Драйвер никогда не должен задавать этот бит. |
D3DDEVCAPS_FLOATTLVERTEX | Устройство принимает плавающую точку для данных вершин послетрансформы. Этот флаг устарел, но должен быть задан драйвером. |
D3DDEVCAPS_HWRASTERIZATION | Устройство имеет аппаратное ускорение для растеризации. |
D3DDEVCAPS_HWTRANSFORMANDLIGHT | Устройство может поддерживать преобразование и освещение в оборудовании. D3DDEVCAPS_DRAWPRIMITIVES2EX также необходимо задать. |
D3DDEVCAPS_SEPARATETEXTUREMEMORIES | Устройство выполняет текст из отдельных пулов памяти. Установка этого бита возможностей указывает на DirectX 8.0 и более поздних версий приложений, отключаемых одновременно с использованием нескольких текстур. |
D3DDEVCAPS_SORTDECREASINGZ | Устройство должно отсортировать данные для уменьшения глубины. |
D3DDEVCAPS_SORTEXACT | Устройство должно точно отсортировать данные. |
D3DDEVCAPS_SORTINCREASINGZ | Устройство должно отсортировать данные для увеличения глубины. |
D3DDEVCAPS_TEXTURENONLOCALVIDEOMEMORY | Устройство может текстуру из нелокальной памяти видео. |
D3DDEVCAPS_TLVERTEXSYSTEMMEMORY | Устройство может использовать буферы из системной памяти для преобразованных и освещенных вершин. Этот флаг устарел, но должен быть задан драйвером. |
D3DDEVCAPS_TLVERTEXVIDEOMEMORY | Устройство может использовать буферы из памяти отображения для преобразованных и освещенных вершин. Этот флаг устарел и не должен быть задан драйвером. |
D3DDEVCAPS_TEXTURESYSTEMMEMORY | Устройство может извлекать текстуры из системной памяти. |
D3DDEVCAPS_TEXTUREVIDEOMEMORY | Устройство может извлекать текстуры из памяти устройства. |
dtcTransformCaps
Задает D3DTRANSFORMCAPS структуру, указывающую возможности преобразования устройства. Драйвер должен задать для dwCaps член этой структуры равным нулю.
bClipping
Установите значение TRUE драйвером, если устройство может выполнять отсечения трехмерного изображения.
dlcLightingCaps
Задает возможности освещения устройства. Это структура D3DLIGHTINGCAPS. Драйвер должен задать dwCaps, dwLightingModelи dwNumLights члены этой структуры равны нулю.
dpcLineCaps
Задает D3DPRIMCAPS структуру, которая определяет возможности рисования устройства для примитивов линий.
dpcTriCaps
Указывает D3DPRIMCAPS структуру, которая определяет возможности рисования устройства для примитивов треугольников.
dwDeviceRenderBitDepth
Задает битовую глубину отрисовки устройства. Этот элемент может быть битовой или из следующих констант глубины DirectDraw: DDBD_8, DDBD_16, DDBD_24 или DDBD_32.
dwDeviceZBufferBitDepth
Указывает глубину битового бита z-буфера устройства. Этот элемент может быть битовой или из следующих констант глубины DirectDraw: DDBD_8, DDBD_16, DDBD_24 или DDBD_32.
dwMaxBufferSize
Должно быть задано равно нулю.
dwMaxVertexCount
Версии DirectX 7 и более поздних версий
DirectX 6
Замечания
Эта структура заменена D3DCAPS8 (см. документацию по пакету SDK DirectX 8.0) для DirectX 8.0 и более поздних версий среды выполнения, но требуется для совместимости устаревших сред выполнения (DirectX 7.0 и более ранних версий). Дополнительные сведения см. в разделе Reporting DirectX 8.0 Style Direct3D Capabilities.
Функция drvGetDirectDrawInfo драйвера возвращает эти сведения в структуре D3DHAL_GLOBALDRIVERDATA, на которую указывает элемент структуры lpD3D3DGlobalDriverData элемента структуры DD_HALINFO.
Среда выполнения Direct3D создает структуру D3DDEVICEDESC7 уровня приложения (документированную в документации по пакету SDK для Microsoft Windows) из сведений, возвращаемых в структуре D3DDEVICEDESC_V1, и расширенные возможности, запрашиваемые через функцию DdGetDriverInfo драйвера. Хотя некоторые флаги dwDevCaps устарели на уровне драйвера, драйвер должен задать их соответствующим образом, чтобы приложения работали правильно.
Требования
Требование | Ценность |
---|---|
заголовка | d3dhal.h (include D3dhal.h) |