- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
移动光源照射贴图球体
计算机图形学
实验报告
实验三:移动光源照射贴图球体
学号: 姓名: 成绩:
东南大学计算机科学与工程系
实验目的
实现简单渲染,生成一个真实感三维物体,要求
允许用户指定光源位置,不要求生成阴影;
可以编辑,修改物体表面材质属性。
选择一幅图像,贴到物体表面
程序代码
建立光源和球体:
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清楚颜色数据和深度数据(清屏)
glColor3f(1.0,1.0,1.0);
glLoadIdentity(); //初始变换矩阵为单位矩阵
glTranslated(0,-1,-5); //平移0,-1,-5向y负方向平移1个单位,负方向平移5个单位
glPushMatrix(); //压缩矩阵,设定光源的位置
glDisable(GL_LIGHTING);
glRotatef(yRot, 0, 1, 0); //光源的旋转
glTranslatef(light_change[0],light_change[1],light_change[2]); //光源的位置
glTranslatef(light_position[0], light_position[1],light_position[2]); //光源位置
glDisable(GL_TEXTURE_2D); // 光源禁用贴图
glutSolidSphere(0.1, 4,4);//利用库函数绘制一个半径为0.1的球体。表示光源在这里
glEnable(GL_LIGHTING);
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
glPopMatrix();
light_direction[0] = -light_change[0];
light_direction[1] = -light_change[1];
light_direction[2] = -light_change[2];
glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, light_direction);
glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuseMaterial);
glPopMatrix(); //光源设置完毕
glPushMatrix(); //压入变换矩阵那
glTexGeni(GL_S,GL_TEXTURE_GEN_MODE,GL_SPHERE_MAP); //增加纹理坐标自动生成及启用贴图功能
glTexGeni(GL_T,GL_TEXTURE_GEN_MODE,GL_SPHERE_MAP);
glEnable(GL_TEXTURE_GEN_S);
glEnable(GL_TEXTURE_GEN_T);
glEnable(GL_TEXTURE_2D);
glutSolidSphere(1, 50,50);//利用库函数绘制一个半径为1的球体。
glPopMatrix(); //弹出矩阵。
glutSwapBuffers(); //交换缓冲区。显示图形
}
改变材料属性:
void mouse(int button, int state, int x, int y) //改变球体的材料属性
{
switch (button) {
case GLUT_LEFT_BUTTON:
if (state == GLUT_DOWN) {
diffuseMaterial[0] += 0.1;
if (diffuseMaterial[0] 1.0)
diffuseMaterial[0] = 0.0;
glColor4fv(diffuseMaterial);
glutPostRedisplay();
}
break;
case GLUT_MIDDLE_BUTTON:
您可能关注的文档
- 第12章 所有者权益.ppt
- 实验六 存储管理.doc
- 客户分析及营销方法.ppt
- 2012一级建造师《建筑工程管理与实务》案例分析题库.doc
- 第四章营业税.ppt
- 长期股权投资习题_.ppt
- 经批准的现场各项管理制度.doc
- 大学物理下(毛峰版)经典物理学的困难与量子力学的实验基础+习题及答案.doc
- 财务报表分析34.ppt
- 第10章 所有者权益.ppt
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
最近下载
- 初中数学教师晋升高级(一级)职称水平考试模拟试卷(四).docx
- 销售清单一式两联售货清单单据通用A5.docx
- 初中数学教师晋升高级(一级)职称水平考试试卷(一).docx
- 格列佛游记(中英对照).pdf
- 第三单元整体教学设计-【大单元教学】2023-2024学年八年级语文上册名师备课系列(统编版).pdf
- 第18课 白鸽相伴 本真相随——《我的白鸽》导学案-2024-2025学年七年级语文上册同步高效课堂(统编版2024).docx
- (2024秋)部编版七年级语文上册《我的白鸽》教案.docx
- 麻醉中的咳嗽引起并发症的处理.pptx
- Unit 4 Time to celebrate 大单元整体教学设计 外研版2024七年级上册教学评一体化.docx
- 销售发票管理明细表.xlsx VIP
文档评论(0)