实验七:广告板技术.docVIP

  • 3
  • 0
  • 约1.36万字
  • 约 11页
  • 2016-09-11 发布于河南
  • 举报
实验七:广告板技术

实验七:广告板技术 一、实验目的 掌握广告板技术的原理,熟悉广告板技术使用方法. 二、实验仪器 Pc机,vc2005 三、实验原理及过程 //利用广告板技术实现一个某种特效,如树木,并描述程序实现时的思路包括对每个调用的API以及脚本 进行详细说明 1、广告板技术原理:采用一个带有纹理的四边形,其纹理图像为该广告板所代表的物体的图像,即用带有该物体图像的长方形,代替该物体生成该物体的图形画面。广告版放置于所代表物体的位置中心,并随相机的运动而变化,始终面对用户。 2、主要调用的API函数说明: //创建广告板矩形和纹理对象 HRESULT CALLBACK OnCreateDevice( IDirect3DDevice9* pd3dDevice, const D3DSURFACE_DESC* pBackBufferSurfaceDesc, void* pUserContext ); //渲染场景 pd3dDevice-SetTransform( D3DTS_WORLD, g_matGround ); pd3dDevice-SetTexture( 0, g_pGroundTex );//设置纹理 pd3dDevice-SetStreamSource( 0, g_pGroundVB, 0, sizeof(CUSTOMVERTEX) ); pd3dDevice-SetFVF( D3DFVF_CUSTOMVERTEX ); pd3dDevice-DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 2 ); //渲染树木 pd3dDevice-SetTransform( D3DTS_WORLD, g_matTree ); pd3dDevice-SetTexture( 0, g_pTreeTex ); pd3dDevice-SetStreamSource( 0, g_pTreeVB, 0, sizeof(CUSTOMVERTEX) ); pd3dDevice-SetFVF( D3DFVF_CUSTOMVERTEX ); pd3dDevice-DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 2 四、实验结果 五、实验心得 本次实验目的是为了掌握广告板技术的原理,熟悉广告板技术使用方法.,实验要求利用广告板技术实现一个某种特效,如树木,并描述程序实现时的思路包括对每个调用的API以及脚本通过网络查询得知广告板技术原理:采用一个带有纹理的四边形,其纹理图像为该广告板所代表的物体的图像,即用带有该物体图像的长方形,代替该物体生成该物体的图形画面。广告版放置于所代表物体的位置中心,并随相机的运动而变化,始终面对用户,本次实验学到了很多东西,收获颇多。 六、主要代码 //BillBoard.cpp //----------------------------------------------------------------------------- // Desc: 入口函数 //----------------------------------------------------------------------------- INT WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int ) { //为Debug配置启用运行时内存检查功能 #if defined(DEBUG) | defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif //设置回调函数 DXUTSetCallbackDeviceCreated( OnCreateDevice ); DXUTSetCallbackDeviceReset( OnResetDevice ); DXUTSetCallbackDeviceLost( OnLostDevice ); DXUTSetCallbackDeviceDestroyed( OnDestroyDevice ); DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackKeyboard( KeyboardProc ); DXUTSetCallbackFrameRender( OnFrameRender ); DXUTSetCallbackFrameMove( OnFrameMove ); //应用程序相关的初始化 InitApp()

文档评论(0)

1亿VIP精品文档

相关文档