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 結構。 驅動程式必須將該結構的 dwCaps、 dwLightingModel 和 dwNumLights 成員設定為零。
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) |