簡體   English   中英

Android OpenGl ES三角風扇

[英]Android OpenGl ES Triangle Fan

我正在嘗試在我的應用程序中使用OpenGL,因此已將此代碼復制粘貼到我的項目中。 它可以完美地工作,但是我想畫三角形的迷,而不僅僅是畫那個三角形。 我該如何更改代碼才能做到這一點?

使用三角形風扇沒有魔術。 您只需更改作為第一個參數傳遞給GL_TRIANGLE_FAN的繪制調用的基本類型。 例如,您的教程代碼當前具有以下調用:

GLES20.glDrawElements(GLES20.GL_TRIANGLES, indices.length,
        GLES20.GL_UNSIGNED_SHORT, drawListBuffer);

您改為:

GLES20.glDrawElements(GLES20.GL_TRIANGLE_FAN, indices.length,
        GLES20.GL_UNSIGNED_SHORT, drawListBuffer);

現在,您只需添加更多的頂點和索引,就可以開始使用了。

OpenGL定義三角形風扇的方式,所有三角形共享第一個點。 如果指定頂點:

v0 v1 v2 v3 v4 v5 v6 ...

生成的三角形為:

v0 v1 v2
v0 v2 v3
v0 v3 v4
v0 v4 v5
v0 v5 v6
...

一個相關的基本類型是三角帶( GL_TRIANGLE_STRIP ),它比三角扇更常用。

三角形風扇不直接存在於opengl es中。 如果要創建三角形風扇,則需要使用三角形和標記進行繪制。 這是一個很好的教程,說明了如何使它工作。 http://www.learnopengles.com/tag/triangle-strips/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM