glCallLists

编辑:砍头网互动百科 时间:2019-11-19 18:34:39
编辑 锁定
本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
glCallLists 函数用于同时执行多个显示列表
中文名
外文名
glCallLists
学    科
计算机学
语    言
英语

目录

glCallLists定义

编辑
The glCallLists function executes a list of display lists.
void glCallLists( GLsizei n, GLenum type, const GLvoid *lists);

glCallLists性质

编辑
执行N个显示列表,被执行的显示列表的索引是通过把当前显示列表的基址表示的偏移值与list指定的数组中的有符号整形值相加得到的。

glCallLists应用

编辑
自定义的输出函数:
GLvoid glPrint(const char *fmt, ...)// 自定义GL输出字体函数
  {
  float length = 0;
  chartext[256];// 保存文字串
  va_listap;// 指向一个变量列表的指针
  if (fmt == NULL)// 如果无输入则返回
  return;
  va_start(ap, fmt);// 分析可变参数
  vsprintf(text, fmt, ap);// 把参数值写入字符串
  va_end(ap);// 结束分析
  for (unsigned int loop=0;loop<(strlen(text));loop++)// 查找整个字符串的长度
  {
  length+=gmf[text[loop]].gmfCellIncX;
  }
  glTranslatef(-length/2,0.0f,0.0f);// 把字符串置于最左边
  glPushAttrib(GL_LIST_BIT);// 把显示列表属性压入属性堆栈
  glListBase(base);// 设置显示列表的基础值
  glCallLists(strlen(text), GL_UNSIGNED_BYTE, text);// 调用显示列表绘制字符串
  glPopAttrib();// 弹出属性堆栈
  }