南开大学复习资料-DirectX程序设计.docx
《南开大学复习资料-DirectX程序设计.docx》由会员分享,可在线阅读,更多相关《南开大学复习资料-DirectX程序设计.docx(13页珍藏版)》请在咨信网上搜索。
《DirectX程序设计》课程期末复习资料一、客观部分:(单项选择、多项选择、不定项选择、判断) (一)、选择部分1. D3DPRESENT_PARAMETERS参数很多,关于其中参数之一 windowed的理解正确 的是( ABD )A.取值FALSE则渲染全屏 A.取值FALSE则渲染全屏 A.取值FALSE则渲染全屏 A.取值FALSE则渲染全屏 A.取值FALSE则渲染全屏 B.取值TRUE则渲染窗口 C. int 类 D. BOOL类型 E. double 类型 2,以下属于Direct 3D定义的图元类型的有(ABCDA.点列表 A.点列表 A.点列表 A.点列表 A.点列表 A.点列表 B.线段条带 C.三角形列表 D.三角形条带 E.四边形列表3.以下属于Direct 3D提供的着色模式的是( ABA.平面着色模式 A.平面着色模式 A.平面着色模式 A.平面着色模式 A.平面着色模式 B.高洛德法着色模式 C.渐变着色模式 D.单颜色着色模式 D.单颜色着色模式 D.单颜色着色模式 D.单颜色着色模式 D.单颜色着色模式 D.单颜色着色模式 4.下面属于Dircct3D提供的创建旋转矩阵的函数的是( ABC A. D3DXMatrixRotarionX A. D3DXMatrixRotarionX A. D3DXMatrixRotarionX A. D3DXMatrixRotarionX A. D3DXMatrixRotarionX A. D3DXMatrixRotarionX B. D3DXMatrixRotarionY C. D3DXMatrixRotarionZ D. D3DXMatrixRotXE. D3DXMatrixRotY5.以下属于Direct3D提供的简化纹理过滤的过程的是(ABCD )A.最近点采样 B.线性过滤 C.各向异性过滤 D. mipmap过滤D3DPRESENT PARAMETERS参数很多,下面理解正确的是( ABCD ) A. Windowed取值FALSE则渲染全屏 B. BackBufferCount表示后备缓冲的 数目 C. Swap Effect表示交换缓冲类型D. BackBufferFormat表示后备缓冲的格式以下属于Direct3D +提供的标准光源的是( ABC ) A.点光源 B.方向光源C.聚焦光源D.多点光源关于灵活顶点格式下列说法正确的是( ABD ) A. D3DFVF_DIFFUSE表示顶点数据中包含的是漫反射颜色值; B. D3DFVF_SPECULAR表示顶点数据中包含的是镜面反射下的颜色值 C. D3DFVF_XYZRHW表示顶点数据中包含的是未经过坐标变换的顶点坐标 D3DF0RMAT Format,//指定索引大小,使用 D3DFMTJNDEX16 为 16 位索 引,〃D3DFMT_INDEX32为32位索引,但并非所有设备都支持32位索引D3DPOOLPool, IDirect3DlndexBuffer9** ppIndexBuffer, 〃返回创建好的索引缓存的指 针HANDLE* pSharedHandle );9、请给出使用带有索引缓存的模型绘制的函数原型,并解释其参数含义。 使用函数 IDirect3DDevice9::DrawlndexedPrimitive 绘制带索引模型: HRESULT IDirect3DDevice9::DrawlndexedPrimitive(D3DPRIMITIVETYPE Type,〃要绘制的图元类型INT BaseVertexindex,//为索引增加一个基数,用顶点数目度量UINTMinlndex,〃允许被引用的最小索引值UINT NumVertices,〃本次调用中将被引用的顶点总数UINT Startindex,〃索引缓存中的某个位置,表示开始渲染的开始索引点UINT PrimitiveCount);〃绘制图元总数10、创建一个ID3DXMesh对象,然后从X文件中读取集合信息数据填入到这个对象 中。请给出读取函数的定义,及相关参数的含义。 HRESULT D3DXLoadMeshFromX( LPCSTR pFil ename, //X 文件名 DWORD Options, 〃创建标志 LPDIRECT3DDEVICE9 pDevice, //与创建Mesh有关的设备 LPD3DXBUFFER* ppAdjaccncy, //返回包含DWORD的ID3DXBuffer类型//的指针,描述Mesh的邻接信息 LPD3DXBUFFER* ppMaterials,〃返回包含D3DXMATERIAL结构的数组//的ID3DXBuffer指针,存储了Mesh的材质数据 LPD3DXBUFFER* ppEffectlnstances,//返PI一个包含D3DXEFFECTINSTANCE结 D3DXEFFECTINSTANCE结 D3DXEFFECTINSTANCE结 D3DXEFFECTINSTANCE结 D3DXEFFECTINSTANCE结 D3DXEFFECTINSTANCE结 //构的数组的ID3DXBuffer类型指针 PDWORD pNumMaterials, LPD3DXMESH * ppMesh //返l^lMesh的材质数//返回填充了 X文件几何信息的TD3DXMesh对象); (五)、程序题1、下面是Alpha纹理实例程序片段,请将程序补充完整。 HRESULT lnitializeD3D( HWND hWnd){ //省略部分代码 g_pd3dDcvicc->SctRcndcrState(D3DRS_CCLLM0DE, D3DCULL_NONE); 〃启用Alpha混合 g_pd3dDevice->SetRenderState(_D3DRS_ALPHABLENDENABLE, true); 〃设置源混合因子 g_pd3dDevice->SetRenderState(_D3DRS_SRCBLEND , D3DBLEND_SRCALP11A); //设置目标混合因子 g Pd3dDevice->SetRenderState(—D3DRS DESTBLEND, D3DBLEND TNVSRCALPHA); g_pd3dDcvice->SetTextureStageState(0, D3DTSS_C0L0R0P, D3DT0P SELECTARG1); g_pd3dDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE); g pd3dDevice~>SetTextureStageState(0, D3DTSS ALPHAOP, D3DT0P MODULATE); g_pd3dDcvicc->SctTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA TEXTURE); g_pd3dDevice->SetTextureStageState(0, D3DTSS_ALP11AARG2, D3DTA_D1FFUSE); 〃设置纹理过滤方式 g pd3dDevice->SetSamplerState(0,D3DSAMP MAGFTLTER _, D3DTEXF POINT); //省略部分代码)2、下面是移动线框正方体的程序片段,完成设置观察矩阵及投影矩阵的片段, 请将程序补充完整。 // Position and aim the camera. D3DXVECT0R3 position(0. Of, 0. Of, —5. Of); D3DXVECTOR3 target (0. Of, 0. Of, 0. Of); D3DXVECT0R3 up(0.0f, 1. Of, 0. Of); D3DXMATRIX V; D3DXMatrixLookAtLH(&V,_&position, &target,&up ); Device->SetTransform(D3DTS_VIEW,&V ); // Set the projection matrix. D3DXMATRIX proj; D3DXMatrixPerspcctivcFovLH(&proj,D3DX_PI * 0. 5f,(float)Width / (float)Height,l.Of,1000. Of); Device->SetTransform(D3DTS_PRO JECTI ON,&proj);3、下面是模拟箱子挡住茶壶,进行深度测试的程序片段,请将程序补充完整。 bool Setup () //此处省略部分代码 // 设置 Texture Filter States. Device->SetSamplerState(O, D3DSAMP MAGFILTER, D3DTEXF LINEAR): Device->SetSamplerState(O, D3DSAMP MTNFTLTER, D3DTEXF LINEAR); Device->SetSamplerState(0, D3DSAMP MTPFTLTER, D3DTEXF LINEAR): //激活深度测试、设置深度测试函数 Dcvice->SetRcnderState(D3DRS_ZENABLE, TRUE); Device~>SetRenderState(D3DRS_ZFUNC, D3DCMP LESS); 〃此处省略部分代码}LRESULT WINAPI MsgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM 1Param)( switch ( msg ) ( case WM_KEYUP: switch (wParam){〃此处省略部分代码case VK ESCAPE: (Cleanup ();PostQuitMessage(0);)break;case 49://开启深度测试g pd3dDevice->SetRenderState(D3DRS ZENABLE, TRUE);break;case 50://关闭深度测试g_pd3dDevice->SetRenderState(D3DRS_ZENABLE, _FALSE_);break;break; return DefWi ndowProc(hWnd, msg, wParam, 1 Param);}4、下面是一程序片段,实现从” Tiger, x”文件中读取Mesh相关信息。请将程序 补充完整。 HRESULT InitGeometry()( LPD3DXBUFFER pD3DXMtrlBuffer; if( FAILED( D3DXLoadMeshFromX( "Tiger, x”,D3DXMESH SYSTEMMEM,g_pd3dDev ice,NULL,&pD3DXMtrlBuffer,NULL,&g dwNumMaterials,&g_pMesh ))) (if( FAILED( D3DXLoadMeshFromX(.\\Tigcr. x〃,D3DXMES1I_SYSTEMMEM,g_pd3dDevice, NULL,&pD3DXMtrlBuffer, NULL,&g dwNumMaterials,&g_pMesh )))(MessageBox(NULL, z,Could not find tiger. x〃,"Meshes.exe”,MB_OK);return E_FAIL; D3DXMATERTAL* d3dxMaterials 二(D3DXMATERIAL*)pD3DXMtrlBuffer->GetBufferPoi nter(); g pMeshMaterials = newD3DMATERIAL9 [g_dwNumMat erials]; if( g_pMeshMaterials == NULL )return E_OUTOFMEMORY; g_pMeshTextures = new LPDIRECT3DTEXTURE9[g_dwNumMaterials]; if( g_pMeshTextures == NULL )return E OUTOFMEMORY; for ( DWORD i=0; i<g dwNumMaterials; i++ ) ( gjpMeshMaterials[i] = d3dxMaterials[i]. MatD3D; g_pMeshMaterials[i]. Ambient = g_pMeshMaterials[i]. Diffuse; g_pMeshTextures[i] = NULL; if( d3dxMaterials[i]. pTextureFi1 ename != NULL &&Istrlen(d3dxMalerials[i]. pTextureFilename) > 0 )( if( FAILED( D3DXCreateTextureFromFile( g_pd3dDevice, d3dxMaterials[i]. pTextureFilename,&g_pMeshTextures[i] ))){const TCHAR* strPrefix = TEXT(〃.. \\〃);TCHAR strTexture[MAX_PATH]: StringCchCopy( strTexture, MAX_PATH, strPrefix );StringCchCat( strTexture, MAX_PATH,d3dxMaterials[i]. pTextureFilename );i f ( FAILED( D3DXCreateTextureFromFi1e( g pd3dDevice,strTexture,&g_pMeshTextures[i])))MessageBox (NULL, z,Could not find texture map〃,"Meshes. exe,z, MB_0K); pD3DXMtrlBuffcr->Rclcasc(); return S OK; D. D3DFVF_XYZ顶点数据中包含未经坐标变换的顶点坐标9.关于顶点Alpha描述正确的是( AB ) A. 如果在程序中直接指定每个顶点的颜色,直接给出每个顶点颜色的Alpha 值。 B. 渲染对象中每个像素的Alpha值由该对象的Alpha值和着色模式决定。 C. 高洛德着色模式,所有像素的Alpha值都等于该多边形的第一个顶点的 Alpha 值。 D. 平面着色模式,每个多边形上的像素的Alpha值由它的各个顶点的Alpha 值进行线性插值得到。 (二)、判断部分Direct3D将给每个采样器对象连接一个唯一的纹理阶段(stage),在应用程序 中找出与采样器对象相关联的阶段,并设置相应的纹理和采样器状态给该阶 段。 (正确)一个Direct3D对象只能创建一个Direct3D设备对象。(错误)由于Direct3D设备对象是由Direct3D对象创建的,因此应先释放Direct3D设 备对象。(正确)D3DFVF_XYZ顶点数据中包含未经坐标变换的顶点坐标,不能与 D3DFVF_XYZRHW同时使用。(正确)D3DFVF_XYZ顶点数据中包含未经坐标变换的顶点坐标,可以与 D3DFVF_XYZRHW同时使用。(错误)D3DFVF_XYZRHW顶点数据中包含经过坐标变换的顶点坐标,不能与 D3DFVF_XYZ 和 D3DFVF_N0RMAL 同时使用。(正确)Direct3D创建的场景和对象都是由简单的“图元”按照一定的方式排列组合 而成的,Direct3D中的所有图元都是一维或二维对象,包括单个的点和直线 及复杂的多边形。(正确)在索引缓存中定位顶点也就是在顶点缓存中定位顶点。(正确)二、主观部分: (一)、填空部分1)像素着色器的输入仅有颜色和纹理坐标两种语义。 2)像素着色器的工作是在顶点着色器之后,后者的输出将为前者提供输入。 3) D3DFVF_DIFFUSE表示顶点数据中包含的是漫反射颜色值;D3DFVF_SPECULAR表示顶点数据中包含的是镜面反射下的颜色值;D3DFVF_XYZRHW表示顶点数据中包含的是经过坐标变换的顶点坐标Direct3DCreate9函数创建一个Direct3D对象并获得指向DirectsD对象接口的 指针,且参数必须设置为D3D_SDK_VERSI0NoDXUT (The DirectX Utility Library)是建立在 Direct3D9 和 Direct3D10 上的一个 程序框架,其目标是建立一个强大而容易使用的Direct3D游戏开发框架,它 简化了 Win32和Direct3D API的使用。 4) 创建DirectX设备对象的函数为CreateDeviceoDirect3D 图形程序通过调用 IDirect3DDevice9::SetRenderState()函数来设置渲 染状态。 5) g_pd3dDevice->SetRenderState(D3DRS_SHADEMODE,D3DSHADE_FLAT),这行代 码完成的功能是(设置着色模式为平面着色模式)。 6) g_pd3dDevice->SetRenderState(D3DRS_SHADEMODE/D3DSHADE_GOURAUD), 这行代码完成的功能是(设置着色模式为高洛德着色模式)。 (二)、名词解释1、请你给出创建顶点声明,并获得IDirect3DVertexDeclaration9接口指针的方法。 HRESULT IDirect3DDevice9::CreateVertexDeclaration( CONST D3DVERTEXELEMENT9* pVertexElements,〃要创建的顶点声明 IDirect3DVertexDeclaration9** ppDecI// 返 回 创 建 的IDirect3DVertexDeclaration9 接〃口指针);2、请你给出环境光(ambient light)的概念,并说明如何设置渲染状态为整个场景 添加环境光。 环境光(ambient light) 由光源发出经环境多次散射而无法确定其方向的光,即好像是来自四面八方 的光;室内成分大,室外成分少,没有位置或方向上的特征,只有颜色亮度 值,不会衰减; 通过设置渲染状态为整个场景添加环境光: g_device->SetRenderState(D3DRS_AMBIENT,D3DCOLOR_X#);3、请你给出镜面反射光的概念,并说明如何设置渲染状态。 镜面光来自特定方向并被反射到特定方向;在默认状态下,Direct3D不对物 体进行镜面反射计算,需设置相关的渲染状态: g_device->SetRenderState(D3DRS_SPECULARENABLEJRUE); 如果需要进行漫反射或镜面反射运算,那么在顶点缓冲器中必须包含顶点的 法向量信息;4、请给出设置像素着色器的函数原型及调用示例代码。 HRESULT IDirect3DDevice9::SetPixelShader( IDirect3DPixelShader9* pShader); 这个方法只接受一个参数,通过它传递一个我们要使用的指向像素着色器的 指针。 示例代码如下: Device->SetPixelShader(MultiTexPS);5、销毁像素着色器接口函数原型 d3d::Release<IDirect3DPixelShader9*>(MultiTexPS);6、在Direct3D的一个场景中,最多可设置几个光源,设置函数形式。 最多可设置8个光源HRESULT SetLight(DWORD Index,CONST D3DLight9 *pLight);7、光照程序一般步骤。 ⑴创建光源、设置其位置及相关属tt; Set Light函数将光源设置到渲染管道 流水线中;LightEnable函数激活光源; (2) SetRenderState打开渲染管道流水线的光照开关; (3) 创建材质,设置物体的材质属性,SetMaterial设定材质;8、清给出点列表图元的含义,并说明其应用。 点列表是一个对每点独立进行渲染的顶点集合。程序可以在3D场景中使用 它模拟星空视野,或作为多边形表面的点化线。 9、请给出线段列表图元的含义,并说明其应用。 线段列表是一系列的独立线段,用于为3D场景加入冰雹或大雨等效果,线 段列表中顶点的数量必须是大于等于2的偶数。 10、请给出线段条带图元的含义,并说明其应用。 线段条带是一个由相互链接的线段组合成的造型,程序可以用它产生不封闭 的多边形;11、请给出三角形列表图元的含义,并说明其应用。 三角形列表是一系列独立的三角形,它们之间可能靠的很近,也可能不是, 顶点总数必须能被3整除;使用三角形列表建立一个由离散面片组成的物体; 如建立力场墙的一种方法是指定一个由互相不相连的小三角形组成的大型 列表;然后将一个可以发散光线的材质和纹理应用到这个三角形列表上12、请给出三角形条带图元的含义,并说明其应用。 三角形条带是一连串相邻接的三角形。3D场景中大部分物体都是由三角条 带组成的。 13、请给出三角形扇图元的含义,并说明其应用。 三角形扇和三角形条带类似,但其所有三角形共享一个顶点。3D场景中曲 面的描述。 14、请给出Direct3D中设置渲染状态的函数原型,并解释其参数含义。 Direct3D 图形程序通过调用 IDirect3DDevice9::SetRenderState()0数来设置渲 染状态。枚举类型D3DRENDERSTATETYPE列举出所有可能的渲染状态;使用 SetRenderStatef)设置: HRESULT IDirect3DDevice9::SetRenderState(D3DRENDERSTATETYPE State,//更改的渲染状态DWORD Value ); 〃新的状态值15、请你解释平面着色模式的含义。 Direct3D绘制流水线使用多边形第一个顶点的材质颜色作为整个多边形的颜 色来渲染该多边形;如果多边形不共面,被平面着色方式渲染的三维物体在 多边形之间将具有可视的清晰边缘;平面着色是最快的着色方式。 16、请你解释高洛德着模式的含义。 它使用顶点法线和光照参数为每个顶点计算颜色,然后穿越多边形的表面进 行插值,插值以线性方式完成,高洛德着色使物体的表面看上去弯曲而平滑。 17、可编程管线渲染一个球体的步骤。 1)找到用于渲染该球体的VertexShader和PixelShader; 2 )将参数传递给VertexShader , VertexShader的输出再传递给 PixelShader; 3) 绘制该球体;18、请说明怎样对多级渐进纹理过滤器进行设置,并具体解释Filter的取值。 Device->SetSamplerState(0, D3DSAMP_MIPFILTER, Filter);D3DTEXF_NONE:禁用多级渐进纹理过滤;D3DTEXF_POINT:就会只使用与图元大小最匹配的一级纹理; D3DTEXF LINEAR: Direct3D就将与图元大小最匹配的两级纹理以线性方式混 合。 19、请你给出物体表面材质的定义方式,并解释每个参数的概念。 typedef strcut D3DMATERIAL9(D3DC0L0RVALUE Diffuse;〃慢射光的反射属性D3DC0L0RVALUE Ambient;〃环境光的反射属性D3DC0L0RVALUE Specular; 〃镜面光的反射属性D3DC0L0RVALUE Emissive; //自发光的反射属性float Power;//镜面光的高光强度 1D3DMATERIAL9, *LPD3DMATERIAL9;、简答 1、着色器代码编译后,获得一个IDirect3DVertexShader9接口的指针,它代 表一个顶点着色器,具体方法,及其调用过程。 HRESULT IDirect3DDevice9::CreateVertexShader( const DWORD* pFunction, IDirect3DVertexShader9**ppShader);其中,输入参数pFunction指向编译成功的着色器代码段,输出参数ppShader 指向最终生成的顶点着色器。 假设变量shader是一个包含己编译的着色器代码的ID3DXBuffer指针,如果要获得一个 IDirect3DVertexShader9 接口,可以这样写: IDirect3DVertexShader9* NewShader = 0;hr=Device->CreateVertexShader( (DWORD*)shader->GetBufferPointer(),&NewShader);2、如何测定像素着色器的支持。 可用对SetDeviceCaps的调用来测定像素着色器的支持。 Caps结构包括一个叫做PixelShaderVersion的DWORD成员,其值对主版本号和子版本号进行编码,解释这个值的含义的最佳方法是用D3DPS_VERSION宏: D3DCAPS8 Caps;M_pD3D->GetDeviceCaps(D3DADAPTER_DEFAULTzD3DDEVTYPE_HAL,&Caps);IffCaps.PixelShaderVersion == D3DPS_VERSION(1,1)) lf(Failed(EasyCreateWindowed(m_hWnd,D3DDEVTYPE_HAL,D3DCREATE_HARDWARE_VERTEXPROCESSING))) Return FALSE;并解释 BackBufferFormat, 并解释 BackBufferFormat, 并解释 BackBufferFormat, 并解释 BackBufferFormat, 并解释 BackBufferFormat, 并解释 BackBufferFormat, 〃全屏幕式后备缓冲的宽度 〃全屏幕式后备缓冲的 〃后备缓冲的格式 〃后备缓冲的数目 3、请给出 D3DPRESENT_PARAMETERS 的定义,Swap Effect, Windowed三个参数的含义。 typedef struct _D3DPRESENT_ PARAMETERS,{ UINTBackBufferWidth; UINTBackBufferHeight;高度D3DFORMAT UINT D3DFORMAT UINT D3DFORMAT UINT D3DFORMAT UINT D3DFORMAT UINT BackBufferFormat;BackBufferCount;D3DMULTISAMPLE_TYPE MultiSampleType; 〃全屏抗锯齿类型} D3DPRESENT_PARAMETERS;・BackBufferFormat-一后备缓冲的格式,DX9只支持16位和32位的后备缓 冲格式,如D3DFMT_R5G6B5表示后备缓冲的格式为每个像素16位,红 色5位、绿色6位、蓝色5位,也可设置为D3DFMTJJNKN0WN,这时使 用桌面的格式。 DWORD MultiSampleQuality;〃全屏抗锯齿质量等级 D3DSWAPEFFECT Swap Effect;〃交换缓冲类型 HWND hDeviceWindow; BOOL Windowed;〃全屏或窗口 BOOL EnableAutoDepthStencil;〃激活深度缓冲 D3DFORMAT AutoDepthStencilFormat; //深度缓冲格式 DWORD Flags; UINT FullScreen_RefreshRatelnHz;〃显示器刷新率 UINT Presentation Interval; 〃图像最大刷新速度 ・Swap Effect-一交换缓冲支持的效果类型,它是D3DSWAPEFFECT枚举类型, 此处设定为D3DSWAPEFFECT_DISCARD,即后备缓存的内容被复制到屏幕 上后,后备缓存的内容失效,可以丢弃。 • Windowed一一如果为FALSE,表示渲染全屏,若为TRUE,则渲染窗口。 4、基于Win32基本框架,绘制文本的函数原型及调用。 在Render函数中通过DrawText函数控制文本显示,该函数是LPD3DXFONT类的 成员函数,其函数原型如下: INT DrawText ( LPD3DXSPRITE pSprite,LPctstr pStringJNT Count,LPRECT pRect,DWORD Format,D3DCOLOR Color);此处的调用为:g_pFont->DrawText(NULL/ strText,-lz &clientRect,DT_SINGLELINE | DT_NOCLIP | DT_CENTER | DT_VCENTER, Oxffffffff );5、顶点缓存中的顶点可以包含顶点坐标、颜色、法线方向、纹理坐标等属性, 具体包含哪些属性,可以使用灵活顶点格式(Flexible Vertex Format, FVF)进行 描述;请解释下面部分FVF描述符: D3DFVF_DIFFUSE,D3DFVF_NORMAL, D3DFVF_XYZ, D3DFVF_XYZRHW, D3DFVF_SPECULAR. D3DFVF_DIFFUSE:顶点数据中包含漫反射颜色值; D3DFVF_NORMAL:顶点数据中包含法线向量,不能和D3DFVF_XYZRHW同时使用; D3DFVF_XYZ:顶点数据中包含未经坐标变换的顶点坐标,不能与D3DFVF_XYZRHW 同时使用; D3DFVF.XYZRHW:顶点数据中包含经过坐标变换的顶点坐标,不能与D3DFVF_XYZ 和 D3DFVF_N0RMAL 同时使用; D3DFVF_PSIZE:顶点信息指明绘制点的大小; D3DFVF_SPECULAR:顶点数据中镜面反射效果下的颜色值;6、请给出创建顶点缓存的函数原型,并解释其参数含义。 创建顶点缓存的函数IDirect3DDevice9::CreateVertexBuffer()声明如下: HRESULT IDirect3DDevice9::CreateVertexBuffer (UINT Length, 〃分配给缓存的字节大小;DWORD Usage,〃指定关于怎样使用缓存的额外信息;DWORD FVF,〃存储在缓存中的灵活顶点格式;D3DPOOLPool, 〃缓存放置在哪一个内存池中; IDirect3DVertexBuffer9 * * ppVertexBuffer,〃返回创建好的顶点缓存的指 针;HANDLE* pSharedHandle ); 〃没有使用;设置为 0;7、访问顶点缓存数据时需要对其访问区域加锁,清给出加锁函数原型并解释其 参数含义。 HRESULT IDirect3DVertexBuffer9::Lock( UINT OffsetToLock,//偏移量,以字节为单位,从缓存开始位置到锁定开始位 置的距离 UINT SizeToLock,//锁定的字节数 BYTE** ppbDate,//返回的指向锁定内存开始位置的指针 DWORD Flags ); 〃标记描述如何锁定内存8、请给出创建索引缓存的函数原型,并解释其参数含义。 创建索引缓存的函数如下: HRESULT IDirect3DDevice9::CreatelndexBuffer(UINT Length, 〃分配给缓存的字节大小;DWORD Usage,〃指定关于怎样使用缓存的额外信息;- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 南开大学 复习资料 DirectX 程序设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文