南邮计算机图形学实验报告(完整版).doc

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

实 验 报 告 实验名称 指导教师 实验类型 综合 实验学时 2 实验时间 一、实验目的和要求 能够灵活的运用OpenGL图形API函数,基于C++程序语言,自行设计出各种各样的计算机图形方案并调整不同的透视模型。学会配置OpenGL图形函数API,设计(1)在屏幕上显示基本3D图形;(2)设置图形的表面光照模型及投影变换模型。 1.所有图形(例如球体,正方体)有清晰的轮廓。 2.学会设置图形表面的光照色彩以及投影变换模型。 3.尽可能采用高效的算法,以降低时间复杂性和空间复杂性。 二、实验环境(实验设备) 硬件:微机 软件:vs2012 实 验 报 告 三、实验过程描述与结果分析 实验代码: #includeGL/glut.h // 绘制立方体 // 将立方体的八个顶点保存到一个数组里面 static const float vertex_list[][3] = { -0.5f, -0.5f, -0.5f, 0.5f, -0.5f, -0.5f, -0.5f, 0.5f, -0.5f, 0.5f, 0.5f, -0.5f, -0.5f, -0.5f, 0.5f, 0.5f, -0.5f, 0.5f, -0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, }; // 将要使用的顶点的序号保存到一个数组里面 static const GLint index_list[][2] = { {0, 1}, {2, 3}, {4, 5}, {6, 7}, {0, 2}, {1, 3}, {4, 6}, {5, 7}, {0, 4}, {1, 5}, {7, 3}, {2, 6} }; //光照模型 void init(void) { GLfloat ambient[] = { 0.0, 0.0, 0.0, 1.0 }; GLfloat diffuse[] = { 1.0, 1.0, 1.0, 1.0 }; GLfloat position[] = { 0.0, 3.0, 2.0, 0.0 }; GLfloat lmodel_ambient[] = { 0.4, 0.4, 0.4, 1.0 }; GLfloat local_view[] = { 0.0 }; glClearColor(0.0, 0.1, 0.1, 0.0); glEnable(GL_DEPTH_TEST); glShadeModel(GL_SMOOTH); glLightfv(GL_LIGHT0, GL_AMBIENT, ambient); glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse); glLightfv(GL_LIGHT0, GL_POSITION, position); glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient); glLightModelfv(GL_LIGHT_MODEL_LOCAL_VIEWER, local_view); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); } // 绘制立方体 void DrawCube(void) { int i,j; glBegin(GL_LINES); for(i=0; i12; ++i) // 12 条线段 { for(j=0; j2; ++j) // 每条线段 2个顶点 { glVertex3fv(vertex_list[index_list[i][j]]); } } glColor3f(1.0f, 1.0f, 1.0f); glVertex2f(0.0f, 0.0f); for(i=0; i=8; ++i) { glColor3f(i0x04, i0x02, i0x01); } glEnd(); } static float rotate = 0; static int times =

文档评论(0)

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

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

1亿VIP精品文档

相关文档