网站大量收购独家精品文档,联系QQ:2885784924

第二章图形的绘制课件.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章图形的绘制课件

第二章 图形的绘制 ;第二章 图形的绘制;;第二章 图形的绘制;第二章 图形的绘制;第二章 图形的绘制;第二章 图形的绘制;第二章 图形的绘制;第二章 图形的绘制;第二章 图形的绘制;程序清单2.1:点的大小,直线线型和线宽的示例 //PointAndLine.c #include windows.h #include gl/glut.h #includegl/gl.h void RenderScene(void) { glClear(GL_COLOR_BUFFER_BIT); //用当前背景色填充窗口 glColor3f(0.0f, 0.0f, 0.0f); //设置当前的绘图绘图RGB颜色 GLfloat sizes[2]; //保存绘制点的尺寸范围 GLfloat step; //保存绘制点尺寸的步长 GLfloat curSize; //当前绘制的点的大小 glGetFloatv(GL_POINT_SIZE_RANGE,sizes); //获得点的尺寸范围 glGetFloatv(GL_POINT_SIZE_GRANULARITY,step); //获得点尺寸的步长;//绘制不同大小的点 curSize=sizes[0]; for (int i=0;i25;i++) { glPointSize(curSize); //设置点的大小 glBegin(GL_POINTS); glVertex3f(25.0+i*8,200.0f,0.0f); glEnd(); curSize +=step*2; } //绘制一条宽度为5的直线 glLineWidth(5); //设置线宽 glBegin(GL_LINES); glVertex3f(25.0f,160.0f,0.0f); glVertex3f(225.0f,160.0f,0.0f); glEnd();;//绘制一条虚线 glEnable(GL_LINE_STIPPLE); glLineStipple(1,0x00FF); //设置点划线模式 glBegin(GL_LINES); glVertex3f(25.0f,120.0f,0.0f); glVertex3f(225.0f,120.0f,0.0f); glEnd(); //绘制一条宽度为3的点划线 glLineWidth(3); glLineStipple(1,0xFF0C); glBegin(GL_LINES); glVertex3f(25.0f,80.0f,0.0f); glVertex3f(225.0f,80.0f,0.0f); glEnd();;//增加重复因子绘制的点划线 glLineStipple(4,0xFF0C); glBegin(GL_LINES); glVertex3f(25.0f,40.0f,0.0f); glVertex3f(225.0f,40.0f,0.0f); glEnd(); glDisable(GL_LINE_STIPPLE); glFlush();//刷新OpenGL命令队列 };void ChangeSize(GLsizei w, GLsizei h) { if(h == 0) h = 1; glViewport(0, 0, w, h); //设置视区尺寸 // 重置坐标系统 glMatrixMode(GL_PROJECTION); glLoadIdentity(); // 建立修剪空间的范围 if (w = h) glOrtho (0.0f, 250.0f, 0.0f, 250.0f*h/w, 1.0f, -1.0f); else glOrtho (0.0f, 250.0f*w/h, 0.0f, 250.0f, 1.0f, -1.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); };void SetupRC(void) { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); // 设置窗口的背景色 } void main(void) { glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutCreateWindow(点与线); glutDisplayFunc(RenderScene); // 设置当前窗口的显示回调函数 glutReshapeFunc(ChangeSize); // 为当前窗口设置窗口再整形回调函数 Se

您可能关注的文档

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档