如何使用OpenGL将2D艺术分解为三角形

时间:2012-10-18 17:29:16

标签: opengl 2d box2d textures

我有2d角色艺术将被映射到Box2d骨架。例如,角色的手臂可以是2个与肘部关节连接的物理矩形。每个矩形都有自己对应的艺术精灵。下臂的艺术不是完全矩形的。它可能是一个长方形的png源,但是会有很多负空间,不一定要画出手臂。

我的问题是将2d艺术分解为三角形的最佳方法是什么?我应该将所有平面精灵视为由2个三角形组成的简单矩形,留下大量的alpha空间吗?或者最好将形状分解为多个三角形并尝试匹配实际形状(可能与三角形扇形)?每种方法可能有哪些优点/缺点?我将更新纹理,因为角色会发生各种各样的事情。

以下是我所说的内容的说明:

img

(红色方块是物理形状,蓝色线条是可能的三角形配置)

1 个答案:

答案 0 :(得分:1)

较少的几何形状通常对性能更好(左起第3位)。

“精确”三角测量(左起第4个)对于高保真碰撞检测(反射闪亮小行星的激光?)非常有用。

小心频繁的纹理更新。 glTexSubImage2d()是要走的路。

如果你的GL实现支持它,你可以进行异步上传using PBOs