`
webcenterol
  • 浏览: 913732 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

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

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

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

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

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

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

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

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

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

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

模型渲染的最后一步:

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

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

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

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

打开alpha测试alpha裁减前:

打开alpha测试alpha裁减后:

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics