6.4  基于动态纹理的角色绘制算法实现

6.4 基于动态纹理的角色绘制算法实现

本章针对大量动态角色的实时绘制问题,提出一种基于动态纹理的快速绘制方法,通过Billboard技术和动态纹理技术的结合,在保持Billboard渲染技术的高效性的同时,实现了运动角色的动态渲染。图6-5所示为运动角色绘制的数据流图。

978-7-111-33883-3-Chapter06-7.jpg

图6-5 运动角色绘制的数据流图

本章基于动态纹理的角色绘制算法实现可以总结为:

(1)初始化过程。加载角色动作驱动信息,计算关键帧动作状态数据;在显存中申请纹理空间和离屏渲染对象FBO,并绑定纹理到FBO上;设定场景参数、观察者位置等参数;加载三维场景,计算各运动角色位置;加载图像变形GPU顶点计算程序;加载场景渲染计算GPGPU顶点程序。

(2)每一帧的渲染过程。首先,根据当前程序运行时间,查找前后关键动作状态,计算当前时刻的关节点数据;然后,设置渲染对象为FBO离屏缓冲区,启用图像变形GPGPU顶点程序,计算角色图像变形网格,完成图像变形并生成动态纹理;最后,重置渲染对象为屏幕缓冲区,启用场景渲染Billboard顶点计算GPGPU顶点程序,渲染三维角色运动场景。