我正在尝试使用libgdx形状渲染器绘制一条特定宽度的线。我遵循了link
问题是,如果我指定更多的线宽,即大于9,则不会显示增加的宽度。超过9我指定20或100像素,它将与9
具有相同的结果shapeRenderer.begin(ShapeType.Line);
shapeRenderer.line(50, 70, 0, 50, 200, 0, Color.BLUE, Color.RED);
int lineWidth = 20; // pixels
Gdx.gl10.glLineWidth(lineWidth / camera.zoom);
shapeRenderer.end();
由于 沙基尔
答案 0 :(得分:4)
查询支持的宽度范围和尺寸差异 支持范围内的宽度,使用参数调用glGet GL_ALIASED_LINE_WIDTH_RANGE,GL_SMOOTH_LINE_WIDTH_RANGE,和 GL_SMOOTH_LINE_WIDTH_GRANULARITY。
为了避免设备特定的行为,我使用四核。从小纹理中绘制1x1的正方形,然后定位,缩放(取决于您想要绘制的线条的宽度和高度),颜色并旋转它。
答案 1 :(得分:0)
您应该使用ShapaRenderer.rectLine。您可以看到更详细的答案here
答案 2 :(得分:0)
使用此
shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
instead of shapeRenderer.begin(ShapeType.Line);
答案 3 :(得分:0)
用你想要的线宽替换 10
Gdx.gl.glLineWidth(10 / camera.zoom);