计算机图形学实验03_光照模型课案.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机图形学实验03_光照模型课案

北方工业大学 计算机图形学课程实验报告 题 目: 实验三 光照模型 学 院: 计算机学院 专 业: 数字媒体技术 指导教师: 学生班级: 学生学号: 学生姓名: 教师评定: 学号: 班级: 姓名: 实验报告3 光照模型 一.实验目的 1.熟悉OpenGL图形库; 2.掌握光照模型算法。 二.实验环境 1.软件环境: 操作系统:WinXp 应用软件:VC6.0,OpenGL 2.硬件环境(查看自己的机子) CPU: Intel PIV 2.80GHz 内存RAM: 1GB 显卡:NVIDIA GeForce7650,256M显存 三.实验内容1 写程序实现一个聚光灯围绕立方体旋转程序。要求给出RenderScene()函数。 void RenderScene (void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清楚颜色数据和深度数据(清屏) glColor3f(1.0,1.0,1.0); glLoadIdentity(); //初始变换矩阵为单位矩阵 glTranslated(0,-1,-5); //平移0,0,-5向Z负方向平移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]); //光源位置 glutSolidSphere(0.1, 4,4);//利用库函数绘制一个半径为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, light_diffuse); glPopMatrix(); //光源设置完毕 glPushMatrix(); //压入变换矩阵那 // glutSolidSphere(1, 30,30);//利用库函数绘制一个半径为1的球体。 glBegin(GL_QUADS); // 前面 glColor3f(1,1,1); glVertex3f(-1.0f, -1.0f, 1.0f); // 四边形的左下 glVertex3f( 1.0f, -1.0f, 1.0f); // 四边形的右下 glVertex3f( 1.0f, 1.0f, 1.0f); // 四边形的右上 glVertex3f(-1.0f, 1.0f, 1.0f); // 四边形的左上 //后面 glColor3f(1,1,1); glVertex3f(-1.0f, -1.0f, -1.0f); // 四边形的右下 glVertex3f(-1.0f, 1.0f, -1.0f); // 四边形的右上 glVertex3f( 1.0f, 1.0f, -1.0f); // 四边形的左上 glVertex3f( 1.0f, -1.0f, -1.0f); // 四边形的左下 // 顶面 glColor3f(1,1,1); glVertex3f(-1.0f, 1.0f, -1.0f); // 四边形的左上 glVertex

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档