字符图元 & 显示列表

字符图元

1、typeface(字样),即设计风格,如Courier等。

2、font(字体),如10磅Courier斜体。

3、monspace即为等宽字体,proportional为非等宽字体。

4、字体有2种存储格式:位图字体(bitmap font),也要光栅字体(raster font);轮廓字体(outline font)或笔划字体(stroke font)。

  

5、GLUT位图字体由OpenGL的glBitmap函数来绘制,而轮廓字体由折线边界(GL_LINE_STRIP)生成。

显示列表

1、按如下方式创建显示列表。

  

  listMode可以赋予GL_COMPILE、GL_COMPILE_AND_EXECUTE

2、通过glGenLists()来生成列表ID。glIsList(listID)来判定是否是一个列表。

3、glCallList(listID)来绘制一个list。

4、glDeleteList*可以删除显示列表。

参考:《计算机图形学》第3章。

字符图元 & 显示列表

时间: 2025-01-21 22:23:36

字符图元 & 显示列表的相关文章

计算机图形学(二)输出图元_18_显示列表_1_创建和命名OpenGL显示表

OpenGL显示列表 把对象描述成一个命名的语句序列(或任何其他的命令集)并存储起来既方便又高效.在OpenGL中使用称为显示表(display list)的结构可以做到这一点.一旦建立了显示表,就可以用不同的显示操作来多次引用该表.在网格中,描述图形的显示表存放在服务器中,以避免每次显示场景时都要传送表中的命令.我们可以为以后的执行来建立并存储显示表,或指定表中的命令立即执行.显示表对层次式建模特别有用,因为一个复杂的对象可以用一组简单的对象来描述. 创建和命名OpenGL显示表 使用glNe

OpenGL显示列表

OpenGL显示列表(Display List)是由一组预先存储起来的留待以后调用的OpenGL函数语句组成的,当调用这张显示列表时就依次执行表中所列出的函数语句.前面内容所举出的例子都是瞬时给出函数命令,则OpenGL瞬时执行相应的命令,这种绘图方式叫做立即或瞬时方式(immediate mode).本章将详细地讲述显示列表的基本概论.创建.执行.管理以及多级显示列表的应用等内容. 16.1.显示列表概论     16.1.1 显示列表的优势 OpenGL显示列表的设计能优化程序运行性能,尤其

[OpenGL] 斯坦福兔子与显示列表

1.调整桌子的大小.         在OpenGL绘制长方体,能够通过函数: glutSolidCube(Size)          绘制得到的是一个正方体,再利用缩放矩阵使其变成长方体.使得桌子的大小刚好能够放下16仅仅兔子. 2.兔子的增多降低 使用一个全局变量rabbitNum来记录兔子的数量. 在键盘回调函数中,在按下I,K后令rabbitNum添加或降低,并维护兔子的数量在1~16,等于16或1不再进行对应操作. 绘制兔子时.通过循环控制,每画完一仅仅兔子,平移一段距离,画到第4i

[OpenGL] 兔子与显示列表

1.调整桌子的大小.         在OpenGL绘制长方体,可以通过函数: glutSolidCube(Size)          绘制得到的是一个正方体,再利用缩放矩阵使其变成长方体,使得桌子的大小刚好可以放下16只兔子. 2.兔子的增多减少 使用一个全局变量rabbitNum来记录兔子的数量. 在键盘回调函数中,在按下I,K后令rabbitNum增加或减少,并维护兔子的数量在1~16,等于16或1不再进行相应操作. 绘制兔子时,通过循环控制,每画完一只兔子,平移一段距离,画到第4i+1

OpenGL中glVertex、显示列表(glCallList)、顶点数组(Vertex array)、VBO及VAO区别

OpenGL中glVertex.显示列表(glCallList).顶点数组(Vertex array).VBO及VAO区别 1.glVertex 最原始的设置顶点方法,在glBegin和glEnd之间使用.OpenGL3.0已经废弃此方法.每个glVertex与GPU进行一次通信,十分低效. glBegin(GL_TRIANGLES); glVertex(0, 0); glVertex(1, 1); glVertex(2, 2); glEnd(); 2.显示列表(glCallList) 每个gl

显示列表

显示列表一组已经存储(编译)的OpenGL命令,以供后续执行.一旦显示列表创建出来,所有顶点与像素数据都被赋值且拷贝到服务器段的显示列表内存.这是一次性过程.在显示列表配备(编译)好后,你可以重复使用它,而不需要每帧都重新赋值与重新反复传递数据.显示列表是绘制静态数据的最快方式之一,这是因为顶点数据与OpenGL命令被存储在显示列表中并且最小化客户端到服务器段的数据传输.也就是说,它降低CPU处理实际数据传输的周期. 显示列表的另一个重要性能是:由于显示列表是服务端数据,它可以在多个客户端共享.

查找存在某字符的文件列表,不包含svn文件

find . ! -wholename '*.svn*' -print | xargs grep "img" | awk -F ':.' '{print $1}' | uniq 查找存在某字符的文件列表,不包含svn文件,布布扣,bubuko.com

JavaSE GUI显示列表 JTable的刷新 重新加载新的数据

JTable在显示所有数据之后,假如需要搜索某个名字,则会获取新的列表数据. 假设datas是JTable的数据,定义为: private Vector<Vector> datas = new Vector<Vector>(); 当你刷新数据的时候,应该这样: if (datas != null) { datas.clear(); Vector<Vector> vectors = getDatasFromList(studentList); datas.addAll(v

NeHe OpenGL教程 第十二课:显示列表

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第十二课:显示列表 显示列表: 想知道如何加速你的OpenGL程序么?这一课将告诉你如何使用OpenGL的显示列表,它通过预编译OpenGL命令来加速你的程序,并可以为你省去很多重复的代码. 这次我将教你如何使用显示列表,显示列表将