我目前正在使用Java中的OpenGL设计自定义多边形。我已经定义了顶点并仔细检查了顶点是否正确。我做了一个测试,在显示 LINE 时可以看到我想要的正确设计。但是,当我显示为 FILL 时,十字形状 NOT 似乎是十字形的。
我已经定义了顶点1-16。 1从设计的底部开始(见图)。然后我逆时针调用矢量。显示线条的想象是我想要绘制的,看看顶点,看看我如何协调它。多边形是唯一没有正确显示的东西
屏幕截图
LINE:
DOT:
FILL:
CODE
// DECLARED VARIABLE
Vertex v1 = new Vertex(0.0f, -5.0f, 0.0f);
Vertex v2 = new Vertex(0.5f, -4.0f, 0.0f);
Vertex v3 = new Vertex(0.5f, -0.5f, 0.0f);
Vertex v4 = new Vertex(4.0f, -0.5f, 0.0f);
Vertex v5 = new Vertex(5.0f, 0.0f, 0.0f);
Vertex v6 = new Vertex(4.0f, 0.5f, 0.0f);
Vertex v7 = new Vertex(0.5f, 0.5f, 0.0f);
Vertex v8 = new Vertex(0.5f, 4.0f, 0.0f);
Vertex v9 = new Vertex(0.0f, 5.0f, 0.0f);
Vertex v10 = new Vertex(-0.5f, 4.0f, 0.0f);
Vertex v11 = new Vertex(-0.5f, 0.5f, 0.0f);
Vertex v12 = new Vertex(-4.0f, 0.5f, 0.0f);
Vertex v13 = new Vertex(-5.0f, 0.0f, 0.0f);
Vertex v14 = new Vertex(-4.0f, -0.5f, 0.0f);
Vertex v15 = new Vertex(-0.5f, -0.5f, 0.0f);
Vertex v16 = new Vertex(-0.5f, -4.0f, 0.0f);
// Draw Vertices anti clockwise
GL11.glBegin(GL11.GL_POLYGON); {
v1.submit();
v2.submit();
v3.submit();
v4.submit();
v5.submit();
v6.submit();
v7.submit();
v8.submit();
v9.submit();
v10.submit();
v11.submit();
v12.submit();
v13.submit();
v14.submit();
v15.submit();
v16.submit();
}
GL11.glEnd();
如果有人可以帮助我,我真的很感激。我感觉到我错过了什么。