收藏 分享(赏)

directX游戏编程实验五吴凉凉 2012329700012.doc

上传人:gnk289057 文档编号:4572872 上传时间:2019-01-02 格式:DOC 页数:5 大小:386.50KB
下载 相关 举报
directX游戏编程实验五吴凉凉 2012329700012.doc_第1页
第1页 / 共5页
directX游戏编程实验五吴凉凉 2012329700012.doc_第2页
第2页 / 共5页
directX游戏编程实验五吴凉凉 2012329700012.doc_第3页
第3页 / 共5页
directX游戏编程实验五吴凉凉 2012329700012.doc_第4页
第4页 / 共5页
directX游戏编程实验五吴凉凉 2012329700012.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、浙江理工大学DirectX 游戏编程实验报告2013 2014 学年第 1 学期 学 院 信息学院班 级 12 数字媒体技术 1 班姓 名 吴凉凉学 号 2012329700012任课教师 (上课时间:第 10 周 345 节)数字媒体技术专业20 14 年 5 月 15 日DirectX 游戏编程实 验 报 告实验名称: DirectX 三维文字场及地形景实验实验地点:机 1一、 实验平台Windows XP professional操作系统。VC6.0 集成开发环境二、实验内容及结果(1)在 VC+编程环境下建立三维场景,场景中包括:1. 茶壶模型、圆柱体模型。2. 茶壶模型使用黄色材质。

2、3. 圆柱体模型使用纹理贴图材质。4. 设置一个电光源灯光系统。(2)在 VC+编程环境下建立一个三维文字及地形的设计。1. 在三维场景中,使用地形文件建立一个三维地形。2. 同时输出三维文字,文字内容包括:学生名字、学号。要求能够使用粒子系统实现烟火/雪花等特效。1、添加三维地形:2、声明:Terrain* TheTerrain = 0;psys:PSystem* Exp = 0;创造三维地形:/ Create the terrain./D3DXVECTOR3 lightDirection(0.0f, 1.0f, 0.0f);TheTerrain = new Terrain(Device,

3、“coastMountain64.raw“, 64, 64, 10, 0.1f);TheTerrain-genTexture(添加文字:/fontHDC hdc = CreateCompatibleDC( 0 ); HFONT hFont; HFONT hFontOld;LOGFONT lf; ZeroMemory( lf.lfHeight = 25; / in logical units lf.lfWidth = 12; / in logical units lf.lfEscapement = 0; lf.lfOrientation = 0; lf.lfWeight = 100; / bol

4、dness, range 0(light) - 1000(bold) lf.lfItalic = true; lf.lfUnderline = true; lf.lfStrikeOut = true; lf.lfCharSet = DEFAULT_CHARSET; lf.lfOutPrecision = 0; lf.lfClipPrecision = 0; lf.lfQuality = 0; lf.lfPitchAndFamily = 0; strcpy_s(lf.lfFaceName, “Times New Roman“); / font style hFont = CreateFontIn

5、direct( hFontOld = (HFONT)SelectObject(hdc, hFont); D3DXCreateText(Device, hdc,“wuliangliang 2012329700012“,0.005f, 1.0f, SelectObject(hdc, hFontOld); DeleteObject( hFont ); DeleteDC( hdc );文字旋转的设置:D3DXMATRIX yyRot, T;static float yy = 0.1f;D3DXMatrixRotationY(yy += timeDelta;if( yy = 6.28f )yy = 0.

6、0f;D3DXMatrixTranslation(T = T * yyRot;Device-SetTransform(D3DTS_WORLD, 添加茶壶 :D3DXCreateTeapot(Device, D3DXMatrixTranslation(Mtrls0 = d3d:YELLOW_MTRL;茶壶点光源的设置:D3DXVECTOR3 pos(0.0f, 0.0f, 0.0f);D3DXCOLOR c = d3d:WHITE;D3DLIGHT9 point = d3d:InitPointLight(Device-SetLight(0, Device-LightEnable(0, true)

7、;Device-SetRenderState(D3DRS_NORMALIZENORMALS, true);Device-SetRenderState(D3DRS_SPECULARENABLE, true);D3DXMATRIX V;清除工作void Cleanup()d3d:Delete(TheTerrain);d3d:Delete( Exp );d3d:DrawBasicScene(0, 0.0f);d3d:Release(Text);摄像机位置的设置D3DXVECTOR3 pos;TheCamera.getPosition(float height = TheTerrain-getHeig

8、ht( pos.x, pos.z );pos.y = height + 5.0f; / add height because were standing upTheCamera.setPosition(D3DXMATRIX V;TheCamera.getViewMatrix(Device-SetTransform(D3DTS_VIEW, 场景、茶壶、文字的绘制Device-Clear(0, 0, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0x00000000, 1.0f, 0);Device-BeginScene();/Device-SetTransform(D3

9、DTS_WORLD,Device-SetMaterial(Text-DrawSubset(0);D3DXMATRIX I;D3DXMatrixIdentity(Device-SetTransform(D3DTS_WORLD, d3d:DrawBasicScene(Device, 1.0f);if( TheTerrain )TheTerrain-draw(if( FPS )FPS-render(0xffffffff, timeDelta);Device-SetTransform(D3DTS_WORLD, Exp-render();Device-SetMaterial(Device-SetTransform(D3DTS_WORLD, Objects0-DrawSubset(0);Device-EndScene();Device-Present(0, 0, 0, 0);心得与体会:1、按照实验要求 需要一个三维地形图。由于理解错误,一开始使用看平面地形,大大的加的了实验完成的时间。2、添加地形过程中,许多文件需要定义,学会了根据错误提醒、语句定义来更改错误代码,最后成功添加地形。3、加入一个新的物体,首先要先定义,然后创造出这个物体来, (物体的形、物体的材质,物体的光源设置) ,最后通过语句绘制物体。 (如茶杯)4、学会了使用烟花系统!学会更改烟花颜色、数量。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 中学实验

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报