欢迎光临散文网 会员登陆 & 注册

OpenGL实例教程09:IBO

2023-03-11 18:50 作者:阿西拜-江西  | 我要投稿

什么是IBO

Index Buffer Object 索引缓冲对象

进入3D的世界

前面我们看到的都是二维的效果(虽然是三维空间,但z都等于0),现在让我们来绘制一个三棱锥。为什么是三棱锥呢?因为我找不到比这更简单的三维形状了。

三棱锥

绘制一个三棱锥,需要多少个顶点数据?

按顺序绘制:

  • 需要四个三角形,每个三角形三个点。需要4*3=12个点。

按索引绘制(这节主题):glDrawElement

  • 仔细看看图中的三棱锥,只需要4个点即可,每个点都被三个不同的三角形共享。

  • 需要在VBO的基础之上,增加一个IBO,通过索引获取VBO中的顶点数据。

VBO(上)与IBO(下)

OpenGL代码:

主要就是创建IBO,并将索引值导入其中。并且使用glDrawElement,不是glDrawArrays进行绘制。

运行效果


OpenGL实例教程09:IBO的评论 (共 条)

分享到微博请遵守国家法律