【发布时间】:2010-11-14 17:57:52
【问题描述】:
我有点麻烦。
你看,当我用我的 renderMesh() 函数渲染我的模型时,游戏大约是 30fps。当渲染到显示列表并运行它时,fps 达到了大约 450fps。那是1500%的收益。这让我喜出望外,因为这意味着 OpenGL 不是导致延迟的原因,而是功能,可以优化。
但现在我想渲染一个蒙皮网格,所以我需要更新每帧的顶点位置,但没有别的了。所以运行 renderMesh() 会浪费时间,因为将所有面拼凑在一起的开销,等等......是不必要的。我想缓存这些数据,但由于顶点坐标不稳定,显示列表不起作用。
最好的解决方案是什么(除了优化我的 renderMesh(),无论如何我都会这样做)。
【问题讨论】:
-
当我们没有看到实际代码时,提出改进建议有点困难。如果您正在做简单的蒙皮,您甚至可以为它编写一个 GLSL 着色器来完成这项工作。
标签: c++ optimization opengl skinning