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 結構。 驅動程式必須將 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 結構中 lpD3DGlobalDriverDataDD_HALINFO 結構成員所指向的資訊。
Direct3D 執行時間會從D3DDEVICEDESC_V1 結構中傳回的資訊,以及透過驅動程式的 DdGetDriverInfo 函式所查詢的資訊,建構應用層級D3DDEVICEDESC7結構 Microsoft。。 雖然某些 dwDevCaps 旗標在驅動程式層級已過時,但驅動程式必須適當地設定它們,應用程式才能正常運作。
要求
要求 | 價值 |
---|---|
標頭 | d3dhal.h (包括 D3dhal.h) |