D3DDEVICEDESC_V1 結構 (d3dhal.h)

D3DDeviceDesc_V1 在 DirectX 8.0 和更新版本中已經過時;請參閱。 此結構描述裝置的 3D 功能。

語法

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

識別包含有效數據之這個結構的成員。 這個成員可以是下列任何值的位 OR:

ReplTest1 意義
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

識別裝置的功能。 這個成員可以是下列任何值的位 OR:

ReplTest1 意義
D3DDEVCAPS_CANBLTSYSTONONLOCAL 裝置支援從系統記憶體到子區域視訊記憶體的 TexBlt。
D3DDEVCAPS_CANRENDERAFTERFLIP 裝置可以在頁面翻轉之後將轉譯命令排入佇列。 裝置必須在 Windows 2000 和更新版本上支援此功能,這表示驅動程式一律會設定此旗標。
D3DDEVCAPS_DRAWPRIMITIVES2 裝置可以支援 D3dDrawPrimitives2
D3DDEVCAPS_DRAWPRIMITIVES2EX 裝置可以支援 Extended 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

如果裝置可以執行 3D 裁剪,則由驅動程式設定為 TRUE。

dlcLightingCaps

指定裝置的光源功能。 這是 D3DLIGHTINGCAPS 結構。 驅動程式必須將該結構的 dwCapsdwLightingModeldwNumLights 成員設定為零。

dpcLineCaps

指定 D3DPRIMCAPS 結構,定義線條基本類型的裝置繪圖功能。

dpcTriCaps

指定 D3DPRIMCAPS 結構,定義三角形基本類型裝置的繪圖功能。

dwDeviceRenderBitDepth

指定裝置的轉譯位深度。 此成員可以是下列 DirectDraw 位深度常數的位 OR:DDBD_8、DDBD_16、DDBD_24或DDBD_32。

dwDeviceZBufferBitDepth

指定裝置的 z 緩衝區位深度。 此成員可以是下列 DirectDraw 位深度常數的位 OR:DDBD_8、DDBD_16、DDBD_24或DDBD_32。

dwMaxBufferSize

必須設定為零。

dwMaxVertexCount

DirectX 7 和更新版本

DirectX 6

備註

此結構已由 D3DCAPS8 (取代,請參閱 DirectX 8.0 SDK 檔) 適用於 DirectX 8.0 和更新版本的運行時間,但需要舊版運行時間 (DirectX 7.0 和更早版本的) 兼容性。 如需詳細資訊,請參閱 Reporting DirectX 8.0 Style Direct3D 功能

驅動程式的DrvGetDirectDrawInfo函式會在D3DHAL_GLOBALDRIVERDATA結構中傳回DD_HALINFO結構所指向lpD3DGlobalDriverData 成員中的資訊。

Direct3D 執行時間會從D3DDEVICEDESC_V1結構中傳回的資訊,) 以及透過驅動程式的 DdGetDriverInfo 函式查詢的擴充功能,建構 Microsoft Windows SDK 檔中記載的應用程式層級D3DDEVICEDESC7 (結構。 雖然某些 dwDevCaps 旗標在驅動程式層級已過時,但驅動程式必須適當地設定它們,應用程式才能正常運作。

規格需求

需求
標頭 d3dhal.h (包含 D3dhal.h)

另請參閱

D3DHAL_GLOBALDRIVERDATA

D3DLIGHTINGCAPS

D3DPRIMCAPS

D3dDrawPrimitives2

DD_HALINFO

DdGetDriverInfo**

DrvGetDirectDrawInfo