现在的位置: 首页 > 综合 > 正文

有关 Direct3D技术的初步探索——-基本渲染流程

2013年02月02日 ⁄ 综合 ⁄ 共 691字 ⁄ 字号 评论关闭

   

  渲染要进行什么操作,这随着应用技术的深入而多样化和复杂化。

  一般来说,即时信息更新部分包括:

   1漫游信息的更新:处理即时鼠标事件和键盘事件

           由鼠标或键盘触发场景模型的平移,旋转,缩放等操作,以及摄像机的旋转,平移等。

   2摄像机信息的更新:摄相机位置,朝向等信息的改变

       摄像机的更新直接影响到视图矩阵和投影矩阵的实时更新

   3模型信息的更新:模型位置和大小的改变以及模型的渲染

          模型的平移矩阵,旋转矩阵,缩放矩阵的改变以至世界矩阵的即时更新

   关于模型的渲染方面,则需处理多方面的细节:

       先设置渲染状态,再进行打开alpha测试,alpha减以及背面剔除和纹理层滤镜的设

 置等,接着还需设置材质和纹理等细节。

     模型渲染的最后一步:

     一般情况下:执行ID3DXBaseMesh接口的 DrawSubset(DWORD AttribId),

AttribId指定要绘制网格的哪个子集,用于将网格中的平面区分为属于一个或多个属性组。   

先调用SetStreamSource(StreamNumber, StreamData, ffsetInBytes, tride)该函数把一个顶点缓存

绑定到一个设备数据流,接着执行SetIndices(pIndexData),再执行SetFVF (FVF),最后调用:

 

     打开alpha测试alpha裁减前:

    

        打开alpha测试alpha裁减后:

     

 

     也可使用另外一种方式:(以下调用的函数均属于IDirect3DDevice9接口)

抱歉!评论已关闭.