基本拓撲
Direct3D 10 和更新版本支援數種基本類型, (或拓撲) 由 D3D_PRIMITIVE_TOPOLOGY 列舉類型表示。 這些類型會定義管線如何解譯和轉譯頂點。
基本基本類型
支援下列基本基本類型:
For a visualization of each primitive type, see the diagram later in this topic in Winding Direction and Leading Vertex Positions.
輸入組合器階段會從頂點和索引緩衝區讀取資料、將資料組合成這些基本類型,然後將資料傳送至其餘的管線階段。 (您可以使用 ID3D11DeviceCoNtext::IASetPrimitiveTopology 方法來指定輸入組合器階段的基本類型。)
基本相鄰
除了點清單清單) 以外,所有 Direct3D 10 和更高基本類型 (都可在兩個版本中使用:一個具有連續的基本類型,另一個基本類型沒有相鄰。 具有相鄰關係的基本類型包含一些周圍頂點,而不具相鄰關係的基本類型僅包含目標基本類型的頂點。 例如, 以D3D_PRIMITIVE_TOPOLOGY_LINELIST 值表示的行清單基本 () 具有對應的線條清單基本類型,其中包含 D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ 值所代表的相鄰 (。)
相鄰基本類型旨在提供您更多幾何的相關資訊,並僅透過幾何著色器顯示。 相鄰關係適用於使用剪影偵測、陰影磁碟區立體化等的幾何著色器。
例如,假設您想要繪圖具有相鄰關係的三角形清單。 包含 36 個頂點 (具有相鄰關係) 的三角形清單將產生 6 個已完成的基本類型。 具相鄰關係的基本類型 (帶狀線除外) 包含的頂點數是不具相鄰關係的同等基本類型正好兩倍,其中每個額外的頂點是相鄰的頂點。
線圈方向和前置頂點位置
如下圖所示,前置頂點是基本類型中的第一個非相鄰頂點。 基本類型可讓多個前置頂點經過定義,只要每個前置頂點是用於不同基本類型。 具相鄰關係三角形連環,前置頂點是 0、2、4、6 等。 具相鄰關係的帶狀線,前置頂點是 1、2、3 等。 換句話說,相鄰基本類型沒有前置頂點。
下圖顯示可產生輸入組合語言的所有基本類型的頂點排序。
前述圖中的符號在下表中說明。
符號 | 名稱 | 描述 |
---|---|---|
頂點 | 3D 空間中的點。 | |
線圈方向 | 組合基本類型時的頂點排序。 可以是順時針或逆時針;呼叫 ID3D11Device1::CreateRasterizerState1來指定此專案。 | |
前置頂點 | 包含每個常數資料的基本類型中的第一非相鄰頂點。 |
產生多個等量
您可以透過寬帶切割產生多條寬帶。 您可以明確呼叫 RestartStrip HLSL 函式或將特殊索引值插入索引緩衝區,來執行寬帶切割。 這個值是 –1,32 位元索引是 0xffffffff 或 16 位元索引是 0xffff。 –1 的索引表示明確「剪下」或」重新啟動」目前的寬帶。 上一個索引完成上一個基本類型或寬帶,而下一個索引開始新的基本類型或寬帶。 如需產生多個等量的詳細資訊,請參閱 幾何著色器階段。
注意
您需要 功能層級 10.0 或更高版本的硬體,因為並非所有 10level9 硬體都會實作這項功能。
相關主題