各位讀者抱歉,今天是很水的一回,因為今天加班,很晚才到家,單純分享一個之前看到的問題。之前因為時間直接仙略過它了
大致上2D渲染那塊已經完成了,之前說的繪畫出不同形狀的多邊形或是圓形,暫時不會再加這些功能了,但是還沒拿實際的的圖集(Texture Atlas)來使用,之前貼的免費素材的網站-kenney,他是有提供圖集的,然後會有一份.xml
用來記錄圖集中,每個小圖的資料屬性。老實說我有點想試著製作一個圖集包裝器(Texture Atlas Packer),各個小圖記錄的話會利用.csv
檔來記錄。
回到原本想講的,目前使用的glDrawElements
都是畫三角形,第一個參數就是了,GL_TRIANGLE
,之前再查這個API相關的時候,會很常看到另外兩個看起來跟GL_TRIANGLE
有關的,那兩個即是GL_TRIANGLE_STRIP
與GL_TRIANGLE_FAN
。
GL_TRIANGLE_STRIP
與GL_TRIANGLE_FAN
其實這個一找就找到了,但不是官方文件,是在stackoverflow上(沒錯,就是它),簡單來說,這兩個一樣是畫三角形沒錯。
先說STRIP
,假設我們要畫一個頂點,STRIP
的話,是會把先前已經畫出的兩個頂點連接起來,共用頂點然後畫出一個新三角形,沒錯!共用頂點,這就可以減少很多儲存空間了。
再來是FAN
,其實就如其名扇子,一樣是可以共用其他頂點,但是會以Buffer中的第一個頂點當作中心,連結其周圍的頂點畫出。
這篇,是我找到上面這個答案的文章,裡面有圖,搭配圖可以更清楚這兩個是在做甚麼!~
其實這些都應該要自己是過才對,但礙於時間問題,就先這樣吧...ˊ_>ˋ