directX游戏编程实验五吴凉凉 2012329700012
- 格式:pdf
- 大小:225.89 KB
- 文档页数:5
DirectX 三维文字场
实验地点:机 1
及地形景实验
一、 实验平台 Windows XP professional操作系统。 VC6.0集成开发环境
二、实验内容及结果
(1)在 VC++编程环境下建立三维场景,场景中包括: 1. 茶壶模型、圆柱体模型。 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, "coastMountain64.raw", 64, 64, 10, 0.1f); TheTerrain->genTexture(&lightDirection);
添加文字:
//font HDC hdc = CreateCompatibleDC( 0 ); HFONT hFont; HFONT hFontOld; LOGFONT lf; ZeroMemory(&lf, sizeof(LOGFONT)); lf.lfHeight = 25; // in logical units lf.lfWidth = 12; // in logical units lf.lfEscapement = 0; lf.lfOrientation = 0; lf.lfWeight = 100; // boldness, 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 = CreateFontIndirect(&lf); hFontOld = (HFONT)SelectObject(hdc, hFont); D3DXCreateText(Device, hdc,"wuliangliang 2012329700012",0.005f, 1.0f, &Text, 0, 0);
SelectObject(hdc, hFontOld); DeleteObject( hFont ); DeleteDC( hdc ); 文字旋转的设置: D3DXMATRIX yyRot, T; static float yy = 0.1f; D3DXMatrixRotationY(&yyRot, yy); yy += timeDelta; if( yy >= 6.28f ) yy = 0.0f; D3DXMatrixTranslation(&T, 30.0f, 30.0f, -10.0f); T = T * yyRot; Device->SetTransform(D3DTS_WORLD,
浙江理工大学
《DirectX 游戏编程》
实验报告
2013 ~2014 学年第 1 学期
学 班 姓 学 院 级 名 号 信息学院 12 数字媒体技术 1 班 吴凉凉 2012329700012
任课教师
(上课时间:第 10 周 345 节)
数字媒体技术专业 20 14 年 5 月 15 日
《DirectX 游戏编程》实 验 报 告