- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
光照与材质
北师大珠海分校信息技术学院
计算机图形学实验报告
实验报告文件命名方式:学号姓名_实验序号_实验名称.doc
姓名 学号 专业 任课教师 实验教师 评阅教师 实验地点 书写日期 2013-12-4 实验课时间 实验得分 实验序号与名称:实验十一:光照与材质 实验目的: 1、进一步掌握3D编程概念:
2、了解和掌握三维场景中如何设置简单光照和材质效果
3、如何添加音乐程序
实验开发环境: 硬件要求:
PC机,主流配置,最好为独立显卡,显存512M以上。
软件环境:
操作系统:Windows XP。
语言开发工具:Microsoft Visual studio 2008,Visual C++。
并安装OpenGL图形函数库 实验要求: 1.当场检查,计现场分
2.实验所有步骤所生成的效果截图拷贝到实验报告文档里备查,并附上相应的代码。 WORD文档命名方式:学号姓名-实验序号-实验名称。 实验内容与步骤小结、主要截图、核心代码实现: 比例:50% #include stdafx.h
#include math.h
#include glut.h
#define PI 3.14159
float theta=-90.0; //rotating angle
int inner=10,outer=80; //toruss inner outer radius
float s=outer+4*inner+50;
float eyex=0,eyey=0,eyez=s; //eye point initial position
float atx=0,aty=0,atz=0; //at point initial position
int ww,hh; //variable for windowss width
bool flag=true;
float angle=0; //for angle between view-line and z axis
float r=s; //for distance between eye and at
float step=r/10; //for forward and backword step;
int k=0;
void Display(void);
void Reshape(int w, int h);
void mytime(int value);
void drawground();
void drawsphere();
void drawwall();
void init();
void mykeyboard(unsigned char key, int x, int y);
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
char *argv[] = {hello , };
int argc = 2; // must/should match the number of strings in argv
glutInit(argc, argv); //初始化GLUT库;
glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE|GLUT_DEPTH);
glutInitWindowSize(500, 500);
glutInitWindowPosition(1024 / 2 - 250, 768 / 2 - 250);
glutCreateWindow(Rotating 3D World); //创建窗口,标题为“Rotating 3D World”;
glutReshapeFunc(Reshape);
init();
glutDisplayFunc(Display); //用于绘制当前窗口;
glutKeyboardFunc(mykeyboard);
glutTimerFunc(100,mytime,10);
glutMainLoop(); //表示开始运行程序,用于程序的结尾;
return 0;
}
void init()
{
glClearColor(1,1,1,1);
glEnabl
文档评论(0)