- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二_基本图元的生成算法.doc
实验二 基本图元的生成算法
一、实验目的
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
- 如何实现小学数学高效课堂.ppt
- 如何实现局域网内计算机资源的共享.doc
- 如何实现提高UG软件许可证在企业中的使用效率.doc
- 如何对市场调研问卷的数据进行预处理试题答案.doc
- 如何对竞争对手比较分析.doc
- 如何将电子数据中的文本格式转换为数值格式.doc
- 如何成为优秀的房地产评估人才.ppt
- 如何抓好教学案例的研究.ppt
- 如何提高学生小学生计算正确性的教学案例.doc
- 化妆品公司动力部年度总结.pptx
- 七年级下册(2024)第六单元课外古诗诵读之《约客》课件(共26张PPT).pptx
- 24《寓言四则》优质课教学课件(共15张PPT).ppt
- 七年级下册(2024)第六单元课外古诗诵读之《竹里馆》课件(共26张PPT).pptx
- LIMS供应商概览与技术标书.pdf
- 线缆厂薪酬核算管理规章.doc
- 《课外古诗词诵读——逢入京使 》课件(共22张PPT)2025—2026学年统编版语文七年级下册.pptx
- 《课外古诗词诵读——贾生》课件(共22张PPT)2025—2026学年统编版语文七年级下册.pptx
- 7 谁是最可爱的人 课件 (共20张PPT) 2025-2026学年统编版语文七年级下册.pptx
- 电池厂叠片机配件管理规范规章.doc
最近下载
- 中药材基础知识.pptx VIP
- OMRON欧姆龙传感器E3X-NM NT NV NVG光纤放大器(通用示教型)E3X-NT NM NV NVG E3X-NM通用示教型光纤放大器 使用说明书 (中 英).pdf
- 夜景照明工程施工合同.doc VIP
- 国家三级公立医院绩效考核操作手册(2025版).docx VIP
- 《马克思主义基本原理》复习考试题库350题(含答案).pdf VIP
- 国开电大专科《人文英语1》一平台机考真题(第七套).pdf VIP
- 夜景照明工程施工合同模板.docx VIP
- 2025年外研版高中英语选择性必修第二册Unit 6综合检测试卷及答案.pdf VIP
- 天加A18524G01 变频直膨空气处理机组.pdf
- 合理使用质子泵抑制剂.ppt VIP
原创力文档


文档评论(0)