资源描述:
《实验四:纹理包装》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、网络游戏编程实验报告一、实验内容实现纹理包装。二、程序代码//--------------------------------------------------------------------------------------//File:TextureWrap.cpp//--------------------------------------------------------------------------------------#include//Direct3D头
2、文件#include//D3DX库的头文件#defineSAFE_RELEASE(p){if(p){(p)->Release();(p)=NULL;}}wchar_t*g_pClassName=L"TextureWrap";//窗口类名wchar_t*g_pWindowName=L"纹理包装示例";//窗口标题名LPDIRECT3DDEVICE9g_pd3dDevice=NULL;//D3D设备接口LPDIRECT3DVERTEXBUFFER9g_pVertexBuf=NULL;//顶
3、点缓存接口LPDIRECT3DINDEXBUFFER9g_pIndexBuf=NULL;//索引缓存接口LPDIRECT3DTEXTURE9g_pTexture=NULL;//纹理接口//顶点结构structCUSTOMVERTEX{FLOAT_x,_y,_z;//顶点的位置FLOAT_u,_v;//纹理坐标CUSTOMVERTEX(FLOATx,FLOATy,FLOATz,FLOATu,FLOATv):_x(x),_y(y),_z(z),_u(u),_v(v){}};#defineD3DFVF_CUS
4、TOMVERTEX(D3DFVF_XYZ
5、D3DFVF_TEX1)HRESULTInitDirect3D(HWNDhWnd);//初始化Direct3DVOIDDirect3DRender();//渲染图形VOIDDirect3DCleanup();//清理Direct3D资源//窗口消息处理函数声明LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);//-----------------------------------------------------
6、---------------------------------//Name:WinMain();//Desc:Windows应用程序入口函数//--------------------------------------------------------------------------------------intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnShowCmd){//初始化窗口
7、类WNDCLASSwndclass;wndclass.cbClsExtra=0;wndclass.cbWndExtra=0;wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//窗口背景wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);//光标形状wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//窗口小图标wndclass.hInstance=hInst
8、ance;wndclass.lpfnWndProc=WndProc;wndclass.lpszClassName=g_pClassName;wndclass.lpszMenuName=NULL;wndclass.style=CS_HREDRAW
9、CS_VREDRAW;//注册窗口类if(!RegisterClass(&wndclass))return0;//创建窗口HWNDhWnd=CreateWindow(g_pClassName,g_pWindowName,WS_OVERLAPPEDWINDOW,1
10、00,100,640,480,NULL,NULL,wndclass.hInstance,NULL);//初始化Direct3DInitDirect3D(hWnd);//显示、更新窗口ShowWindow(hWnd,SW_SHOWDEFAULT);UpdateWindow(hWnd);//消息循环MSGmsg;ZeroMemory(&msg,sizeof(msg));while(msg.message!=WM_QUIT){if(PeekMes