我碰巧看到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等)。
有什么想法吗?
由于
答案 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%的亮度,不能说明颜色是变量。