- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二_基本图元的生成算法.
实验二 基本图元的生成算法
一、实验目的
1、初步了解显示窗口与视区的关系
2、掌握OpengGL点、直线、多边形的绘制
3、掌握DDA直线生成算法。
4、掌握Bresenham直线生成算法
二、实验环境
硬件要求:
PC机,主流配置,最好为独立显卡,显存512M以上。
软件环境:
操作系统:Windows XP。
语言开发工具:VC6.0。
三、实验内容与要求
1、调出实验一的源代码运行,调整修改使得显示窗口大小改变时,绘制的矩形大小随之改变。如图2-1所示。
提示:(1)在main函数里添加注册窗口变化函数
glutReshapeFunc(myreshape); (放在glutMainLoop()之前)
(2)在程序中添加窗口改变子函数,参数w,h为当前显示窗口的宽和高
void myreshape(GLsizei w, GLsizei h)
{
glViewport(0,0,w,h); //设置视区位置
glMatrixMode(GL_PROJECTION);//设置投影变换模式
glLoadIdentity(); //调单位矩阵,清空当前矩阵堆栈
if(w=h)
gluOrtho2D(0,300,0,300*(GLfloat)h/(GLfloat)w);
//设置裁剪窗口大小
else
gluOrtho2D(0,300*(GLfloat)w/(GLfloat)h,0,300);
}
a) 显示窗口改变前 b)显示窗口变大后
图2-1
未修改前的初始源程序参考如下:
/*my first program.cpp*/
#include glut.h
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT); //刷新颜色缓冲区
glRectf(0,0,0.5,0.5);
glFlush(); //用于刷新命令队列和缓冲区,使所有尚未被执行的OpenGL命令得到执行
}
void main(int argc, char** argv)
{
glutInit(argc, argv); //初始化GLUT库
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); //设置显示模式
glutInitWindowSize(100, 200);
glutCreateWindow(hello); //创建窗口,标题为“hello”
glutDisplayFunc(display); //用于绘制当前窗口
glutMainLoop(); //表示开始运行程序,用于程序的结尾
}
2、自己参照讲义或教材按照自己的构思画二维平面图形, 修改样本程序circle-algorithm.cpp将上面的矩形替换成自己构思的二维平面图形。注意顶点的顺序。
参考函数:
(1)、点绘制举例
glPointSize(2.0) //点的大小设置
glBegin(GL_POINTS);
glColor3f(1.0,1.0,1.0);
glVertex2f(-0.5,-0.5); //顶点
glColor3f(1.0,0.0,1.0);
glVertex2f(-0.5,0.5);
glColor3f(0.0,1.0,1.0);
glVertex2f(0.5,0.5);
glColor3f(1.0,1.0,0.0);
glVertex2f(0.5,-0.5);
glEnd()
(2)、直线/三角形/四边形绘制举例
glLineWidth(2.0
您可能关注的文档
- 实验九合金工厂的生产规问题..doc
- 实验九固体小球对流传热系数的测定..doc
- 实验九大熊猫栖息地环境质量综合评价..doc
- 实验九常见旅游信息系统操作..doc
- 实验九微生物的大小及数量测定..docx
- 实验九数据库安全性..doc
- 实验九数据库技术应用初步(二)..doc
- 实验九染色体核型分析..doc
- 实验九步进顺序控制编程实验..doc
- 实验九水泥熟料中SiO2Fe2O3Al2O3CaO和MgO的系统分析..doc
- 翻译中介外教课.pdf
- 专版专题训练八级上册.pdf
- 课程资源目标指示作业加博综合level pre k lesson plans 4.pdf
- 考官财务报告.pdf
- arxiv机器学习作业.pdf
- alkali-with heat resistant lightweight aggregates exposed to high temperature mechanical and water transport properties碱性耐热轻量级聚集体暴露于高温机械水运输特性.pdf
- 课程资源目标指示作业9 final选秀决赛.pdf
- 归因方式对后悔情绪产生影响.pdf
- 文本课件hengan arch draft草案Rev Sales.pdf
- 文稿章作为粒子f1isch6e6a.pdf
最近下载
- 电力设备公司产品制造车间生产定额计件工资实施办法.docx VIP
- 2023国有企业“三重一大”决策制度实施细则办法.pdf VIP
- 安徽大学《地球科学概论》课件-第4讲大气圈、冰冻圈、岩石圈.pptx VIP
- 国家开放大学(电大)《农业生态基础.》2020年09月春季期末考试真题及答案(试卷代号2794).pdf VIP
- 餐饮行业员工职业规划.pptx VIP
- 《数学数学期望》课件.ppt VIP
- 肾病内科专业疾病临床诊疗规范2025版.docx VIP
- 质量信得过班组培训课件.pptx VIP
- 《高级英语FacetoFacewithHurricaneCamille》-精选课件(公开).ppt VIP
- 高中化学课件:芳环上的亲核取代反应.pptx VIP
文档评论(0)