三角形寬帶
三角形帶狀是一系列連接的三角形。 由於三角形已連接,因此應用程式不需要重複指定每個三角形的所有三個頂點。 例如,您只需要七個頂點,才能定義下列三角形帶狀。
例
系統使用頂點 v1、v2、v3 繪製第一個三角形;v2、v4 和 v3 繪製第二個三角形;v3、v4 和 v5 繪製第三個;v4、v6 和 v5 繪製第四個等等。 請注意,第二個和第四個三角形的頂點順序不一;這是為了確保所有三角形都是以順時針方向繪製的。
3D 場景中的大部分物件是由三角形帶狀結構所組成。 這是因為三角形帶狀結構可用來指定複雜物件的方式,以便有效率地使用記憶體和處理時間。
下圖描繪了渲染的三角形帶。
下列程式代碼示範如何為此三角形帶建立頂點。
struct CUSTOMVERTEX
{
float x,y,z;
};
CUSTOMVERTEX Vertices[] =
{
{-5.0, -5.0, 0.0},
{ 0.0, 5.0, 0.0},
{ 5.0, -5.0, 0.0},
{10.0, 5.0, 0.0},
{15.0, -5.0, 0.0},
{20.0, 5.0, 0.0}
};
下列程式代碼範例示範如何在 Direct3D 中渲染此三角形帶。
//
// It is assumed that d3dDevice is a valid
// pointer to a device interface.
//
d3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 4);
多邊形
三角形帶通常用來建置多邊形。 多邊形是由至少三個頂點描繪的封閉 3D 圖形。 最簡單的多邊形是三角形。 Microsoft Direct3D 會使用三角形來撰寫大部分的多邊形,因為三角形中的所有三個頂點都保證都是平面。 渲染非平面頂點效率低。 您可以結合三角形來形成大型、複雜的多邊形和網格。
下圖顯示了一個立方體。 立方體的每個面由兩個三角形組成。 整組三角形形成一個立方基元。 您可以將紋理套用到圖元的表面,使它們看起來像是單一的實體形式。 如需詳細資訊,請參閱 Textures。
您也可以使用三角形來建立表面看起來為平滑曲線的基本類型。 下圖顯示如何使用三角形模擬球體。 應用材質後,可以使球體在渲染時看起來是彎曲的。
相關主題