D3DCAPS9 結構 (d3d9caps.h)
表示透過 Direct3D 物件公開的硬體功能。
語法
typedef struct _D3DCAPS9 {
D3DDEVTYPE DeviceType;
UINT AdapterOrdinal;
DWORD Caps;
DWORD Caps2;
DWORD Caps3;
DWORD PresentationIntervals;
DWORD CursorCaps;
DWORD DevCaps;
DWORD PrimitiveMiscCaps;
DWORD RasterCaps;
DWORD ZCmpCaps;
DWORD SrcBlendCaps;
DWORD DestBlendCaps;
DWORD AlphaCmpCaps;
DWORD ShadeCaps;
DWORD TextureCaps;
DWORD TextureFilterCaps;
DWORD CubeTextureFilterCaps;
DWORD VolumeTextureFilterCaps;
DWORD TextureAddressCaps;
DWORD VolumeTextureAddressCaps;
DWORD LineCaps;
DWORD MaxTextureWidth;
DWORD MaxTextureHeight;
DWORD MaxVolumeExtent;
DWORD MaxTextureRepeat;
DWORD MaxTextureAspectRatio;
DWORD MaxAnisotropy;
float MaxVertexW;
float GuardBandLeft;
float GuardBandTop;
float GuardBandRight;
float GuardBandBottom;
float ExtentsAdjust;
DWORD StencilCaps;
DWORD FVFCaps;
DWORD TextureOpCaps;
DWORD MaxTextureBlendStages;
DWORD MaxSimultaneousTextures;
DWORD VertexProcessingCaps;
DWORD MaxActiveLights;
DWORD MaxUserClipPlanes;
DWORD MaxVertexBlendMatrices;
DWORD MaxVertexBlendMatrixIndex;
float MaxPointSize;
DWORD MaxPrimitiveCount;
DWORD MaxVertexIndex;
DWORD MaxStreams;
DWORD MaxStreamStride;
DWORD VertexShaderVersion;
DWORD MaxVertexShaderConst;
DWORD PixelShaderVersion;
float PixelShader1xMaxValue;
DWORD DevCaps2;
float MaxNpatchTessellationLevel;
DWORD Reserved5;
UINT MasterAdapterOrdinal;
UINT AdapterOrdinalInGroup;
UINT NumberOfAdaptersInGroup;
DWORD DeclTypes;
DWORD NumSimultaneousRTs;
DWORD StretchRectFilterCaps;
D3DVSHADERCAPS2_0 VS20Caps;
D3DPSHADERCAPS2_0 PS20Caps;
DWORD VertexTextureFilterCaps;
DWORD MaxVShaderInstructionsExecuted;
DWORD MaxPShaderInstructionsExecuted;
DWORD MaxVertexShader30InstructionSlots;
DWORD MaxPixelShader30InstructionSlots;
} D3DCAPS9;
成員
DeviceType
類型: D3DDEVTYPE
D3DDEVTYPE列舉型別的成員,可識別用於處理頂點的資源類型。
AdapterOrdinal
類型: UINT
建立此 Direct3D 裝置的配接器。 這個序數只適用于傳遞至建立此 Direct3D 裝置之 IDirect3D9 介面的方法。 一律可以藉由呼叫GetDirect3D 來擷取 IDirect3D9介面。
Caps
類型: DWORD
下列驅動程式特定功能。
值 | 意義 | |
---|---|---|
|
顯示硬體能夠傳回目前的掃描線。 | |
|
顯示驅動程式支援重迭 DDI,允許驗證重迭功能。 如需重迭 DDI 的詳細資訊,請參閱 重迭 DDI。
|
Caps2
類型: DWORD
D3DCAPS2中所識別的驅動程式特定功能。
Caps3
類型: DWORD
D3DCAPS3中所識別的驅動程式特定功能。
PresentationIntervals
類型: DWORD
值的位遮罩,代表可用的簡報交換間隔。
CursorCaps
類型: DWORD
位元遮罩,指出哪些硬體支援可供資料指標使用。 Direct3D 9 不會定義 Alpha 混合游標功能。
值 | 意義 |
---|---|
|
硬體支援全色游標。 具體而言,此旗標表示驅動程式至少支援高解析度模式中的硬體色彩游標, (掃描線大於或等於 400) 。 |
|
硬體支援全色游標。 具體來說,此旗標表示驅動程式在高解析度和低解析度模式中都支援硬體色彩游標, (掃描行小於 400) 。 |
DevCaps
類型: DWORD
旗標,識別裝置的功能。
值 | 意義 |
---|---|
|
裝置支援從系統記憶體紋理到非本機視訊記憶體紋理的 Blits。 |
|
裝置可以在頁面翻轉之後將轉譯命令排入佇列。 如果設定此旗標,應用程式不會變更其行為;這項功能表示裝置相對快速。 |
|
裝置至少可以支援符合 DirectX 5 規範的驅動程式。 |
|
裝置至少可以支援符合 DirectX 7 規範的驅動程式。 |
|
裝置會匯出 IDirect3DDevice9::D rawPrimitive感知 hal。 |
|
裝置可以使用系統記憶體中的執行緩衝區。 |
|
裝置可以使用來自視訊記憶體的執行緩衝區。 |
|
裝置具有場景點陣化的硬體加速。 |
|
裝置可以支援硬體中的轉換和光源。 |
|
裝置支援 N 個修補程式。 |
|
裝置可以在硬體中支援點陣化、轉換、光源和網底。 |
|
裝置支援 quintic Bézier 曲線和 B 曲線。 |
|
裝置支援矩形和三角形修補程式。 |
|
設定此裝置功能時,硬體架構不需要快取任何資訊,而且未快取的修補程式 (控制碼零) 將會以快取的方式有效率地繪製。 請注意,設定D3DDEVCAPS_RTPATCHHANDLEZERO並不表示可以繪製具有控制碼零的修補程式。 不論是否已設定此上限,一律可以繪製控制碼零修補程式。 |
|
裝置會從不同的記憶體集區進行模擬。 |
|
裝置可以從非本機視訊記憶體擷取紋理。 |
|
裝置可以從系統記憶體擷取紋理。 |
|
裝置可以從裝置記憶體擷取紋理。 |
|
裝置可以使用系統記憶體中的緩衝區進行已轉換和光線頂點。 |
|
裝置可以使用來自視訊記憶體的緩衝區進行轉換和光線頂點。 |
PrimitiveMiscCaps
類型: DWORD
其他驅動程式基本功能。 請參閱 D3DPMISCCAPS。
RasterCaps
類型: DWORD
點陣繪圖功能的相關資訊。 此成員可以是下列一或多個旗標。
值 | 意義 |
---|---|
|
裝置支援異向性篩選。 |
|
裝置會正確地逐一查看色彩檢視方塊。 |
|
裝置可以改善色彩解析度。 |
|
裝置支援舊版深度偏差。 如需真正的深度偏差,請參閱D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS。 |
|
裝置支援範圍型的模糊。 在以範圍為基礎的模糊中,物件與檢視器之間的距離是用來計算水氣效果,而不是物件 (的深度,也就是場景中的 z 座標) 。 |
|
裝置會藉由參考包含指定圖元深度索引的模糊值查閱表來計算模糊值。 |
|
裝置會在光源作業期間計算模糊值,並在點陣化期間插補水氣值。 |
|
裝置支援詳細資料偏差調整。 這些偏差調整可讓應用程式讓 mipmap 看起來更簡潔或比平常更清楚。 如需 mipmap 中詳細資料層級偏差的詳細資訊,請參閱D3DSAMP_MIPMAPLODBIAS。 |
|
裝置支援使用 D3DRS_MULTISAMPLEANTIALIAS) 在 IDirect3DDevice9::BeginScene 和 IDirect3DDevice9::EndScene (之間切換多重取樣。 |
|
裝置支援剪刀測試。 請參閱 Scissor Test (Direct3D 9) 。 |
|
裝置會執行真正的斜率縮放深度偏差。 這與舊版樣式深度偏差相反。 |
|
裝置支援使用 w 進行深度緩衝處理。 |
|
裝置支援 w 型的模糊。 指定檢視方塊投影矩陣時,會使用以 W 為基礎的模糊,但相依投影仍會使用 Z 型的模糊。 系統會將包含 [3][4] 元素中非零值的投影矩陣視為透視投影矩陣。 |
|
裝置可以執行隱藏表面移除 (HSR) ,而不需要應用程式排序多邊形,而不需要配置深度緩衝區。 這會留下更多紋理的視訊記憶體。 用來執行 HSR 的方法與硬體相關,而且對應用程式而言是透明的。
如果沒有深度緩衝區介面與轉譯目標介面相關聯,且深度緩衝區比較測試會啟用 (,也就是當 與D3DRS_ZENABLE 列舉常數相關聯的狀態值設定為 TRUE) 時,就會執行 Z 無緩衝區 HSR。 |
|
裝置支援 z 型的模糊。 |
|
裝置可以執行 z-test 作業。 這會有效地轉譯基本類型,並指出是否已轉譯任何 Z 圖元。 |
ZCmpCaps
類型: DWORD
Z 緩衝區比較功能。 此成員可以是下列一或多個旗標。
SrcBlendCaps
類型: DWORD
來源混合功能。 此成員可以是下列一或多個旗標。 (來源和目的地的 RGBA 值是由下標 s 和 d.)
值 | 意義 | |
---|---|---|
|
驅動程式同時支援D3DBLEND_BLENDFACTOR和D3DBLEND_INVBLENDFACTOR。 請參閱 D3DBLEND。 | |
|
來源混合因數 (1 - As、 1 - As、1 - As、1 - As) 和目的地混合因數 (As、As、As、As) ;會覆寫目的地混合選取範圍。 | |
|
驅動程式支援混合模式D3DBLEND_BOTHSRCALPHA。 (此混合模式已過時。如需詳細資訊,請參閱 D3DBLEND.) | |
|
Blend Factor (Ad、Ad、Ad、Ad) 。 | |
|
Blend Factor (Rd、Gd、Bd、Ad) 。 | |
|
Blend Factor (1 - Ad, 1 - Ad, 1 - Ad, 1 - Ad) 。 | |
|
Blend Factor (1 - Rd、1 - Gd、1 - Bd、1 - Ad) 。 | |
|
Blend Factor (1 - As, 1 - As, 1 - As, 1 - As, 1 - As) 。 | |
|
Blend Factor (1 - Rs、1 - Gs、1 - Bs、1 - As) 。 | |
|
Blend Factor (1 - PSOutColor[1]r, 1 - PSOutColor[1]g, 1 - PSOutColor[1]b, 未使用) ) 。 請參閱 轉譯目標混合。
|
|
|
Blend Factor (1、1、1、1) 。 | |
|
Blend Factor (As、As、As、As) 。 | |
|
Blend Factor (f、f、f、1) ;f = min (As, 1 - Ad) 。 | |
|
Blend Factor (Rs、Gs、Bs、As) 。 | |
|
Blend Factor (PSOutColor[1]r、PSOutColor[1]g、PSOutColor[1]b,未使用) 。 請參閱 轉譯目標混合。
|
|
|
Blend Factor (0、0、0、0) 。 |
DestBlendCaps
類型: DWORD
目的地混合功能。 這個成員可以是為 SrcBlendCaps 成員定義的相同功能。
AlphaCmpCaps
類型: DWORD
Alpha 測試比較功能。 此成員可以包含為 ZCmpCaps 成員定義的相同功能旗標。 如果此成員只包含D3DPCMPCAPS_ALWAYS功能,或只包含D3DPCMPCAPS_NEVER功能,則驅動程式不支援 Alpha 測試。 否則,旗標會識別 Alpha 測試支援的個別比較。
ShadeCaps
類型: DWORD
網底作業功能。 一般而言,假設裝置完全支援指定的命令,它支援D3DSHADE_FLAT模式, (如 D3DSHADEMODE 列舉類型中所指定) 。 此旗標會指定驅動程式是否可以支援 Gouraud 網底,以及是否支援 Alpha 色彩元件。 不支援 Alpha 元件時,產生的色彩 Alpha 值為隱含 255。 這是最大可能的 Alpha (,也就是 Alpha 元件處於完整濃度) 。
三角形的色彩、反射醒目提示、模糊和 Alpha 插補項各有功能旗標,應用程式可用來找出裝置驅動程式如何實作它們。
此成員可以是下列一或多個旗標。
TextureCaps
類型: DWORD
其他紋理對應功能。 此成員可以是下列一或多個旗標。
值 | 意義 |
---|---|
|
支援紋理圖元中的 Alpha。 |
|
裝置可以從紋理調色盤繪製 Alpha。 |
|
支援 Cube 紋理。 |
|
裝置要求 Cube 紋理貼圖的維度指定為兩個的乘冪。 |
|
裝置支援已套用的立方體紋理。 |
|
裝置支援已套用的紋理。 |
|
裝置支援已套用的磁片區紋理。 |
|
也會設定D3DPTEXTURECAPS_POW2,有條件地支援使用 2D 紋理,且維度不是兩個。 如果符合下列所有需求,公開這項功能的裝置可以使用這類紋理。
如果未設定此旗標,而且D3DPTEXTURECAPS_POW2也未設定,則會針對 2D 紋理提供無條件支援,且維度不是兩個。 不是兩個乘冪的紋理無法在一個階段設定,該階段會根據著色器計算來讀取 (,例如 bem - ps 和 texm3x3 - 圖元著色器 1_0 到 1_3 版的 ps 指示) 。 例如,這些紋理可用來儲存要送入紋理讀取的凸塊,但不會儲存在 texbem - ps、 texbeml - ps和 texm3x3spec - ps中使用的環境對應。 這表示使用著色器內計算的紋理座標,無法定址或取樣不是兩個維度的紋理。 這種類型的作業稱為相依讀取,無法在這些類型的紋理上執行。 |
|
裝置不支援可程式化和固定函式著色器中投影的碰撞環境查閱作業。 |
|
支援檢視方塊更正文字。 |
|
如果未設定D3DPTEXTURECAPS_NONPOW2CONDITIONAL,則所有紋理都必須有寬度和高度指定為兩個的乘冪。 這項需求不適用於 Cube 紋理或磁片區紋理。
如果同時設定D3DPTEXTURECAPS_NONPOW2CONDITIONAL,請有條件地支援使用 2D 紋理,且維度不是兩個。 請參閱D3DPTEXTURECAPS_NONPOW2CONDITIONAL描述。 如果未設定此旗標,而且D3DPTEXTURECAPS_NONPOW2CONDITIONAL也未設定,則會針對 2D 紋理提供無條件支援,且維度不是兩個。 |
|
支援D3DTTFF_PROJECTED紋理轉換旗標。 套用時,裝置會將轉換的紋理座標除以最後一個紋理座標。 如果這項功能存在,則投影分割會根據圖元進行。 如果這項功能不存在,但投影分割仍然需要發生,則 Direct3D 執行時間會以每個頂點為基礎執行。 |
|
所有紋理都必須是正方形。 |
|
在插補之前,紋理索引不會依紋理大小進行調整。 |
|
裝置支援磁片區紋理。 |
|
裝置要求磁片區紋理貼圖的維度指定為兩個的乘冪。 |
TextureFilterCaps
類型: DWORD
紋理的紋理篩選功能。 每個階段篩選功能會反映執行多重紋理混合時,紋理階段支援哪些篩選模式。 這個成員可以是 D3DPTFILTERCAPS中定義的個別紋理篩選旗標的任何組合。
CubeTextureFilterCaps
類型: DWORD
Cube 紋理的紋理篩選功能。 每個階段篩選功能會反映執行多重紋理混合時,紋理階段支援哪些篩選模式。 這個成員可以是 D3DPTFILTERCAPS中定義的個別紋理篩選旗標的任何組合。
VolumeTextureFilterCaps
類型: DWORD
磁片區紋理的紋理篩選功能。 每個階段篩選功能會反映執行多重紋理混合時,紋理階段支援哪些篩選模式。 這個成員可以是 D3DPTFILTERCAPS中定義的個別紋理篩選旗標的任何組合。
TextureAddressCaps
類型: DWORD
紋理物件的紋理定址功能。 此成員可以是下列一或多個旗標。
VolumeTextureAddressCaps
類型: DWORD
磁片區紋理的紋理定址功能。 這個成員可以是針對 TextureAddressCaps 成員定義的一或多個旗標。
LineCaps
類型: DWORD
定義線條繪製基本類型的功能。
值 | 意義 |
---|---|
|
支援 Alpha 測試比較。 |
|
支援反鋸齒線。 |
|
支援來源混合。 |
|
支援水氣。 |
|
支援紋理對應。 |
|
支援 z 緩衝區比較。 |
MaxTextureWidth
類型: DWORD
此裝置的紋理寬度上限。
MaxTextureHeight
類型: DWORD
此裝置的紋理高度上限。
MaxVolumeExtent
類型: DWORD
三個維度的最大值 (寬度、高度和深度) 磁片區紋理。
MaxTextureRepeat
類型: DWORD
這個數位代表後正規化紋理座標整數位的最大範圍。 紋理座標會儲存為 32 位帶正負號的整數,使用 27 位來儲存整數部分,以及浮點分數的 5 位。 最大整數索引 2ー⁷ 是用來判斷最大紋理座標,視硬體如何調整紋理座標而定。
某些硬體會報告上限D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE。 在此情況下,裝置會依紋理大小延遲縮放紋理座標,直到插入和套用紋理位址模式之後,紋理可以包裝的次數是由 MaxTextureRepeat 中的整數值所指定。
較不常說,某些硬體D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE未設定,且裝置會在插補之前,使用最高層級) 的詳細資料 (,依紋理大小調整紋理座標。 這會限制紋理可包裝至 MaxTextureRepeat / 紋理大小的次數。
例如,假設 MaxTextureRepeat 等於 32k,且紋理的大小為 4k。 如果硬體設定D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE,則紋理可以包裝的次數等於 MaxTextureRepeat,在此範例中為 32k。 否則,可包裝紋理的次數等於 MaxTextureRepeat 除以紋理大小,在此範例中為 32k/4k。
MaxTextureAspectRatio
類型: DWORD
硬體支援的最大紋理外觀比例,通常是 2 的電源。
MaxAnisotropy
類型: DWORD
D3DSAMP_MAXANISOTROPY紋理階段狀態的有效值上限。
MaxVertexW
類型: float
裝置支援的最大 W 型深度值。
GuardBandLeft
類型: float
防護帶裁剪區域的螢幕空間座標。 這個矩形內的座標,但在檢視區矩形外部會自動裁剪。
GuardBandTop
類型: float
防護帶裁剪區域的螢幕空間座標。 這個矩形內的座標,但在檢視區矩形外部會自動裁剪。
GuardBandRight
類型: float
防護帶裁剪區域的螢幕空間座標。 這個矩形內的座標,但在檢視區矩形外部會自動裁剪。
GuardBandBottom
類型: float
防護帶裁剪區域的螢幕空間座標。 這個矩形內的座標,但在檢視區矩形外部會自動裁剪。
ExtentsAdjust
類型: float
要向外調整範圍矩形的圖元數目,以容納反鋸齒核心。
StencilCaps
類型: DWORD
指定支援的樣板緩衝區作業旗標。 樣板作業假設對所有三個樣板緩衝區作業都有效,轉譯狀態為 (D3DRS_STENCILFAIL、D3DRS_STENCILPASS和D3DRS_STENCILZFAIL) 。
如需詳細資訊,請參閱 D3DSTENCILCAPS。
FVFCaps
類型: DWORD
彈性頂點格式功能。
TextureOpCaps
類型: DWORD
描述此裝置所支援紋理作業的旗標組合。 定義下列旗標。
MaxTextureBlendStages
類型: DWORD
固定函式管線中支援的紋理混合階段數目上限。 此值是可用的混合器數目。 在可程式化的圖元管線中,這會對應至圖元著色器指令所使用的唯一紋理暫存器數目。
MaxSimultaneousTextures
類型: DWORD
可以同時系結至固定函式管線取樣器階段的紋理數目上限。 如果相同的紋理系結至兩個取樣器階段,則會計算為兩個紋理。
此值在可程式化管線中沒有任何意義,其中取樣器階段的數目取決於每個圖元著色器版本。 每個圖元著色器版本也會決定紋理宣告指令的數目。 請參閱 圖元著色器。
VertexProcessingCaps
類型: DWORD
頂點處理功能。 對於指定的實體裝置,這項功能可能會因提供給 CreateDevice的參數而有所不同。 請參閱 D3DVTXPCAPS。
MaxActiveLights
類型: DWORD
可以同時作用的光線數目上限。 對於指定的實體裝置,這項功能可能會因提供給 CreateDevice的參數而有所不同。
MaxUserClipPlanes
類型: DWORD
支援的使用者定義裁剪平面數目上限。 這個成員可以是 0。 針對指定的實體裝置,這項功能可能會因提供給 CreateDevice的參數而有所不同。
MaxVertexBlendMatrices
類型: DWORD
執行多矩陣頂點混合時,此裝置可以套用的最大矩陣數目。 針對指定的實體裝置,這項功能可能會因提供給 CreateDevice的參數而有所不同。
MaxVertexBlendMatrixIndex
類型: DWORD
DWORD 值,指定可使用每個頂點索引編制索引的矩陣索引上限。 矩陣的數目是 MaxVertexBlendMatrixIndex + 1,這是矩陣調色盤的大小。 如果頂點資料中有需要混合光源的正常值,則矩陣數目是這個功能旗標所指定的數位一半。 如果 MaxVertexBlendMatrixIndex 設定為零,驅動程式不支援索引頂點混合。 如果此值不是零,則索引的有效範圍是零到 MaxVertexBlendMatrixIndex。
MaxVertexBlendMatrixIndex 的零值表示驅動程式不支援索引矩陣。
使用軟體頂點處理時,可以使用 256 個矩陣進行索引的頂點混合,而不需要一般混合。
針對指定的實體裝置,這項功能可能會因提供給 CreateDevice的參數而有所不同。
MaxPointSize
類型: float
點基本類型的大小上限。 如果設定為 1.0f,則裝置不支援點大小控制。 範圍大於或等於 1.0f。
MaxPrimitiveCount
類型: DWORD
每個 DrawPrimitive 呼叫的基本類型數目上限。 有兩種案例:
- 如果 MaxPrimitiveCount 不等於0xffff,您可以使用每個繪製呼叫來繪製最多 MaxPrimitiveCount 基本類型。
- 不過,如果 MaxPrimitiveCount 等於 0xffff,您仍然可以在大部分的 MaxPrimitiveCount 基本類型上繪製,但您也可以使用不超過 MaxPrimitiveCount 唯一頂點 (,因為每個基本類型都可以使用三個不同的頂點) 。
MaxVertexIndex
類型: DWORD
硬體頂點處理所支援的索引大小上限。 可以建立 32 位索引緩衝區;不過,除非此值大於 0x0000FFFF,否則您將無法使用索引緩衝區轉譯。
MaxStreams
類型: DWORD
SetStreamSource的並行資料流程數目上限。 有效範圍是 1 到 16。 請注意,如果此值為 0,則驅動程式不是 Direct3D 9 驅動程式。
MaxStreamStride
類型: DWORD
SetStreamSource的最大步幅。
VertexShaderVersion
類型: DWORD
兩個數字,代表頂點著色器主要和子版本。 如需每個頂點著色器版本所支援指示的詳細資訊,請參閱版本1_x版本 2_0、版本 2_0擴充或版本 3_0。
MaxVertexShaderConst
類型: DWORD
保留給常數的頂點 著色器頂點著色器數目 。
PixelShaderVersion
類型: DWORD
代表圖元著色器主要和子版本的兩個數字。 如需每個圖元著色器版本所支援指示的詳細資訊,請參閱版本1_x版本 2_0、版本 2_0擴充或版本 3_0。
PixelShader1xMaxValue
類型: float
圖元著色器算術元件的最大值。 這個值表示圖元色彩混合作業所支援之值的內部範圍。 在其回報的範圍內,實作必須允許資料通過未經修改的圖元處理, (未取樣) 。 一般而言,這個成員的值是絕對值。 例如,1.0 表示範圍是 -1.0 到 1,而 8.0 則表示範圍是 -8.0 到 8.0。 對於支援圖元著色器的任何硬體,此值必須為 > 1.0。
DevCaps2
類型: DWORD
調適型鑲嵌的設備磁碟機功能。 如需詳細資訊,請參閱 D3DDEVCAPS2
MaxNpatchTessellationLevel
TBD
Reserved5
TBD
MasterAdapterOrdinal
類型: UINT
這個數位表示哪個裝置是這個次級的主要裝置。 此數位取自與配接器值相同的空間。
針對多頭支援,一個頭部將代表主前端,而相同卡片上的所有其他頭部都會表示為次級頭部。 如果系統中有一個以上的多頭介面卡,則來自一個多頭介面卡的主卡及其從屬稱為群組。
AdapterOrdinalInGroup
類型: UINT
這個數位表示 API 參考頭部的順序。 主介面卡的值一律為 0。 這些值不會對應至配接器序數。 它們只適用于群組內的頭部。
NumberOfAdaptersInGroup
類型: UINT
只有在主要) 時,此配接器群組中的介面卡數目才會 (。 這將會是傳統介面卡的 1。 多頭卡的主要介面卡值將會大於 1。 多頭卡的次級介面卡值將會是 0。 每個卡片最多可以有一個主圖形,但可能會有許多次級。
DeclTypes
類型: DWORD
頂點宣告中包含的一或多個資料類型組合。 請參閱 D3DDTCAPS。
NumSimultaneousRTs
類型: DWORD
同時轉譯目標的數目。 這個數位至少必須是一個。
StretchRectFilterCaps
類型: DWORD
描述 StretchRect所支援之作業的常陣列合。 此欄位中可設定的旗標如下:
常數 | 描述 |
---|---|
D3DPTFILTERCAPS_MINFPOINT | 裝置支援縮小矩形的點樣本篩選。 使用 D3DTEXF_POINT 呼叫 StretchRect 來要求此篩選類型。 |
D3DPTFILTERCAPS_MAGFPOINT | 裝置支援放大矩形的點樣本篩選。 使用 D3DTEXF_POINT 呼叫 StretchRect 來要求此篩選類型。 |
D3DPTFILTERCAPS_MINFLINEAR | 裝置支援用於縮小矩形的雙線性插補篩選。 使用 D3DTEXF_LINEAR 呼叫 StretchRect 來要求此篩選類型。 |
D3DPTFILTERCAPS_MAGFLINEAR | 裝置支援放大矩形的雙線性插補篩選。 使用 D3DTEXF_LINEAR 呼叫 StretchRect 來要求此篩選類型。 |
如需詳細資訊,請參閱 D3DTEXTUREFILTERTYPE 和 D3DTEXTUREFILTERTYPE。
VS20Caps
裝置支援頂點著色器 2_0 版擴充功能。 請參閱 D3DVSHADERCAPS2_0。
PS20Caps
裝置支援圖元著色器 2_0 版擴充功能。 請參閱 D3DPSHADERCAPS2_0。
VertexTextureFilterCaps
類型: DWORD
裝置支援頂點著色器紋理篩選功能。 請參閱 D3DPTFILTERCAPS。
MaxVShaderInstructionsExecuted
類型: DWORD
使用流程式控制制時可以執行的頂點著色器指令數目上限。 可以進行程式設計的最大指令數目是 MaxVertexShader30InstructionSlots。
MaxPShaderInstructionsExecuted
類型: DWORD
使用流程式控制制時可以執行的圖元著色器指令數目上限。 可以進行程式設計的最大指令數目是 MaxPixelShader30InstructionSlots。
MaxVertexShader30InstructionSlots
類型: DWORD
支援的頂點著色器指令位置數目上限。 此上限可設定的最大值為 32768。 需要支援vs_3_0的裝置,才能支援至少 512 個指令位置。
MaxPixelShader30InstructionSlots
類型: DWORD
支援的圖元著色器指令位置數目上限。 此上限可設定的最大值為 32768。 需要支援ps_3_0的裝置,才能支援至少 512 個指令位置。
備註
MaxTextureBlendStages 和 MaxSimultaneousTextures 成員看起來可能很類似,但它們包含不同的資訊。 MaxTextureBlendStages 成員包含目前裝置所支援的紋理混合階段總數,而 MaxSimultaneousTextures 成員會描述這些階段有多少階段可以使用 SetTexture 方法來系結紋理。
當驅動程式填滿此結構時,即使用來擷取 IDirect3DDevice9) 等功能 (的介面也不支援執行緩衝區,它也可以設定 execute-buffer 功能的值。
一般而言,如果您使用紋理,然後在場景中修改它,可能會發生效能問題。 請確定目前BeginScene 和 EndScene區塊中未使用任何紋理,除非絕對必要。 在場景中使用極高紋理的情況下,結果未定義。 當您修改場景中使用的紋理,而且沒有可用的備用紋理記憶體時,就會發生這種情況。 對於這類系統,z 緩衝區的內容在 EndScene 會變成無效。 應用程式不應該在 BeginScene/EndScene 配對內的這種類型的硬體上呼叫 UpdateSurface 或從後端緩衝區呼叫。 此外,如果已設定D3DPRASTERCAPS_ZBUFFERLESSHSR功能旗標,應用程式就不應該嘗試存取 z 緩衝區。 最後,應用程式不應該鎖定 BeginScene/EndScene 配對內的背景緩衝區或 z 緩衝區。
Direct3D 9 不支援下列有關已套用紋理的旗標。
- D3DPTFILTERCAPS_LINEAR
- D3DPTFILTERCAPS_LINEARMIPLINEAR
- D3DPTFILTERCAPS_LINEARMIPNEAREST
- D3DPTFILTERCAPS_MIPNEAREST
- D3DPTFILTERCAPS_NEAREST
需求
標頭 | d3d9caps.h |