已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
贵州大学实验报告学院计算计科学与信息学院专业班级姓名学号实验组实验时间指导教师成绩实验项目名称基本图元生成实验目的1、掌握OPENGL头文件的使用和语法规则2、OPENGL程序的基本结构和程序运行环境配置3、掌握使用OPENGL函数绘制基本图元,如点、线、封闭的多边形等。实验要求学会如何在VC60中配置OPENGL的运行环境实验原理在VISUALC编程环境中编写程序源代码,并编译、运行程序结果实验仪器奔腾2计算机或以上机型、VISUALC编程环境实验内容1OPENGL环境设置将OPENGL所需函数库和头文件复制到指定目录将压缩包内的GLUTH放到MICROSOFTVISUALSTUDIOVC98INCLUDEGL目录下将GLUT32LIB放到MICROSOFTVISUALSTUDIOVC98LIB目录下将GLUT32DLL放到XWINDOWSSYSTOM32目录下(WIN98用户放到XWINDOWSSYSTOM目录下2通过VC编译运行画出点、直线、几何图形等。实验步骤1找到VC的安装路径MICROSOFTVISUALSTUDIOVC98INCLUDEGL目录,然后将压缩包里的GLUTH文件复制一份到该目录下。2找到VC的安装路径MICROSOFTVISUALSTUDIOVC98LIB目录下,然后将GLUT32LIB放到该目录下。3找到路径WINDOWSSYSTOM32目录,然后将GLUT32DLL文件复制一份到该目录下。4OPENGL环境设置好后就可以开始编写程序了,接下来就是打开VC编辑器,在编辑器里输入如下代码INCLUDEINCLUDEINCLUDEINCLUDEVOIDMYINITVOIDVOIDDISPLAYVOIDVOIDINITVOIDGLCLEARCOLOR00,00,00,10VOIDDISPLAYVOIDGLCLEARGL_COLOR_BUFFER_BITGLCOLOR4F05,02,10,08GLPOINTSIZE50GLBEGINGL_POINTSGLVERTEX3F01,05,00GLVERTEX3F04,07,00GLVERTEX3F06,02,00GLENDGLFLUSHVOIDMAININTARGC,CHARARGVGLUTINITGLUTINITDISPLAYMODEGLUT_SINGLE|GLUT_RGBGLUTINITWINDOWPOSITION50,100GLUTINITWINDOWSIZE800,600GLUTCREATEWINDOW“THEFIRSTOPENGLSAMPLE“INITGLUTDISPLAYFUNCDISPLAYGLUTMAINLOOP3单击“启动调试”按钮后可在屏幕上看到生成的点的图案4接着在VOIDDISPLAYVOID函数里面依次输入下面代码编译后可看到相应的图案5GLBEGINGL_LINESGLVERTEX3F01,02,00GLVERTEX3F05,09,00GLEND6GLBEGINGL_POLYGONGLVERTEX3F01,02,00GLVERTEX3F02,07,00GLVERTEX3F05,08,00GLVERTEX3F03,06,05GLEND7GLBEGINGL_LINE_STRIPGLVERTEX3F01,02,00GLVERTEX3F02,07,00GLVERTEX3F05,08,00GLVERTEX3F03,06,05GLEND8GLBEGINGL_LINE_LOOPGLVERTEX3F01,02,00GLVERTEX3F02,07,00GLVERTEX3F05,08,00GLVERTEX3F03,06,05GLEND9GLBEGINGL_QUADSGLVERTEX3F01,01,00GLVERTEX3F02,04,00GLVERTEX3F05,06,00GLVERTEX3F07,02,00GLENDGLBEGINGL_TRIANGLE_FANGLVERTEX2F05,05GLVERTEX2F05,10GLVERTEX2F08,09GLVERTEX2F09,08GLVERTEX2F10,05GLEND10运行后,在屏幕上就可以出现相应的各种图案,如实验结果所示。实验结果实验总结这次试验的主要任务是学会配置OPENGL的运行环境,并通过编写程序来测试能否正确的生成相应的图案,所以还算比较简单的,做实验时只要看一下老师发给我们的PPT,然后按照上面的步骤一步一步的操作就行,先是把下载好的压缩包解压然后找到安装目录,然后将相应的文件放到相应的目录下。配置好后就按照相应的格式在编辑器里输入代码,当要显示不同的图形时就写入相应的函数,设置相应的点。最后运行就可以了。当然这些都还是简单的,规则的图形,所以只要代码没有问题就好了。在设置点的时候会出现一个问题,那就是设置的点的值不当时就有可能无法显示在窗口中,也就是说在窗口外了,这是就学要重新设置点的坐标。指导教师意见签名年月日贵州大学实验报告学院计算计科学与信息学院专业数字媒体技术班级数媒091姓名杨涵松学号0908060209实验组实验时间指导教师陈静成绩实验项目名称OPENGL线属性函数和位图与图像实验目的1、掌握并会使用OPENGL线属性函数GLLINEWIDTHWIDTH、GLLINESTRIPPLEREPEATFACTOR,PATTERN、GLSHADEMODEL。2、理解位图与图像的相同与不同之处,并会使用OPENGL函数生成位图与图象。3、掌握使用GLBITMAP、GLRASTERPOS、GLREADPIXELS、GLDRAWPIXELS、GLCOPYPIXELS、GLPIXELZOOM等函数的使用。实验要求学会设置各种属性实验原理在VISUALC编程环境中编写程序源代码,并编译、运行程序结果实验仪器奔腾2计算机或以上机型、VISUALC编程环境实验内容1、在第一次实验的基础上使用OPENGL线属性函数设置绘制的线的各种属性,如线宽、线效果、线颜色等属性。请将程序缺少的部分填写完整。INCLUDEINCLUDEINCLUDEINCLUDEVOIDINITVOID/初始化GLCLEARCOLOR00,00,00,00/将窗口清为黑色VOIDDISPLAYVOIDGLCLEARGL_COLOR_BUFFER_BIT/将颜色缓存清为GLCLEARCOLOR命令所设置的颜色,即背景色GLFLUSH/强制绘图,不驻留缓存VOIDMAININTARGC,CHARARGVGLUTINITGLUTINITDISPLAYMODEGLUT_SINGLE|GLUT_RGBGLUTINITWINDOWPOSITION50,100GLUTINITWINDOWSIZE1000,1000GLUTCREATEWINDOW“THEFIRSTOPENGLSAMPLE“INITGLUTDISPLAYFUNCDISPLAYGLUTMAINLOOP2、使用合适的函数,绘制位图字符,结合所绘制的位图图形理解其中每个函数的含义及参数的含义。请将程序缺少的部分填写完整。INCLUDEINCLUDEINCLUDEINCLUDEVOIDMYINITVOIDVOIDDISPLAYVOIDGLUBYTERASTERS12VOIDINITVOID/初始化GLPIXELSTOREIGL_UNPACK_ALIGNMENT,1GLCLEARCOLOR00,00,00,00/将窗口清为黑色VOIDDISPLAYVOIDGLCLEARGL_COLOR_BUFFER_BIT/将颜色缓存清为GLCLEARCOLOR命令所设置的颜色,即背景色GLFLUSH/强制绘图,不驻留缓存VOIDMAININTARGC,CHARARGVGLUTINITGLUTINITDISPLAYMODEGLUT_SINGLE|GLUT_RGBGLUTINITWINDOWPOSITIONGLUTINITWINDOWSIZEGLUTCREATEWINDOW“INITGLUTDISPLAYFUNCDISPLAYGLUTMAINLOOP3、使用合适的函数,绘制图像,结合所绘制的图象理解其中每个函数的含义及参数的含义。请将程序缺少的部分填写完整。INCLUDEINCLUDEINCLUDEINCLUDEVOIDMYINITVOIDVOIDDISPLAYVOIDVOIDINITVOID/初始化GLCLEARCOLOR00,00,00,00/将窗口清为黑色VOIDTRIANGLEVOIDSOURCEIMAGEVOIDDISPLAYVOIDGLCLEARGL_COLOR_BUFFER_BIT/将颜色缓存清为GLCLEARCOLOR命令所设置的颜色,即背景色GLFLUSH/强制绘图,不驻留缓存VOIDMAININTARGC,CHARARGVGLUTINITGLUTINITDISPLAYMODEGLUT_SINGLE|GLUT_RGBGLUTINITWINDOWPOSITIONGLUTINITWINDOWSIZEGLUTCREATEWINDOW“INITGLUTDISPLAYFUNCDISPLAYGLUTMAINLOOP实验步骤打开VC编辑器,在编辑器里输入如下代码/线宽线效果INCLUDEINCLUDEINCLUDEINCLUDEVOIDMYINITVOIDVOIDDISPLAYVOIDVOIDINITVOIDGLCLEARCOLOR00,00,00,10VOIDDISPLAYVOIDGLCLEARGL_COLOR_BUFFER_BITGLCOLOR4F05,02,10,08GLPOINTSIZE50GLBEGINGL_LINESGLVERTEX3F01,02,00GLVERTEX3F05,09,00GLENDGLFLUSHVOIDMAININTARGC,CHARARGVGLUTINITGLUTINITDISPLAYMODEGLUT_SINGLE|GLUT_RGBGLUTINITWINDOWPOSITION50,100GLUTINITWINDOWSIZE800,600GLUTCREATEWINDOW“THEFIRSTOPENGLSAMPLE“GLSHADEMODELGL_SMOOTH/线效果GLLINEWIDTH10/线宽INITGLUTDISPLAYFUNCDISPLAYGLUTMAINLOOP/绘制虚线INCLUDE/INCLUDE/INCLUDEINCLUDEINCLUDE/DEFINEACONSTANTFORTHEVALUEOFPIDEFINEGL_PI31415F/ROTATIONAMOUNTSSTATICGLFLOATXROT00FSTATICGLFLOATYROT00FGLFLOATY/STOREAGEFORVARYINGYCOORDINATEGLINTFACTOR1/STIPPLINGFACTORGLUSHORTPATTERN0X5555/STIPPLEPATTERN/CLEARTHEWINDOWWITHCURRENTCLEARINGCOLORGLCLEARGL_COLOR_BUFFER_BIT/SAVEMATRIXSTATEANDDOTHEROTATIONGLPUSHMATRIXGLROTATEFXROT,10F,00F,00FGLROTATEFYROT,00F,10F,00F/ENABLESTIPPLINGGLENABLEGL_LINE_STIPPLE/STEPUPYAXIS20UNITSATATIMEFORY900FY3560FXROT00FIFKEY3560FYROT00FIFKEYINCLUDEINCLUDEVOIDMYINITVOIDVOIDDISPLAYVOIDGLUBYTERASTERS120XFF,0XFF,0XC0,0XC0,0XC0,0XFC,0XFC,0XC0,0XC0,0XC0,0XFF,0XFFVOIDINITVOID/初始化GLPIXELSTOREIGL_UNPACK_ALIGNMENT,1GLCLEARCOLOR00,00,00,00/将窗口清为黑色VOIDDISPLAYVOIDGLCLEARGL_COLOR_BUFFER_BIT/将颜色缓存清为GLCLEARCOLOR命令所设置的颜色,即背景色GLCOLOR3F10,00,10GLRASTERPOS2I05,08GLBITMAP8,12,00,00,200,200,RASTERSGLBITMAP8,12,00,400,100,00,RASTERSGLFLUSH/强制绘图,不驻留缓存VOIDMAININTARGC,CHARARGVGLUTINITGLUTINITDISPLAYMODEGLUT_SINGLE|GLUT_RGBGLUTINITWINDOWPOSITION50,100GLUTINITWINDOWSIZE300,400GLUTRESHAPEFUNCCHANGESIZEGLUTSPECIALFUNCSPECIALKEYSGLUTDISPLAYFUNCRENDERSCENESETUPRCGLUTMAINLOOPRETURN0/位图字符INCLUDE/位图图形INCLUDEINCLUDEINCLUDEINCLUDEVOIDMYINITVOIDVOIDDISPLAYVOIDVOIDINITVOID/初始化GLCLEARCOLOR00,00,00,00/将窗口清为黑色VOIDTRIANGLEGLBEGINGL_TRIANGLESGLCOLOR3F00,10,00GLVERTEX2F01,02GLCOLOR3F00,00,10GLVERTEX2F02,07GLCOLOR3F10,00,00GLVERTEX2F05,08GLENDVOIDSOURCEIMAGEGLPUSHMATRIXGLLOADIDENTITYGLTRANSLATEF05,05,00GLSCALEF05,05,05TRIANGLEGLUTCREATEWINDOW“THEFIRSTOPENGLSAMPLE“INITGLUTDISPLAYFUNCDISPLAYGLUTMAINLOOPVOIDDISPLAYVOIDGLCLEARGL_COLOR_BUFFER_BIT/将颜缓存清为AGLCLEARCOLOR命令所设置的颜色即背景色INTISOURCEIMAGEGLFLUSH/强制绘图不驻留缓存VOIDMAININTARGC,CHARARGVGLUTINITGLUTINITDISPLAYMODEGLUT_SINGLE|GLUT_RGBGLUTINITWINDOWPOSITION50,100GLUTINITWINDOWSIZE300,400GLUTCREATEWINDOW“THEFIRSTOPENGLSAMPLE“INITGLUTDISPLAYFUNCDISPLAYGLUTMAINLOOP10运行后,在屏幕上就可以出现相应的各种图案,如实验结果所示。GLPOPMATRIX实验结果实验总结指导教师意签名年月日见贵州大学实验报告学院计算计科学与信息学院专业数字媒体技术班级数媒091姓名杨涵松学号0908060209实验组实验时间指导教师陈静成绩实验项目名称OPENGL几何变换实验目的1、掌握图形变换的数学基础,包括矩阵运算、矢量运算、齐次坐标等概念。2、掌握二维图形和三维图形的几何变换矩阵,包括平移变换、比例变换、对称变换、旋转变换、错切变换和复合变换等。3、学会使用OPENGL函数中的各种变换函数,如GLTRANSLATE、GLROTATE、GLSCALE等。4、掌握形体的投影变换概念。如平行投影和透视投影。5、学会使用OPENGL函数中的投影变换函数,如GLORTHO、GLUORTHO2D、GLFRUSTUM、GLUPERSPECTIVE等。6、学会使用GLUT函数库中的各种函数绘制3维图形。实验要求学会如何在VC60中配置OPENGL的运行环境实验原理在VISUALC编程环境中编写程序源代码,并编译、运行程序结果实验仪器奔腾2计算机或以上机型、VISUALC编程环境实验内容1、使用GLUT函数库中的各种函数绘制3维图形。如实心立方体、线框12面体、实心12面体等。请将程序缺少的部分填写完整。2、绘制一个三角形,使用各种几何变换函数,对该三角形进行平移变换,旋转变换和缩放变换。请将程序缺少的部分填写完整。实验步骤1打开VC建立项目和工程后,输入如下代码完成相应的试验内容2输入/使用GLUT函数库中的各种函数绘制3维图形。如实心立方体、线框12面体、实心12面体等。请将程序缺少的部分填写完整INCLUDEINCLUDEINCLUDEINCLUDEVOIDINITVOIDVOIDDISPLAYVOIDVOIDINITVOID/初始化GLCLEARCOLOR00,00,00,00/将窗口清为A黑色GLSHADEMODELGL_FLATVOIDDISPLAYVOIDGLCLEARGL_COLOR_BUFFER_BITGLCOLOR3F10,00,00GLLOADIDENTITYGLTRANSLATEF00,00,00GLSCALEF10,10,10GLUTSOLIDCUBE10/绘制实心立方体GLUTWIREICOSAHEDRON/绘制线框二十面体GLUTSOLIDICOSAHEDRON/绘制实心二十面体GLFLUSH/VOIDMAININTARGC,CHARARGVGLUTINITGLUTINITDISPLAYMODEGLUT_SINGLE|GLUT_RGBGLUTINITWINDOWPOSITION50,100GLUTINITWINDOWSIZE300,400GLUTCREATEWINDOW“THEFIRSTOPENGLSAMPLE“INITGLUTDISPLAYFUNCDISPLAYGLUTMAINLOOP3新建另一个项目和文件重新输入/2、绘制一个三角形,使用各种几何变换函数,对该三角形进行平移变换,旋转变换和缩放变换。请将程序缺少的部分填写完整INCLUDEINCLUDEINCLUDEINCLUDEVOIDINITVOIDVOIDDISPLAYVOIDVOIDINITVOID/初始化GLCL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京京东签三方协议书
- 南非脐橙采购合同范本
- 厂房修复施工合同范本
- 双方合作劳务合同范本
- 南充小区保洁合同范本
- 南汇家具运输合同范本
- 公司资质转让合同范本
- 占用土地买车位协议书
- 叉车卸货托盘合同范本
- 养护合同补充协议模板
- 店面库房管理办法
- 人教七年级英语上册Reading Plus《Unit 3》课件
- 《生成式人工智能》 课件 第4章 Transformer模型
- (新交际英语2024版)英语二年级上册Unit 2课件
- 双镜联合治疗肾结石讲课件
- 肿瘤病人疼痛管理
- VDA5测量系统分析培训
- vivo内部管理制度
- 2025+CSCO肿瘤治疗所致血小板减少症(CTIT)诊疗指南解读
- 【企业绩效考核研究的国内外文献综述4000字】
- 集资建房合同协议
评论
0/150
提交评论