基于GPU的动态头发渲染
2012-08-20陈利学
网络安全与数据管理 2012年3期
关键词:模型
毛 伟,陈利学
(西南石油大学 计算机科学学院,四川 成都 610500)
头发渲染在图形图像渲染中越来越受到人们的关注。在当今人体虚拟和仿真技术里,头发可以给人体模型一种真实感,而且在电影和动画游戏领域里都有广泛的应用。动态三维头发渲染一直是计算机图形学的一大难题,头发的最终形态、光泽度、颜色以及种类数量都是非常难以控制的。本文讨论了基于GPU编程技术的高质量动态头发实时渲染,其中主要讨论和解决了动态头发的建模、动力学和碰撞以及最终的着色渲染几个关键问题。
1动态头发的建模
1.1 控制头发
受控发丝的结构用于粗略地描绘整个发型。从Maya内建的表示“头皮”的专用几何体(渲染时不可见)“生长”出受控发丝。受控发丝从头皮的每个顶点沿着法线生长出来。为了程序上能让头发运动,一旦有了一组受控发丝,就让它们服从物理、动力学和碰撞的计算。在模拟头发运动的系统里,运动完全依赖于动力学,它是一个人工控制系统,需要能“假造”或者“修正”头发的行为。
1.2 数据流
头发几乎每一帧都有动作和变化,所以需要在每一帧中重建最终渲染头发的集合。要得到平滑曲线,首先将动态受控的受控发丝转换成贝塞尔曲线,并镶嵌成平滑线条,然后通过插值来增加头发的密度,插值后的头发集合被送到引擎来做最终帧的渲染。其中使用了一个动态的顶点缓冲区来容纳这些顶点数据。
1.3 镶嵌和插值
1.3.1 镶嵌
头发的镶嵌处理是通过在每根受控发丝上添加顶点以平滑化受控发丝来完成的。……
登录APP查看全文
