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


структура 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)

См. также

D3DHAL_GLOBALDRIVERDATA

D3DLIGHTINGCAPS

D3DPRIMCAPS

D3dDrawPrimitives2

DD_HALINFO

DdGetDriverInfo**

DrvGetDirectDrawInfo