OpenGL ES零基礎入門四矩形的繪製

繪製矩形

在上一篇文章 OpenGL ES零基礎入門—-(2)繪製三角形 中,使用OpenGLES繪製了基本的三角形,從繪製三角形中,我們也大概瞭解了OpenGL的基本使用,包括設置 CAEAGLLayer 屬性,創建 EAGLContext,創建和使用 renderbuffer 和 framebuffer,瞭解OpenGL ES 渲染管線,創建和使用 shader,創建和實現 program,使用頂點數組進行描繪。現在我們所描繪的矩形相對於三角形來說就是多一個頂點座標,並且矩形是也可以認爲是兩個三角形組成的這樣一個理解的方式去繪製,所以從我們的頂點數組添加頂點座標和顏色座標。

如下圖
首先,按照最基本的方式依次設置頂點位置及顏色,使用glDrawArrays依次繪製頂點。

依次繪製

三角形的繪製方式

glDrawArrays函數的第一個參數可設置爲GL_TRIANGLES、GL_TRIANGLE_STRIP、GL_TRIANGLE_FAN,分別是繪製三角形的三種方式。
這裏寫圖片描述

GL_TRIANGLES是以每三個頂點繪製一個三角形。第一個三角形使用頂點V0,V1,V2,第二個使用V3,V4,V5,以此類推。如果頂點的個數n不是3的倍數,那麼最後的1個或者2個頂點會被忽略。
以上方式即在glDrawArrays函數中使用GL_TRIANGLES。
而GL_TRIANGLE_STRIP第一個三角形爲V0、V1、V2,第二個三角形爲V1、V2、V3,第三個三角形爲V2、V3、V4,依次類推。GL_TRIANGLE_FAN第一個三角形爲V0、V1、V2,第二個三角形爲V0、V2、V3,第三個三角形爲V0、V3、V4,依次類推。

所以,如果使用GL_TRIANGLE_STRIP繪製以上矩形,頂點數組與顏色數組也要相應變化:

GL_TRIANGLE_STRIP

如果使用GL_TRIANGLE_FAN呢,因取得三角形頂點的方式不同,因此也必須對頂點數組中頂點的序列做相應調整如下,才能繪製出跟以上兩種方式一樣的矩形:

GL_TRIANGLE_FAN

以上幾種是繪製矩形的方法,就是改變頂點位置和顏色。
總結:結合 OpenGL ES零基礎入門—-(2)繪製三角形以上三角形的繪製文字,在此文章中可以極易的描繪出所需的矩形,通過以下幾種glDrawArray方法的參數GL_TRIANGLES,GL_TRIANGLE_FAN,GL_TRIANGLE_FAN,根據我們自己的需求變化座標來繪製矩形
本文源碼可以在這裏獲得:https://github.com/476455183/OpenGLES

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章