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