第六章位图与图像.ppt_第1页
第六章位图与图像.ppt_第2页
第六章位图与图像.ppt_第3页
第六章位图与图像.ppt_第4页
第六章位图与图像.ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机图形学,位图与图像 主讲:汪日伟 Email:,显示列表技术,创建显示列表 void glNewList(GLuint list,GLenum mode) list唯一标志。mode值GL_COMPILE和GL_COMPILE_AND_EXECUTE。 void glEndList(void);,GL_COMPILE存入列表不立即执行, GL_COMPILE_AND_EXECUTE立即执行并存入列表,执行显示列表 void glCallList(GLuint list); void glCallLists(GLsizei n, GLenum type, const GLvoid *lis

2、ts); glListBase(GLuint base);/指定基址偏移量 base+listsi (0in),显示列表技术,管理显示列表,GLuint glGenList(GLsizei range); 分配range个相邻的未被占用的显示列表索引 GLboolean glIsList(GLuint list); glListBase(GLuint base);/指定基址偏移量 void glDeleteLists(GLuint list,GLsizei range); 参考listSample,多级显示列表 glNewList(1,GL_COMPILE);glVertex3fv(v1);g

3、lEndList();glNewList(2,GL_COMPILE);glVertex3fv(v2);glEndList();glNewList(3,GL_COMPILE);glVertex3fv(v3);glEndList();glNewList(4,GL_COMPILE);glBegin(GL_POLYGON);glCallList(1);glCallList(2);glCallList(3);glEnd();glEndList();,显示列表技术,位图和图像,位图:由0和1组成的矩形数组 位图的颜色 glColor3f() 位图的位置 glRasterPos3f() 图像:每个象素的多位

4、信息(如,红、绿、蓝和Alpha值),位图(Bitmap)与字符(Font),位图与文字,GLubyte rasters12 = 0 xc0, 0 xc0, 0 xc0, 0 xc0, 0 xc0, 0 xfc,0 xfc, 0 xc0, 0 xc0, 0 xc0, 0 xff, 0 xff ; glPixelStorei (GL_UNPACK_ALIGNMENT, 1); glClearColor (0.0, 0.0, 0.0, 0.0); glClear(GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 1.0); glRasterPos2i (100,

5、 200); glBitmap (8, 12, 0.0, 0.0, 20.0, 20.0, rasters); glBitmap (8, 12, 0.0, 0.0, 0.0, 0.0, rasters); glColor3f (1.0, 1.0, 0.0); glRasterPos2i (150, 200); glBitmap (8, 12, 0.0, 0.0, 0.0, 0.0, rasters);,设置光栅位置 void glRasterPos234SIFDV(TYPE x,TYPE y,TYPE z,TYPE w);位图或图像的原点(x,y,z) 获取光栅位置 void glGetFlo

6、atv( GLenum pname, GLfloat * params ); Pname: GL_CURRENT_RASTER_POSITION,位图显示 void glBitmap( GLsizei width,GLsizei height,GLfloat xbo,GLfloat ybo, GLfloat xbi,GLfloat ybi, const GLubyte *bitmap) 位图的原点在当前光栅位置 Width,height 位图的宽和高 Xbo, ybo 相对于原点的偏移量 Xbi,ybi 光栅位置的增量,glBitmap (10, 12, 0.0, 0.0, 11.0, 0.0

7、, rasters);,Width,height 位图的宽和高 Xbo, ybo 相对于原点的偏移量 Xbi,ybi 光栅位置的增量 参考fontSample,void glutBitmapCharacter(void* font, int character); GLUT_BITMAP_8_BY_13 一种固定宽度字体,字符都放在一个8x13像素的矩形框内GLUT_BITMAP_9_BY_15一种固定宽度字体,每个字符都放在一个9x15像素的矩形框内GLUT_BITMAP_TIMES_ROMAN_10一种10点均匀间距的Times Roman字体GLUT_BITMAP_TIMES_ROMAN

8、_24一种24点均匀间距的Times Roman字体GLUT_BITMAP_HELVETICA_10一种10点均匀间距的Helvetica字体GLUT_BITMAP_HELVETICA_12一种12点均匀间距的Helvetica字体GLUT_BITMAP_HELVETICA_18一种18点均匀间距的Helvetica字体,Glut 字体,void glutStrokeCharacter(void* font, int character); GLUT_STROKE_ROMAN一种等间距的Roman Simplex字体,仅包括32到127的ASCII字符GLUT_STROKE_MONO_ROMA

9、N一种单一间距的Roman Simplex字体,仅包括32到127的ASCII字符,Glut 字体,Windows 字体,图像,象素读写(frameBuffermemory) void glReadPixels(GLint x,GLint y,GLsizesi width,GLsizei height, GLenum format,GLenum type,GLvoid *pixel); (x, y)定义图像区域左下角点的坐标,width和height分别是图像的高度和宽度,*pixel是一个指针,指向存储图像数据的数组。format指出所读象素数据元素的格式(索引值或R、G、B、A值,如表1所

10、示),而参数type指出每个元素的数据类型(见表2)。,写入象素数据( memory frameBuffer ) void glDrawPixels(GLsizesi width,GLsizei height,GLenum format, GLenum type,GLvoid *pixel);,表1 函数glReadPixels()及glDrawPixels()的象素格式-format,表2 函数glReadPixels()及glDrawPixels()的象素数据类型-type,象素拷贝void glCopyPixels(GLint x,GLint y,GLsizesi width,GLsizei height, GLenu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论