OpenGLES demo - 4. GL中的三角形

本文介绍了OpenGLES中绘制三角形的三种方法:GL_TRIANGLES、GL_TRIANGLE_STRIP和GL_TRIANGLE_FAN,并通过示例说明了它们的工作原理和应用场景。以绘制矩形为例,展示了如何使用不同方式来减少顶点数量。
摘要由CSDN通过智能技术生成

原创文章,转载请注明连接 http://blog.csdn.net/hoytgm/article/details/32977479

第二个demo的时候我们画了一个三角形,三角形是OpenGLES,OpenGL和Direct3D中最基本的元素。在Direct3D中一个三角形也被称作为primitive,也就是一个图形元。确实,在图形学的世界中,不管你看到任何东西,最后都是由一个一个的三角形构成的。了解的朋友也许会问线,一般来说,即使开发者画的是一条线,在显卡的驱动或者是硬件的的实现上也是由两个三角形构成,这样的话,如果开发者需要画一条宽的线,那么很简单了,扩大构成这条线的三角形就可以了。


在图形学中,一般会用到三种画三角形的方式,triangles,triangle strip和triangle fan。这三种方式对应到OpenGLES中就是GL_TRIANGLES, GL_TRIANGLE_STRIP和GL_TRIANGLE_FAN。


Triangles是指三角形列表,每三个点构成一个三角形。如果开发者想画两个三角形的话,那么就需要提供6个顶点。因为Triangles方式没有共享点的问题,每个三角形都由独立的三个点构成。因此要画的三角形个数和顶点的关系为 triangles * 3 = vertices。

我们以第二章的代码为基础,如果我们需要画一个矩形,那么需要提供6个顶点,同时将glDrawArrays的最后一个参数由3改为6。

    float vertices[] =
    {
        -0.5f, -0.5f, 0.5f, 1.0f,
        0.5f, -0.5f, 0.5f, 1.0f,
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值