《计算机图形学期末报告.pdf》由会员分享,可在线阅读,更多相关《计算机图形学期末报告.pdf(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 计算机图形学课程报告课题名称:Solar System课题负责人名(学号):苟丁 0843042229同组成员名单(角色):无指导教师:_ _ _ _ _ _ _ _ _李 征_ _ _ _ _ _ _ _ _ _ _ _ _ _评阅成绩:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _评阅意见:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _提交报告时间:2 0 1 0 年 1 2 月 2 0 日课程名称:计算机图形学学生姓名:苟丁学生学号:0
2、843042229So I ar System软件工程专业学 生 苟 丁 指 导 老 师 李 征 摘要 程序的框架使用了面向对象的设计思想,并 使 用w i n d o w s A PI函数和Op e n G L函数模拟太阳系,程序实现了各大行星的公转和自转,并且可以自由控制摄像机的观测位置来漫游太阳系。关键词:计算机图 形 学Op e n G L模拟太阳系序言虚拟现实(V i r t u a l Re a l i t y,简称V R,又译作灵境、幻真)是近年来出现的高新技术,也称灵境技术或人工环境。虚拟现实是利用电脑模拟产生一个三维空间的虚拟世界,提供使用者关于视觉、听觉、触觉等感官的模拟,
3、让使用者如同身历其境一般,可以及时、没有限制地观察三度空间内的事物早在6 0 年代初,随着C A D 技术的发展,人们就开始研究立体声与三维立体显示相结合的计算机系统。8 0 年代,J a r o n La n i e r 提出了虚拟现实 V R(V i r t u a l Re a l i t y)的观点,目的在于建立一种新的用户界面,使用户可以置身于计算机所表示的三维空间资料库环境中,并可以通过眼、手、耳或特殊的空间三维装置在这个环境中 环游,创造出一种 亲临其境 的感觉。课程名称:计算机图形学学生姓名:苟丁学生学号:0843042229二.图形学基本原理1.几何变换相关原理应用于对象儿何
4、描述并改变它的位置、方向或大小的操作称为儿何变换。儿何变换能用描述动画序列中对象在场景中可以怎样移动或者简单地从另一角度观察他们。平移、旋转和缩放是所有图形软件包中都含有的儿何变换函数.三维平移:在 三 维 齐 次 坐 标 表 示 中,任 意 点 P=(x,y,z)通过将平移距离t x,t y,t z加到P的坐标上而平移到位置P =(x,y z ):x,=x+t x,y,=y+t y,z =z+t z.三维旋转:绕 z 轴旋转的二维旋转很容易推广到三维:x =x c os -ys i n y,=x s i n +yc os z,=z相同的原理绕x,y轴与之类似。一般三维旋转:可以通过下列变换序
5、列来得到所需的旋转矩阵:1.平移对象使其旋转轴与平行与该轴的一个坐标轴重合;2.对于该轴完成指定的旋转;3.平移对象将其旋转轴移回到原来的位置。若给定旋转轴和旋转角,我们可以按照5个步骤来完成所需的旋转:1.平移对象,使得旋转轴通过坐标原点;2.旋转对象使得旋转轴与某一坐标重合;3.绕坐标轴完成指定的旋转;4.利用逆旋转使得旋转轴回到其原始方向;5.利用逆平移使旋转轴回到其原始位置。-2-课程名称:计算机图形学学生姓名:苟丁学生学号:0843042229三维缩放:点 P=(x,y,z)相对于坐标原点的三维缩放是二维缩放的简单扩充。只要在变换矩阵中引入Z坐标缩放参数中:我们可以使用下列变换序列进
6、行相对于任意给定点(x f,yf,zf)的缩放变换:1.平移给定点到原点;2.使用上面的等式,相对于坐标原点所放对象;3.平移给定点回到原始位置。2.几何图形像素化相关原理1 .“走样”的概念答:光栅是由离散的点组成的,在光栅显示设备上表现直线、多边形等,必须在离散的位置采样,由于采样不充分重建后造成的信息失真,就是走样。2 .反走样方法答:首先将象素均匀分割成n 个子象素。则每个象素的面积为1/no计算每个子象素对原象素的贡献,并保存在一张二维的加权表中。然后求出所有中心落于直线段内的子象素。最后计算所有这些子像素对原像素亮度贡献之和E w i 的值,该值乘以最大灰度值作为该象素的显示灰度值
7、。3 .光照模型相关原理光照模型,主要用于对象表面某光照位置的颜色计算任一发出辐射能量的对象称为光源,辐射光线从一点光源出发并在空间传播,光线将会衰减,假设距离为d l。可使用下列公式来课程名称:计算机图形学学生姓名:苟丁学生学号:0843042229表现光源强度:F ra d a tte n(d l)=1/(a 0+a ld l+a 2 d l2)用户可以调整a 0,a l,a 2 的值得到不同的光照效果。光照模型使用为表面设定的各种光学特性来计算表面光照效果。这些特性包括透明度、颜色、反射系数以及各种表面纹理参数。场景中的背景光或环境光是光照模型中必须考虑的另一因素。E.系统界面与操作说明
8、(1)系统界面与图形显示示例-4-课程名称:计算机图形学学生姓名:苟丁学生学号:08430422292)操作说明Up:向前走D own:向后退课程名称:计算机图形学学生姓名:苟丁学生学号:0843042229L e f t:向左转R i g h t:向右转课程名称:计算机图形学学生姓名:苟丁学生学号:0843042229P g Up:抬头P g D own:低头课程名称:计算机图形学学生姓名:苟丁学生学号:0843042229四.源程序1.系统总体框架2.源程序与注释/S td a f x.h#pra g ma onc e i nc lud e#i nc lud e i nc lud e nc
9、 lud e d e f i ne N UM _ TE X TUR E S 1 1 d e f i ne D E G _ TO _ R A D 0.0 1 7 4 5 3#d e f i ne K E Y _ D O W N(vk _ c od e)(G e tA sync K e yS ta te(vk _ c od e)&0 x8 0 0 0)?1 :0)usi ng na me spa c e std;/D a ta Type.h#pra g ma onc e/*-类型定义-*/纹理图像结构struc t TE X TUR E I M A G E-8-课程名称:计算机图形学学生姓名:苟丁
10、学生学号:0843042229i nt imgWi dth;int imgHeight;unsigned char byteCount;/纹理宽度/纹理高度/每个象素对应的字节数,::位图,:带alpha通道的位图;unsigned char*data;/纹理数据/BMP文件头pragma pack(2)struct BMPFILEHEADER1;pragma pack()unsigned shortbfType;/文件类型unsignedlongbfSize;/文件大小unsigned shortbfReservedl;/保留位unsigned shortbfReserved2;/保留位un
11、signed longbfOffBits;/数据偏移位置/BM P信息头struct BMPINFOHEADERunsigned longbiSize;/long biWidth;/long biHeight;unsigned short bi Planes;/unsigned short biBitCount;/的位图unsigned longbiCompression;unsigned longbiSizelmage;/此结构大小图像宽度图像高度调色板数量每个象素对应的位数,:位图,:带alpha通道压缩图像大小long biXPelsPerMeter;/横向分辨率long biYPels
12、PerMeter;/纵向分辨率unsigned longbiClrUsed;/颜色使用数unsigned longbiClrlm portanl;/重要颜色数;/材质结构struct MATERIAL-9-float ambient4;/环境光反射float diffuse4;/漫反射floatspecular 4;/镜面反射课程名称:计算机图形学学生姓名:苟丁学生学号:0843042229fl oat shinine ss;);/镜面反射强度/光照结构stru ct LIGHTfl oat1 ightA mbie nt4;/环境光参数fl oatl ightD iffu se 4;/漫射光参
13、数fl oat1 ightS pe cu l ar4;/镜面光参数;fl oat1 ightPosi tion4;/光源位置/C Obje ct.hpragma onceincl u de S tdafx.h#incl u de D ataT ype.hcl ass C Obje ctpu bl ic:C Obje ct();virtu al C Obje ct();void S e tMate rial (GLfl oat*ambie nt,GLfl oat*diffu se,GLfl oat*spe cu l ar,GLfl oatshinne ss);/设置材质MA T E RIA L*
14、Ge tMate rial 0;void S e tT e xtu re(char*fil e Name);T E XT URE IMA GE*Ge tT e xtu re O;void S e tS Rotation(GLfl oat rot);GLfl oat Ge tS Rotation()const;void S e tS Re vol u tion(GLfl oat re v);GLfl oat Ge tS Re vol u tion()const;GLf1 oat Ge tRadiu s()const;void S e tRadiu s(GLfl oat rad);GLfl oat
15、 Ge tD istance T oS u n()const;在世界坐标的中心)prote cte d:GLfl oat radiu s;GLf1 oat di stance T oS u n;MA T E RIA L mate rial;T E XT URE IMA GE*te xtu re;GLfl oat sRotation;GLf1 oat sRe vol u tion;设置纹理设置自转速度设置公转速度设置半径获取距离太阳的长度(太阳;-10-课程名称:计算机图形学学生姓名:苟丁学生学号:0843042229/CObject.cppinclude CObject.hCObject:CO
16、bject():radius(0.Of),sRotation(0.0),sRevolution(0.0),distanceToSun(0.0)texture=new TEXTUREIMAGE;texture-data=NULL;texture_imgHeight=0;texture-imgWidth=0;texture-byteCount=0;CObject:r CObject()delete texture;void CObject:SetM aterial(GLfloat*ambient,GLfloat diffuse,GLfloat*specular,GLfloat shinness)(
17、for(int i=0;i imgWidth=0;te xtu re-imgHe ight=0;i f(te xtu re-data!=NULL)(de l e te te xtu re-data;/打开文件fil e =fope n(fi1 e Name,rb);if(fil e =NULL)re tu rn;/获取文件头re wind(fil e);fre acK&bmpF il e,size of(B MPF ILE HE A D E R),1,fil e);fre ad(&bmpl nfo,size of(B MPINF OHE A D E R),1,fil e);/验证文件类型if(
18、bmpF il e.bfT ype !=0 x4 D 4 2)(re tu rn;)/获取图像色彩数pixe l _size =bmpl nfo.biB itC ou nt 3;/读取文件数据te xtu re-data=ne w u nsigne d charbmpl nfo.biWidth*bmpl nfo.biHe ight*pixe l _size;for(i=0 ;i bmpl nfo.biHe ight;i+)fse e k(fil e,bmpF il e.bfOffB its+(bmpl nfo.biHe ight-i -1)*bmpl nfo.bi Width*pi xe l
19、_si ze,S E E K_S E T);-1 2-课程名称:计算机图形学学生姓名:苟丁学生学号:0 8 4 3 0 4 2 2 2 9for(j=0;j data+(i*bmpl nfo.biWidth+j)*pixe l _size +2,size of(u nsigne d char),1,fil e);/绿色分量fre ad(te xtu re-data+(i*bmpl nfo.biWidth+j)*pixe l _size +1,size of(u nsigne d char),1,fil e);/蓝色分量fre ad(te xtu re-data+(i*bmp Info.bi W
20、i dth+j)*pi xe l _si ze +0,size of(u nsigne d char),1,fil e);/A l pha分量if(pixe l _size =4)(fre ad(te xtu re-data+(i*bmpl nfo.biWidth+j)*pixe l _size +3,size of(u nsigne d char),1,fil e);)/记录图像相关参数te xtu re-imgWidth=bmpl nfo.biWidth;te xtu re-imgHe ight=bmpl nfo.biHe ight;te xtu re-byte C ou nt=pixe
21、l _size;fcl ose(fil e);)T E XT URE IMA GE*C Obje ct:Ge tT e xtu re()(re tu rn te xtu re;void C Obje ct:S e tS Re vol u tion(GLfl oat re v)sRe vol u tion-=re v;)GLfl oat C Obje ct:Ge tS Rotation()constre tu rn sRotation;-1 3-课程名称:计算机图形学学生姓名:苟丁学生学号:0843042229void C Obje ct:S e tS Rotation(GLfl oat rot
22、)(sRotation 一二 rot;)GLfl oat C Obje ct:Ge tS Re vol u tion()const(re tu rn sRe vol u tion;)GLfl oat C Obje ct:Ge tRadiu s()const(re tu rn radiu s;)void C Obje ct:S e tRadiu s(GLfl oat rad)(radiu s-=rad;)GLfl oat C Obje ct:Ge tD istance T oS u n0 const(re tu rn distance T oS u n;)/E arth,h#pragma onc
23、ettincl u de C Obje ct.hcl ass E arth:pu bl ic C Obje ct(pu bl ic:E arth();E arth();;/E arth,cppincl u de E arl h.hE arth:E arth()-14-课程名称:计算机图形学学生姓名:苟丁学生学号:0 8 4 3 0 4 2 2 2 9radiu s=0.6;distance T oS u n=-6.0;MA T E RIA L mate rial E arth 二 地球0.1,0.1,0.1,1.0,1.0,1.0,1.0,1.0),(0.0,0.0,0.0,1.0,1 0 0
24、.0;S e tMate rial(mate rial E arth.ambie nt,mate rial E arth.di ffu se,mate rial E arth.spe cu l ar,mate rial E arth.shinine ss);E arth:E arth()/Ju pite r.h#pragma onceincl u de C Obje ct.hcl ass Ju pite r:pu bl ic C Obje ct(pu bl ic:Ju pite r();Ju pite r();;/Ju pite r,cpp#incl u de Ju pite r.hJu pi
25、te r:Ju pi te r()(radiu s=0.7;distance T oS u n=-8.0;MA T E RIA L mate rial Ju pite r 二(0.1,0.1,0.1,1.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,1.0,1 0 0.0木星;-1 5-课程名称:计算机图形学学生姓名:苟丁学生学号:0843042229S e tMate rial(mate rial Ju pi te r.ambie nt,mate rial Ju pi te r.diffu se,mate rial Ju pi ter.spe cu l ar,mate rial
26、 ju pite r.shinine ss);Ju pite r:Ju pite r()()/Mars,hpragma onceincl u de C Obje ct.hcl ass Mars:pu bl ic C Obje ct(pu bl ic:Mars();Mars();;/Mars,cpp#incl u de Mars,h”Mars:Mars()(radiu s=0.3;distance T oS u n=-7.0;MA T E RIA L mate rial Mars=火星0.1,0.1,0.1,1.0),1.0,1.0,1.0,1.0,0.0,0.0,0.0,1.0,1 0 0.0
27、;S e tMate rial(mate rial Mars.ambie nt,mate rial Mars.diffu se,mate rial Mars.spe cu l ar,mate rial Mars.shinine ss);Mars:Mars()()/Me rcu.h#pragma once-16-课程名称:计算机图形学学生姓名:苟丁学生学号:0843042229incl u de C Obje ct.hcl ass Me rcu:pu bl ic C Obje ctpu bl ic:Me rcu ();Me rcu (););/Me rcu.cpp#incl u de Me rc
28、u.hMe rcu:Me rcu ()radiu s=0.3;distance T oS u n=-3.Of;MA T E RIA L mate rial Me rcu =水星(0.1,0.1,0.1,1.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,1.0,1 0 0.0;S e tMate rial(mate rial Me rcu.ambie nt,mate rial Me rcu.diffu se,mate rial Me rcu.spe cu l ar,mate rial Me rcu.shinine ss);)Me rcu:广Me rcu ()/Moon.h#prag
29、ma oncettincl u de C Obje ct.hcl ass Moon:pu bl ic C Obje ctpu bl ic:Moon();Moon 0;GLfl oat Ge tD istance T oE arth();private:GLf1 oat distance T oE arth;-17-课程名称:计算机图形学学生姓名:苟丁学生学号:0843042229/Moon,cppincl u de Moon.hMoon:Moon()radiu s=0.2;distance T oE arth=-0.9;MA T E RIA L mate rial Moon=月亮0.1,0.1
30、,0.1,1.0,1.0,1.0,1.0,1.0,(0.0,0.0,0.0,1.0),0.0;S e tMate ria 1(mate rial Moon.ambie nt,mate ria 1 Moon,diffu se,mate rial Moon.spe cu l ar,mate rial Moon.shi ni ne ss);)GLfl oat Moon:Ge tD istance T oE arth()(re tu rn distance T oE arth;)Moon:r Moon()/Ne ptu ne.h#pragma onceincl u de C Obje ct.hcl a
31、ss Ne ptu ne:pu bl ic C Obje ctpu bl ic:Ne ptu ne ();Ne ptu ne 0;;/Ne ptu ne,cpp#incl u de “Ne ptu ne,h”-18-课程名称:计算机图形学学生姓名:苟丁学生学号:0843042229Ne ptu ne:Ne ptu ne()radiu s=0.6;distance T oS u n=-1 1.0;MA T E RIA L mate rial Ne ptu ne =海王星(0.1,0.1,0.1,1.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,1.0,1 0 0.0;S e tMa
32、te rial(mate rial Ne ptu ne.ambie nt,mate rial Ne ptu ne.diffu se,mate rial Ne ptu ne.spe cu l ar,mate rial Ne ptu ne.shinine ss);Ne ptu ne:Ne ptu ne()/S atu rn.h#pragma oncettincl u de C Obje ct.hcl ass S atu rn:pu bl ic C Obje ctpu bl i c:S atu rn();“S atu rn();;/S atu rn,httincl u de S atu rn.hS
33、atu rn:S atu rn()radiu s=0.7;d i stance T oS u n=-9.0;MA T E RIA L mate rial S atu rn=十.星(0.1,0.1,0.1,1.0),1.0,1.0,1.0,1.0,0.0,0.0,0.0,1.0,-19-课程名称:计算机图形学学生姓名:苟丁学生学号:0 8 4 3 0 4 2 2 2 91 0 0.0;S e tMate rial(mate rial S atu rn.ambie nt,mate rial S atu rn.diffu se,mate rial S atu rn.spe cu l ar,mate
34、rial S atu rn.shinine ss);)S atu rn:S atu rn()/S pace,hpragma onceincl u de C Obje ct.hcl ass S pace:pu bl ic C Obje ctpu b!i c:S pace ();S pace ();;/S pace,cpp#incl u de /zS pace,h”S pace:S pace()(radiu s=1 0 0;MA T E RIA L mate rial S pace 二 空间0.4,0.4,0.4,1.0),0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0;S
35、 e tMate rial(mate rial S pace.ambie nt,mate rial S pace.diffu se,mate rial S pace.spe cu l ar,mate rial S pace.shinine ss);S pace:S pace ()(/S u n.h#pragma once-2 0-课程名称:计算机图形学学生姓名:苟丁学生学号:0 8 4 3 0 4 2 2 2 9incl u de C Obje ct.hcl ass S u n:pu bl ic C Obje ctpu bl ic:S u n();S u n(););/S u n.cpp#in
36、cl u de S u n.hS u n:S u n()radiu s=2;MA T E RIA L mate rial S u n=太阳(1 0 0.0,1 0 0.0,1 0 0.0,2 0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,1.0,0.0;S e tMate rial(mate rial S u n.ambie nt,mate rial S u n.diffu se,mate rial S u n.spe cu l ar,mate rial S u n.shinine ss);)S u n:S u n()/Uranu s.h#pragma oncettincl
37、u de C Obje ct.hcl ass Uranu s:pu bl ic C Obje ct(pu bl ic:Uranu s();“Uranu s(););/Uranu s,cpp#incl u de Uranu s,h”Uranu s:Uranu s()-2 1-课程名称:计算机图形学学生姓名:苟丁学生学号:0843042229radiu s=0.7;distance T oS u n=-1 0.0;MA T E RIA L mate rial Uranu s=天王星(0.1,0.1,0.1,1.o),(l.o,1.0,1.0,1.0,(0.0,0.0,0.0,1.0),1 0 0.
38、0;S e tMate rial(mate rial Uranu s.ambie nt,mate rial Uranu s.di ffu se,mate rial Uranu s.spe cu l ar,mate rial Uranu s.shinine ss);)Uranu s:rUranu s()()/Ve nu s,hpragma onceincl u de C Obje ct.hcl ass Ve nu s:pu bl ic C Obje ctpu bl ic:Ve nu s 0;Ve nu s();;/Ve nu s,cpp#incl u de “Ve nu s.hVe nu s:V
39、e nu s()radiu s=0.5;distance T oS u n=-4.5;MA T E RIA L mate rial Ve nu s=金星0.1,0.1,0.1,1.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,1.0,1 0 0.0;S e tMate ri al(mate rial Ve nu s.ambie nt,mate ria 1 Ve nu s,di ffu se,mate rial Ve nu s.spe cu l ar,mate rial Ve nu s.shinine ss);-22-课程名称:计算机图形学学生姓名:苟丁学生学号:0 8 4 3 0
40、 4 2 2 2 9Ve nu s:“Ve nu s()/D raw,hpragma once#incl u de S pace.h#incl u de S u n.hincl u de Z/Me rcu.h#incl u de Ve nu s.hincl u de E arth,h”#incl u de Moon.hncl u de Mars,h”#1 ncl u de “Ju pite r.hincl u de S atu rn,h”#incl u de Uranu s,h”#incl u de “Ne pl u ne,h”cl ass D raw(pu bl ic:D raw();boo
41、l S e tu pPixe 1 F ormat(HD C hD C O);void LoadT e xtu re s0;void InitLight();/GLu int C re ate D L();void D rawA 1 1();void Ru n();bool C l e an();D raw();private:S pace*space;S u n*su n;Me rcu*me rcu;Ve nu s*ve nu s;E arth*e arth;Moon*moon;-2 3-课程名称:计算机图形学学生姓名:苟丁学生学号:0 8 4 3 0 4 2 2 2 9Mars*mars;J
42、u pite r*ju pite r;S atu rn*satu rn;Uranu s*u ranu s;Ne ptu ne*ne ptu ne;GLu int te xtu re Obje ctsNUNLT E XT URE S;inl inevoid D rawS pace ();inl inevoid D rawS u n();inl inevoid D rawMe rcu ();inl inevoid D rawVe nu s 0;inl inevoid D rawE arthO;inl inevoid D rawMoon();inl inevoid D rawMars();inl i
43、nevoid D r aw J u p i te r();inl inevoid D rawS atu rn();inl inevoid D rawUranu s();inl inevoid D rawNe ptu ne();inl inevoid D rawC ircl e(GLfl oat fRadiu s,GLint iS l ice s,GLint iS tack s)inl inevoid D rawT rack(C Obje ct*obj);void InitMate rial s(C Obje ct*obj);void Ini tT e xtu re s(C Obje ct*ob
44、j,GLu int*te xName);;/D raw,cpp#incl u de D raw,h”e xte rn HD C hD C;/GD I设备句柄,将窗口连接到GD I(图形设备接口)e xte rn HGLRC hRC;/渲染描述句柄,将Ope nGL调用连接到设备描述表e xte rn HWND hWnd;/保存Windows分配给程序的窗口句柄D raw:D raw()(space =ne w S pace;su n=ne w S u n;me rcu =ne w Me rcu;ve nu s=ne w Ve nu s;-2 4-课程名称:计算机图形学学生姓名:苟丁学生学号:0
45、843042229earth=new Earth;moon=new Moon;mars=new Mars;jupiter=new Jupiter;saturn=new Saturn;uranus=new Uranus;neptune=new Neptune;Draw:Draw()if(space)(delete space;i f(sun)delete sun;if(mercu)(delete mercu;if(venus)delete venus;)if(earth)(delete earth;if(moon)delete moon;i f(mars)(delete mars;(i f(ju
46、pi ter)-25-课程名称:计算机图形学学生姓名:苟丁学生学号:0843042229de l e te ju pite r;if(satu rn)de l e te satu rn;if(u ranu s)de l e te u ranu s;)i f(ne ptu ne)(de l e te ne ptu ne;void D raw:LoadT e xtu re s()/*载入纹理并设置*/space-S e tT e xtu re(space.bmp);su n-S e tT e xtu re (,zS u n.bmp);me rcu-S e tT e xtu re(Me rcu.bm
47、p);ve nu s-S e tT e xtu re (z,Ve nu s.bmp);e arth-S e tT e xtu re C E arth.bmp);moon-S e tT e xtu re (Moon,bmp);mars-S e tT e xtu re(Mars,bmp);ju pite r-S e tT e xtu re(Ju pite r,bmp);satu rn-S e tT e xtu re (S atu rn,bmp);u ranu s-S e tT e xtu re (Uranu s,bmp);ne ptu ne-S e tT e xtu re(Ne ptu ne,bm
48、p);Ini tT e xtu re s(space,&te xtu re Obje cts0);InitT e xtu re s(su n,&te xtu re Obje cts1);InitT e xtu re s(me rcu,&te xtu re Obje cts2);InitT e xtu re s(ve nu s,ftte xtu re Obje cts3);InitT e xtu re s(e arth,&te xtu re Obje cts4);1 ni tT e xtu re s(moon,&te xtu ie Ob je cts 5);InitT e xtu re s(ma
49、rs,&te xtu re Obje cts6);InitT e xtu re s(ju pite r,&te xtu re Obje cts7);InitT e xtu re s(satu rn,&te xtu re Obje cts8);InitT e xtu re s(u ranu s,&te xtu re Obje cts9);InitT e xtu re s(ne ptu ne,&te xtu re Obje cts1 0);-26-课程名称:计算机图形学学生姓名:苟丁学生学号:0 8 4 3 0 4 2 2 2 9void D raw:InitT e xtu re s(C Obje
50、 ct*obj,GLu int*te xName)gl Pixe l S tore i(GL_UNPA C K_A LIGNME NT,1);gl Ge nT e xtu re s(1,te xName);gl B indT e xtu re(GL T E XT URE 2 D ,*te xName);gl T e xParame te rf(GLT E XT URE _2 D,GL_T E XT URE _WRA P_S,GL_RE PE A T);gl T e xParame te rf(GL_T E XT URE _2 D,GL_T E XT URE _WRA P_T,GL_RE PE