繁体   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