使用opengl程序绘制实线、虚线和点划线(共3页).doc

上传人:飞****2 文档编号:15056492 上传时间:2022-05-10 格式:DOC 页数:3 大小:40.50KB
返回 下载 相关 举报
使用opengl程序绘制实线、虚线和点划线(共3页).doc_第1页
第1页 / 共3页
使用opengl程序绘制实线、虚线和点划线(共3页).doc_第2页
第2页 / 共3页
点击查看更多>>
资源描述

《使用opengl程序绘制实线、虚线和点划线(共3页).doc》由会员分享,可在线阅读,更多相关《使用opengl程序绘制实线、虚线和点划线(共3页).doc(3页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上GIS专业实验报告(计算机图形学)实验5 使用opengl程序绘制实线、虚线和点划线。姓名系别班级学号实验日期指导教师实验成绩一 实验目的及要求使用opengl程序绘制实线、虚线和点划线。二 理论基础1. 显示列表:显示列表是一组OpenGL函数调用,它被存储起来供以后执行。这样就可以将基本图素的OpenGL函数实现组织起来,指定名称,构成图段,所构成的图段可以再以后需要的地方显示出来。创建显示列表方式如下:glNewList(listID,listMode);glutSoildCube(2.0);glEndList();2. 显示列表的调用:在显示列表创建之后,可以

2、使用函数Void glCallList(GLuint listID);调用显示列表,其中参数listID是已定义的显示列表标识。3. OpenGL划线函数:glBegin(GL_LINES); glVertex2i(坐标1x,坐标1y); glVertex2i(坐标2x,坐标2y);glEnd();GL_LINES:直线模式GL_LINE_STIPPLE:虚线模式三 算法设计与分析程序源码如下:#include #include GLuint Line; void Initial(void)glClearColor(1.0f, 1.0f, 1.0f, 1.0f);Line = glGenLis

3、ts(1);glNewList(Line, GL_COMPILE); glTranslatef(-50.0, 20.0, 0.0); glColor3f(255.0, 0.0, 0.0); /实线;glLineWidth(2); glBegin(GL_LINES); glVertex2i(0,0); glVertex2i(100,0); glEnd(); /*实线*/ glColor3f(255.0, 0.0, 0.0); /虚线; glEnable(GL_LINE_STIPPLE); glLineStipple (2, 0x4444); glLineWidth(2); glBegin(GL_

4、LINES); glVertex2i(0,-20); glVertex2i(100,-20); glEnd(); /*虚线*/ glColor3f(255.0, 0.0, 0.0); /点划线; glEnable(GL_LINE_STIPPLE); glLineStipple (2, 0xffcc); glLineWidth(2); glBegin(GL_LINES); glVertex2i(0,-40); glVertex2i(100,-40); glEnd(); /*点划线*/ glEndList();void ChangeSize(int w, int h)glViewport(0, 0

5、, w, h);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOrtho2D (-70.0f, 70.0f, -70.0f, 70.0f);void Display(void)glClear(GL_COLOR_BUFFER_BIT); glMatrixMode(GL_MODELVIEW);glLoadIdentity();glTranslatef(0.0, 0.0, 0.0); glCallList(Line);glFlush(); int main(int argc, char* argv)glutInit(&argc, argv);glut

6、InitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(600,450); glutInitWindowPosition(100,100); glutCreateWindow(OpenGL直线、虚线、点划线); glutDisplayFunc(Display);glutReshapeFunc(ChangeSize);Initial(); glutMainLoop(); return 0;四.程序调试及运行结果的自我分析与自我评价代码中调用了画线函数的两个不同模式,绘制实线模式(GL_LINES)和绘制虚线模式(GL_LINE_STIPPLE)。点划线是由两条虚线拼合而成,通过设置不同的点距、线宽和样式实现。三种线条一次设置了红、绿、蓝三种颜色,由上而下平行排列。运行结果见下图1。图1 调试结果四 实验心得及建议专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com