操作系統(tǒng):Windows8.1
顯卡:Nivida GTX965M
開發(fā)工具:Visual Studio 2017
Introduction
在實際產(chǎn)品的運行環(huán)境中3D模型的數(shù)據(jù)往往共享多個三角形之間的頂點數(shù)據(jù)。即使繪制一些簡單的圖形也是如此,比如矩形:
繪制矩形需要兩個三角形,通常意味著我們需要6個頂點數(shù)據(jù)。問題是其中的兩個頂點會重復,導致數(shù)據(jù)會有50%的冗余。如果更復雜的模型,該問題會更加嚴重,平均每三個三角形就會發(fā)生重復頂點使用的情況。解決問題的方法是使用index buffer,即索引緩沖區(qū)。
索引緩沖區(qū)純粹是一個指向頂點緩沖區(qū)的指針數(shù)組。它允許我們重排列頂點數(shù)據(jù),并復用多個已經(jīng)存在的頂點數(shù)據(jù)。上圖顯示了有一個包含四個不重復頂點數(shù)據(jù)的頂點緩沖區(qū),通過索引緩沖區(qū)將如何顯示矩形的情況。前三個索引定義右上角的三角形,最后三個索引定義了左下角的三角形。
Index buffer creation
在本章節(jié)中,為了繪制如上圖所示的矩形,我們需要修改頂點數(shù)據(jù)并添加索引數(shù)據(jù)。修改后的頂點數(shù)據(jù)分別代表矩形四個角:
網(wǎng)友評論