电子科大实验3-三维图形程序设计

电子科大实验3-三维图形程序设计

ID:44751191

大小:831.00 KB

页数:33页

时间:2019-10-27

电子科大实验3-三维图形程序设计_第1页
电子科大实验3-三维图形程序设计_第2页
电子科大实验3-三维图形程序设计_第3页
电子科大实验3-三维图形程序设计_第4页
电子科大实验3-三维图形程序设计_第5页
资源描述:

《电子科大实验3-三维图形程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验报告课程名称:三维图形设计学  院:计算机科学与工程专  业:计算机科学与技术指导教师:周川学生姓名:学  号:实验成绩:日  期:  2014  年  5月  19日电子科技大学计算机学院实验中心电子科技大学实验报告一、实验三:OpenGL光照与材质编程实验二、实验室名称:主楼A2-412实验时间:2014年5月19日三、实验目的:1、理解OpenGL光照模型的相关原理,掌握与光照参数和对象材质设置相关的OpenGLAPI函数的用法,熟悉光照与材质参数设置的基本技巧;2、理解OpenGL混合(融合)的基本原理,掌握与混合相关的OpenGLAP

2、I函数的用法。四、实验原理:1.openGL图形编程技术原理2.选择与拾取、光照与材质、混合与透明、纹理贴图、菜单。五、实验内容:(一)编程任务1——绘制一个具有光照的房间1、建立光照场景并为场景中的几何对象设置材质属性——voidCreateWorld()a.四面墙壁voidCreateWall()b.屋顶voidCreateCeiling()c.地板voidCreateGround()d.一个圆锥体和一个球体voidCreateFurnishings()e.在房间中创建并放置两个光源voidCreateLightAndProxy(void)a)

3、一个是点光源b)一个是聚光灯;c)为光源创建代理几何体(Proxy),可以通过鼠标拖动光源代理来交互式的移动光源;2、绘制场景——voidDrawWorld(void)a.绘制四面墙壁voidDrawWall()b.绘制屋顶voidDrawCeiling()c.绘制地板voidDrawGround()a.绘制屋内物品voidDrawFurnishings()b.绘制光源代理voidDrawLightProxy()其它要求:1、可交互式移动光源;2、可用右键菜单交互式的开启或关闭场景光照;3、可利用键盘快捷键调整球的材质属性,如辉度系数(GL_SHI

4、NINESS)等。分析材质是如何影响几何对象的光照效果的。(二)编程任务2——绘制一个具有地板反光效果的房间利用OpenGL混合功能可以模拟地板反光效果,这需要将地板和场景中其它物体分开处理,其基本思路如下:1、首先以上下颠倒的方式来绘制出地板镜像场景(即沿着地板面将光源和场景进行镜像);2、接者利用混合在上述镜像场景之上绘制出半透明的地板;3、最后以正常的光源和场景位置来绘制场景。参考代码如下:voidRenderScene(void){glClear(GL_COLOR_BUFFER_BIT

5、GL_DEPTH_BUFFER_BIT);glPush

6、Matrix();//光源镜像移动到地板下,以照射这个“镜像”场景glLightfv(GL_LIGHT0,GL_POSITION,fLightPosMirror);glPushMatrix();//场景被镜像,同时交换正反面glFrontFace(GL_CW);glScalef(1.0f,-1.0f,1.0f);DrawWorldExGround();glFrontFace(GL_CCW);glPopMatrix();//在镜像场景上绘制一个半透明的地板glDisable(GL_LIGHTING);glEnable(GL_BLEND);glBlen

7、dFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);DrawGround();glDisable(GL_BLEND);glEnable(GL_LIGHTING);//恢复正常的光照,并正确绘制场景glLightfv(GL_LIGHT0,GL_POSITION,fLightPos);DrawWorldExGround();glPopMatrix();glutSwapBuffers();}六、实验器材(设备、元器件):电脑型号戴尔SystemInspironN4110笔记本电脑操作系统Windows8专业版64位(Di

8、rectX11)软件环境MicrosoftVisualStudioExpress2012forWindowsDesktopOpenGLGlut3.7七、实验步骤:1.做出具有两个光照的房间2.利用拾取做出交互的光照代理3.做出其他相关附加需求如菜单4.利用透明与变换做出反光地板八、实验数据及结果分析:(一)交互光照房间1.代码:#include#include#defineW500//窗口宽#defineH500//窗口高#defineD50.0//因为鼠标移动数据太大,而世界坐标设定得太小,所以用D将鼠标移

9、动增量进行缩小映射inthits,hitx,hity;//命中次数、坐标GLintviewport[4];GLuintse

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。