我有这一行代码: Gdx.gl10.glLineWidth(width); 现在,我打算画一条非常粗的线,但是当我输入像1或5这样的小值时,线条显然很小。 但是一旦我超过10之类的值,它就不再变大了。 在这些情况下,我传递直接值,因此我认为GL有一个限制或什么...... 我的代码如下:
Gdx.gl.glClearColor(0,0,0,1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
batch.setProjectionMatrix(cam.combined);
batch.begin();
batch.draw(bg,0,0,WIDTH,HEIGHT);
for(Spell a : spells){
a.draw(batch);
}
lc.draw(batch);
batch.end();
//((ppux+ppuy)/2f)*4
Gdx.gl10.glLineWidth(50);//average and then say 1/4 a unit)
renderer.setProjectionMatrix(cam.combined);
renderer.begin(ShapeType.Line);
lp.drawLines(renderer);
renderer.end();
batch.begin();
lp.draw(batch);
batch.end();
lp.drawLines(renderer) 调用以下函数(我只调用设置颜色和绘制线条):
renderer.setColor(1,1,1,1);
Elem a = elems.get(spellcombo.get(0));
Vector2 last = new Vector2(a.x(),a.y());
for(int i = 1; i < spellcombo.size(); i++){
a = elems.get(spellcombo.get(i));
Vector2 cur = new Vector2(a.x(),a.y());
renderer.line(last.x, last.y, cur.x, cur.y);
last = cur;
}
renderer.line(last.x,last.y,mx,my);
Gdx.gl.glEnable(GL10.GL_BLEND);
Gdx.gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
renderer.setColor(1, 0, 0, .2f);
for(Elem e : elems){
int id = elems.indexOf(e);
if(ComboManager.validSpell(spellcombo,id))
renderer.line(last.x,last.y,e.x(),e.y());
}
屏幕截图:
glLineWidth()设置为1的图像 glLineWidth()设置为5的图像 glLineWidth()设置为10的图像 glLineWidth()设置为20的图像 glLineWidth()设置为200的图像 我不知道如何解决这个问题,而且谷歌也没有特别有用的信息。谢谢!