【资料图】
元素缓冲对象(Element Buffer Object,EBO),也称为索引缓冲对象(Index Buffer Object),用于存储绘制图元所需的顶点索引数据,是一种用于优化绘制三角形元素的机制。
举例来说,假设我们需要绘制一个矩形。由于OpenGL主要处理三角形,我们可以绘制两个三角形来形成一个矩形。按照之前的做法,我们需要向着色器发送六个顶点,但由于这六个点中有两个重复的,因此会造成内存和性能的浪费。而使用EBO,简单来说,就是只定义四个顶点,然后根据顶点索引择需取用,当然其中有两个会被重复使用。
下面我们定义顶点和绘制矩形所需的索引:
EBO的使用和VBO一样,只是缓冲类型不再是GL_ARRAY_BUFFER,而是GL_ELEMENT_ARRAY_BUFFER。
最后用函数glDrawElements()替换glDrawArrays()。
mode表示绘制的基本图元类型,此处依然为GL_TRIANGLES。
count表示要绘制顶点的个数,这里应为6。
type表示索引的数据类型,这里是GL_UNSIGNED_INT。
indices指定EBO中的偏移量(或者传递一个索引数组,但是这是当你不在使用索引缓冲对象的时候),此处为0。
至此,绘制一个矩形的流程如下:
标签:
上一篇 : 警企地协同联动,地铁燕房线停运滞留乘客及时疏散
下一篇 : 最后一页
3月16日,盛和资源(600392)副总经理毛韶春、黄厚兵,财务总监夏兰田,董秘郭晓雷,通过上交所集中竞价交...
2022年3月15日,这是继1983年以来的第40个国际消费者权益日。中消协组织围绕共促消费公平消费维权年主题...
首批金控牌照的归属出炉,两家公司拿到许可证。3月17日,央行发布公告称,已批准中国中信金融控股有限公...
时隔半月之久,西宁市城北区逐步推动复工复产,往日的生机活力被渐渐寻回,牛肉面红油飘香、包子铺炊烟...
音乐是我生活的一部分,是我的梦想,也是我的事业。英国音乐人亚当(Adam)告诉记者,在中国的十几年里,...
Copyright © 2015-2022 时代舞蹈网版权所有 备案号: 联系邮箱: 514 676 113@qq.com