6.3.4  基于动态纹理的角色绘制

6.3.4 基于动态纹理的角色绘制

基于Billboard的图像渲染有两种数据需要计算,一种是Billboard的顶点坐标,另一种是Billboard的纹理坐标。根据Billboard位置计算其顶点坐标的方法如图6-3所示,点P为眼坐标位置,四边形ABCD表示Billboard面板,该面板朝向眼位置,其底线ABPRABCD四个顶点的坐标计算方法为:

(1)根据Billboard的宽度和所处位置R计算水平线EF的两点坐标;

(2)根据视方向角α计算底线上的两顶点AB的坐标;

(3)根据Billboard的高计算CD两顶点的坐标。

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

图6-3 Billboard顶点坐标计算示意图

因为绑定到FBO的纹理是规则纹理,而角色图像一般不能与纹理正好大小相符,只有动态纹理的一部分是角色图像的有效区域。如图6-4所示为有效区域纹理坐标计算示意图,其中外框ABCD表示FBO绑定纹理的有效大小,EFGH为运动角色的有效范围,亦即将最终贴图到角色替代Billboard上的内容部分。以点G为例,该点将贴图到Bill-board的右下顶点,该顶点的纹理坐标可由式(6-1)计算得出。

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

依次计算各角色的替代Billboard,依据其位置坐标和动态纹理的有效区域纹理坐标,将由运动角色生成的动态纹理贴图到Billboard上,并渲染到三维场景中,最终生成所期望的大规模运动角色场景。

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

图6-4 动态纹理坐标计算示意图