共用方式為


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:

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

意義
D3DDEVCAPS_CANBLTSYSTONONLOCAL 裝置支援從系統記憶體到子區域視訊記憶體的 TexBlt。
D3DDEVCAPS_CANRENDERAFTERFLIP 裝置可以在頁面翻轉之後將轉譯命令排入佇列。 裝置必須在 Windows 2000 和更新版本上支援這項功能,這表示驅動程式一律會設定此旗標。
D3DDEVCAPS_DRAWPRIMITIVES2 裝置可以支援 D3dDrawPrimitives2
D3DDEVCAPS_DRAWPRIMITIVES2EX 裝置可以支持擴充 D3dDrawPrimitives2;亦即符合 DX7 規範的驅動程式。
D3DDEVCAPS_DRAWPRIMTLVERTEX 裝置可以繪製 TLVERTEX 基本類型。 此旗標已經過時,但必須由驅動程序設定。
D3DDEVCAPS_EXECUTESYSTEMMEMORY 裝置可以使用系統記憶體中的執行緩衝區。 驅動程序必須一律設定此位。
D3DDEVCAPS_EXECUTEVIDEOMEMORY 裝置可以使用顯示記憶體中的執行緩衝區。 驅動程序絕對不能設定此位。
D3DDEVCAPS_FLOATTLVERTEX 裝置接受 posttransform 頂點數據的浮點數。 此旗標已經過時,但必須由驅動程序設定。
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 結構中 lpD3DGlobalDriverDataDD_HALINFO 結構成員所指向的資訊。

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

要求

要求 價值
標頭 d3dhal.h (包括 D3dhal.h)

另請參閱

D3DHAL_GLOBALDRIVERDATA

D3DLIGHTINGCAPS

D3DPRIMCAPS

D3dDrawPrimitives2

DD_HALINFO

DdGetDriverInfo**

DrvGetDirectDrawInfo