【发布时间】:2013-05-12 09:30:16
【问题描述】:
我正在开发一款包含大量旋转变换的游戏,但我遇到了一个看似很简单的问题 - 我认为我做错了什么。
我用 ShapeRenderer 画一个三角形,如下所示:
shapeRend.begin(ShapeType.Filled);
shapeRend.setColor(1, 1, 1, 1);
shapeRend.identity();
shapeRend.translate(xx, yy, 0);
shapeRend.rotate(0, 0, 1, angle);
shapeRend.triangle(-.08f, -.08f, .08f, -.08f, 0, +.08f);
shapeRend.end();
shapeRend.identity();
这一切都很好而且很漂亮,但是我有一些我在其他地方绘制的网格。对于这个三角形上的任何变换(我假设所有的 shaperenderer)发生然后被绘制,这些变换会影响所有的网格。这是一个真正的痛苦。
由于网格上的转换是通过实际更改顶点来处理的(我可以在源代码中看到),我认为在 ShapeRenderer 转换后没有重置 OpenGL 转换的情况下,还有其他事情在起作用?这非常令人沮丧,它看起来确实像一个小故障,但它会是一个相当大的故障,因为我看不到它直到现在才被发现。有什么建议吗?
我在使用 OpenGL ES 1.x 的“最新”夜间构建的 LibGDX 上运行
【问题讨论】:
标签: java opengl-es libgdx transformation mesh