输出图元---OpenGL显示表

创建和命名OpenGL显示表

  • 把对象描述成一个命名的语句序列并存储起来既方便又高效。在OpenGL中使用称为显示表的结构可以做到这一点。一旦建立了显示表,就可以用不同的显示操作来多次引用该表。
  • c0f038a3c93e8b507d31ff2dc8ecbce52e2.jpg
  • 显示表创建后,立即对包含如坐标位置和颜色分量等参数的表示进行赋值计算,从而使表中仅仅存储参数的值。对这些参数的任何后继修改都不起作用,因为不能修改显示表的值。
  • 我们可以创建任意多的显示表并通过调用一个标识来执行特定的显示表。一个显示表还可以嵌套在另一个显示表内。但如果一个显示表被赋予了一个已经存在的标识,则它取代原来的显示表内容。为了避免因故重用标识而造成显示表的丢失,可以让OpenGL为我们生成一个标识:a67949551c00ffcb7ee2859a296b080d056.jpg
  • 0ee77afd55ce6a56895d471a123b2984de8.jpg

执行OpenGL显示表

  • 可以使用glCallList(listID)执行一个显示表。
  • da1d2a67d2f3f5f2e963bbd444d2867862a.jpg
  • 首先定义变量:0764c6cd9c221b360525bc6a0649f6506eb.jpg
  • 建立显示列表并进行显示:a5a17e0eae8deb2b6babda83bc226b8666d.jpg
  • 我们可以使用下列方式执行多个显示表:da0184d139c18bed28cd3db86989d4c800b.jpg

删除OpenGL显示表

  • 要删除连续的一组显示表,可调用函数:glDeleteLists(startID,nLists)。其中参数startID给出最前面的显示表标识,而参数nLists给出要删除的显示表总数。

转载于:https://my.oschina.net/liyangke/blog/2253577

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值