 | 概述 作者:Leigh Davies
逼真的 3D 角色模型在许多计算机游戏中的作用越来越重要。有机模型(如人)比刚体更难渲染,这是因为定义模型形状的网格会随着模型动画制作而不断改变。这种动画网格称为“蒙皮”,因为它会受到对象基础结构的影响;“贴皮”是使制作网格动画的过程。过去,贴皮是在 CPU 中完成的。随着模型变得越来越复杂,贴皮改在使用顶点着色器级硬件的视频卡上完成。但是,在 CPU 上执行贴皮还是有一定优势的,这也是本文介绍的重点。本文还详细说明了使用浮点 SIMD 流指令扩展(SSE)指令(可以在英特尔® 奔腾® III 处理器和更高级别的处理器上找到)进行基于 CPU 贴皮的最佳方法。与最初的 C 语言实现相比,这种优化的解决方案至少增加了一倍的性能,而且它也是替代顶点着色器贴皮技术的一种灵活且有效的方法。此外,我们还将讨论如何通过增加多线程支持来提高这种优化的 CPU 贴皮解决方案,以及贴皮算法的多线程处理中涉及的细微差别。
|