direct3d编程基础期末考试模拟试卷

direct3d编程基础期末考试模拟试卷

ID:25842236

大小:80.00 KB

页数:8页

时间:2018-11-23

direct3d编程基础期末考试模拟试卷_第1页
direct3d编程基础期末考试模拟试卷_第2页
direct3d编程基础期末考试模拟试卷_第3页
direct3d编程基础期末考试模拟试卷_第4页
direct3d编程基础期末考试模拟试卷_第5页
资源描述:

《direct3d编程基础期末考试模拟试卷》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Direct3D编程基础期末考试模拟试卷1.新建一个Win32的项目,在项目中添加一个.h文件,在头文件中包含所需要的头文件和库文件。(5分)2.在项目中添加一个cpp文件,cpp文件首先要包含上一步的.h文件,然后在cpp文件中添加一个Win32的主函数。(5分)3.在主函数中创建一个窗体,并显示窗体的消息循环和消息处理函数。(5分)4.修改相应的项目属性设置,能够成功运行并显示窗体。(5分)5.定义用于Direct3D渲染的对象和设备,并实现创建它们。(10分)6.在消息循环的中实现Direct3D渲染。(5分)7.定义Direct3D的顶点结构体和格式。(5分)8.

2、定义用于保存顶点数据的顶点缓冲区和纹理对象,并初始化它们。(10分)9.实现顶点和纹理的渲染。(5分)10.定义矩阵实现本地坐标到世界坐标系转换,再到观察坐标系转换,最后实现投影转换。(15分)以上流程代码从文档下方的程序段1-12中复制。11.修改顶点坐标设计出如下一个形状:(5分)12.将给定triangle.jpg图片中的纹理贴到到三个面上。(5分)13.使用如下给定函数,实现该形状沿Z轴不停的旋转,并且在旋转过程中能够慢慢缩小,当缩小到原来大小1/2时,再慢慢放大到原来大小,如此重复缩放。(20分)D3DXMatrixRotationZ//沿Z轴旋转D3DXMat

3、rixScaling//缩放矩阵14.最终程序可以运行,并达到题目要求。(10分)提供如下程序段:程序段1#pragmaonce#include//windows扩展库函数的头文件#include//D3D的头文件#include#include//引入D3D的库文件#pragmacomment(lib,"d3d9.lib")#pragmacomment(lib,"d3dx9.lib")#pragmacomment(lib,"winmm.lib")//释放对象的宏#defineSAFE_DEL

4、ETE(p){if(p){deletep;p=NULL;}}//释放设备对象的宏#defineSAFE_RELEASE(p){if(p){p->Release();p=NULL;}}//按键状态检测的宏#defineKEYDOWN(vk_code)((GetAsyncKeyState(vk_code)&0x8000)?1:0)#defineKEYUP(vk_code)((GetAsyncKeyState(vk_code)&0x8000)?0:1)程序段2LPDIRECT3D9m_pD3D;//Direct3D对象指针LPDIRECT3DDEVICE9m_pD3DDevic

5、e;//Direct3D的设备程序段3LPDIRECT3DVERTEXBUFFER9m_pVB;//D3D顶点缓冲LPDIRECT3DTEXTURE9m_pTexture;//D3D纹理程序段4LRESULTCALLBACK//回调函数(自动调用的函数)WinProc(HWNDhWnd,//窗体的句柄UINTmessage,//消息的类型WPARAMwParam,LPARAMlParam//消息的参数){switch(message){caseWM_DESTROY://窗体关闭PostQuitMessage(0);//程序结束break;caseWM_KEYDOWN://

6、按键消息switch(wParam){caseVK_ESCAPE://当按下ESC键时候触发关闭窗口的消息PostMessage(hWnd,WM_CLOSE,0,0);break;}break;}returnDefWindowProc(hWnd,message,wParam,lParam);}程序段5//--创建D3D对象m_pD3D=Direct3DCreate9(D3D_SDK_VERSION);D3DDISPLAYMODEd3ddm;//--定义一个保存当前适配器属性的结构//--获得当前适配器的显示模式m_pD3D->GetAdapterDisplayMode(D

7、3DADAPTER_DEFAULT,&d3ddm);//--设置传递给LPDIRECT3D9::CreateDevice的参数D3DPRESENT_PARAMETERSd3dpp;ZeroMemory(&d3dpp,sizeof(d3dpp));//--把结构体清空//d3dpp.Windowed=FALSE;//--指明不是窗口模式,而是全局独占模式d3dpp.Windowed=TRUE;d3dpp.SwapEffect=D3DSWAPEFFECT_DISCARD;//--设定换页效果为丢弃后台缓存d3dpp.BackBuf

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。