MeshBuilder在PlayN中做了什么

时间:2014-05-09 05:27:13

标签: java playn

我碰巧看到PlayN框架开发的以下代码。我没有得到以下代码所做的事。

meshBuilder.begin(MeshBuilder.Mode.TRIANGLE_FAN, MeshBuilder.OPTION_COLOR);
    meshBuilder.color3f(color[0] * 0.2f, color[1] * 0.2f, color[2] * 0.2f);
    int i;
    for (i = 0; i < 3; i++) {
      DynamicLight.v[i] = origin[i] - GlState.vpn[i] * rad;
    }

    meshBuilder.vertex3f(DynamicLight.v[0], DynamicLight.v[1], DynamicLight.v[2]);
    meshBuilder.color3f(0, 0, 0);

它在上面的代码中构建了什么类型的网格。我提到了API,但没有得到太多。 MeshBuilder.java in PlayN

我刚刚比较了libgdx中的MeshBulder,它可用于创建网格(cirlce,arrow等)。

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:1)

所以Stephan Haustein使用PlayN来port over Quake 2!而不是重建游戏,将OpenGL 1.1命令映射到OpenGL 2.0更容易。这是链接代码的用途。它允许您在大部分java代码库中指向使用glBegin和glEnd的代码,以便最终能够在浏览器中运行或者在android上运行。如果您对OpenGL2.0 ES更熟悉,那么您可以参加历史课,看看以前是如何完成的。

http://en.wikibooks.org/wiki/OpenGL_Programming/GLStart/Tut3

这不会直接回答您的问题,但它会为您提供自行回答的工具。

修改

由于你还没有将我的答案标记为正确,它绘制的实际形状只是可能是三角形的第一个顶点,但可能是更大的形状。见http://en.wikipedia.org/wiki/Triangle_fan。因为它没有任何吸引力。它准备绘制的颜色非常暗,只有20%的亮度,不能说明颜色是变量。