• 栈动画演示 > 利用英特尔 SIMD 流指令扩展指令集,优化动画模型的渲染管线
  • 利用英特尔 SIMD 流指令扩展指令集,优化动画模型的渲染管线

    免费下载 下载该文档 文档格式:DOC   更新时间:2006-07-01   下载次数:0   点击次数:1
    文档基本属性
    文档语言:Simplified Chinese
    文档格式:doc
    文档作者:User
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    利用英特尔 SIMD 流指令扩展指令集,优化动画模型的渲染管线
    目录
    介绍
    球面线性插值时钟周期(PDF 260 KB)
    四元数与矩阵之间的转换(PDF 219 KB)
    骨骼组装线(PDF 95 KB)
    快速蒙皮(PDF 165 KB)
    推出三角形平面方程(PDF 99 KB)
    阴影锥构建(PDF 183 KB)
    介绍
    下列文章阐述了用于渲染管线的单个例程,以及如何采用英特尔 SIMD 流指令扩展指令集对其进行优化.
    作者 Id Software 公司,J.M.P. van Waveren
    目前,大部分的电脑游戏利用即时光影技术来渲染动画多边形建模. 《毁灭战士 III(DOOM* III)》(2004 年 8 月推出)以及《雷神之锤 4(Quake* 4)》(2005 年 10 月推出)也不例外. 这两款游戏都采用了骨骼动画系统. 称为"皮肤(skin)"的多边形网格随着称为"骨骼(skeleton)"的底层结构的改变而不断改变. 通过对骨骼进行动画设计,皮肤也随之发生转换. 转换皮肤的过程称为"蒙皮(skinning)". 这两款游戏还使用了阴影锥(shadow volume)来定义遮蔽物阴影下的区域. 阴影锥被定义为包含多边形遮蔽物阴影在内的多边形边界区域.
    下列文章提供了动画模型 SIMD 优化的渲染管线技术的概览,它与游戏 DOOM III 中采用的渲染管线技术作用是相同的,但性能要更加卓越. 这一改进的渲染管线在电脑游戏 Quake 4 中得以实施.尽管管线的多个步骤能够在图形处理单元(GPU)上运行(大多数显卡提供 GPU),但是大部分的渲染管线仍在 CPU 上运行. 在 CPU 上运行大部分管线,可提高在各种系统上的兼容性. 早先系统的显卡(如 GeForce2 和 GeForce4MX)不支持某些在 GPU 上执行动画和蒙皮所必需的特性. 支持在 GPU 上蒙皮的显卡可能具有某些限制,将较大的骨骼模型强制划分为多个网格,而这会降低系统效率. 此外,需要用转换过的皮肤构建阴影锥,但目前的显卡不允许重新获取经过处理的数据. 阴影锥的构建工作可完全由 GPU 承担,但如果遮蔽物存在复杂三角形计数,或者使用了大量的投影光源,这将无法改进性能. 鉴于以上原因,游戏 DOOM III 和 Quake 4 在 CPU 上运行大部分的管线,从而使游戏得以在各种系统配置上运行. 另外,运行于 CPU 上的管线几乎没有任何限制,SIMD 优化使管线可以与(部分)GPU 实施相媲美.
    渲染管线可分为四个基本阶段. 分别为动画,蒙皮,构建阴影锥以及裁切和描绘. 右图用大面积的浅灰色块显示了这些阶段. 每个阶段又细分为更小的步骤,斜框为处理的数据,深灰色方框内为处理该数据的例程. 方框黑色拐角处的数字与页面底部的文章相对应,这些文章对例程,以及如何使用英特尔 SIMD 流指令扩展指令集来优化这些例程进行了说明. 蓝色气球显示了,当在采用 90 纳米制程技术的英特尔 奔腾 4 处理器上比较活动高速缓存时钟周期时, SIMD 优化例程相对于 C/C++ 参考实施来说,加快了多少倍.
    动画系统可以融合一个或多个动画. 右图中仅显示了两个动画,实际上可以把更多的动画结合在一起,来创造复杂的动作. 动画是帧画面的序列. 每个帧画面定义骨骼的一个姿势,作为关节位置和方向的列表,这些方向采用四元数进行说明. 关节的位置和方向与骨骼层次中的父关节有关.
    点击查看大图.
    系统从动画中取出两个帧(时间 t0 与 t1),从而当前时间位于 t0 和 t1之间. 然后,系统在这两帧之间插入帧,从而为当前时间获取骨骼姿势. 将所有动画的插入帧进行演示,并组合在一起来获得骨骼的最终姿势. 将下一个关节位置和四元数转换成 3x4 的矩阵. 关节矩阵随它们的父关节矩阵一起转换,从而在模型空间创建骨骼.
    点击查看大图.
    模型空间里的骨骼用来制作三角形网格动画,通常称为蒙皮. 根据三角形网格的用途(如用于渲染,或用于创建阴影锥,或用于冲突检测),系统来决定蒙皮的最佳方式. 如果模型没有采用漫反射贴图,反射贴图和法线贴图进行渲染,则通常不需要计算顶点位置的法向量和切向量. 如果不需要制作动画或计算这些额外的顶点属性,则能够显著节省时间. 计算法向量和切向量的蒙皮方法要求对骨骼关节进行转换,从而使其与基本姿势的关节相关,该基本姿势被转换用来创建动画网格.
    点击查看大图.
    在下一阶段中,为每个与三角形网格进行相互作用的光源创建阴影锥. 阴影锥定义为在对象空间中,具有额外几何体的遮蔽物阴影空间里的区域. 可为点光源,聚光灯光源以及平行光源创建阴影锥,并通常生成像素精度的阴影而非硬边线的阴影(hard shadow). 在创建阴影锥之前,需要导出三角形网格中的三角形平面方程. 这些平面方程用来查找朝向或远离光源的三角形,并以此来确定阴影的几何轮廓线. 这些轮廓线是有光线和无光线三角形的边界.

    下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 DOC格式下载
  • 您可能感兴趣的
  • 动画  bl动画  动画片大全  斗龙战士动画片全集  蚂蚁公主动画片全集  动画片喜羊羊与灰太狼  卡通图片  动画片猫和老鼠  地下城与勇士动画片