структура 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 и более ранних версий). Дополнительные сведения см . в статье Создание отчетов о возможностях Direct3D в стиле DirectX 8.0 .

Функция DrvGetDirectDrawInfo драйвера возвращает эти сведения в структуре D3DHAL_GLOBALDRIVERDATA , на которую указывает элемент lpD3DGlobalDriverDataструктуры DD_HALINFO .

Среда выполнения Direct3D создает структуру D3DDEVICEDESC7 на уровне приложения (описанную в документации по Microsoft Windows SDK) на основе сведений, возвращаемых в структуре D3DDEVICEDESC_V1, и расширенных возможностей, запрашиваемых с помощью функции DdGetDriverInfo драйвера. Хотя некоторые флаги dwDevCaps устарели на уровне драйвера, драйвер должен задать их соответствующим образом, чтобы приложения работали правильно.

Требования

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

См. также раздел

D3DHAL_GLOBALDRIVERDATA

D3DLIGHTINGCAPS

D3DPRIMCAPS

D3dDrawPrimitives2

DD_HALINFO

DdGetDriverInfo**

DrvGetDirectDrawInfo