【发布时间】:2016-01-12 15:43:37
【问题描述】:
我创建了一个在绘制的纹理周围绘制黑色边框的方法。然而,边界线确实在拐角处产生了小间隙。我认为这与边框的宽度有关,并试图将边框宽度添加到线条的长度上,但这会使它们在某些边框宽度值下变短,而在其他边框宽度值下变大。
public static void DrawBorder(float x, float y, float width, float height) {
float borderWidth = 10.0f;
glColor3f(0, 0, 0);
glLineWidth(borderWidth);
glTranslatef(x, y, 0);
glBegin(GL_LINE_LOOP);
glVertex2f(0, 0);
glVertex2f(width, 0);
glVertex2f(width, height);
glVertex2f(0, height);
glEnd();
glColor3f(255, 255, 255);
}
【问题讨论】:
-
尝试启用抗锯齿,看看是否有帮助 (
glEnable(GL_LINE_SMOOTH)) -
不幸的是它没有。
-
尝试使用
GL_LINE_LOOP而不是GL_LINES绘图。这样您也不必重复每个顶点。 -
这确实修复了双顶点,但角仍然相同。
标签: java opengl graphics geometry lwjgl