给Libgdx的ShapeRenderer开启抗锯齿

http://blog.rpsg-team.com/?p=134

————————————————————————————————————————————————————————————————————————

gdx引擎有一个ShapeRenderer类,他可以绘制一些最基本的图形,如矩形、线、圆形等,而不需要我们手动的设置一个个的opengl顶点和索引,有时候这些基本图形会有大用处。

今天突然有需求,所以把这货祭了出来——用它来画一个圆形。

可是画出来后,看到是这样我瞬间就打算报警

QQ截图20141230205850

如上图,这个可爱的圆形被一坨锯齿给缠绕了。

随即,我立马祭出了stackoverflow,搜了一番,结果别人的回答是(译):

ShapeRenderer只能绘制简单基础的图形,所以无法抗锯齿,要想抗锯齿,请使用图片代替。

123放屁,老子要画扇形,你告诉我怎么要用图片代替(

然后搜寻了一堆替代方法,比如用path来画,最后机智的我在badlogic博客上面找到了一篇。

不卖关子了,其实开启抗锯齿很简单,我们在main方法里会new一个xxxAppcation,这时会传入一个LwjglApplicationConfiguration配置文件,我们在配置文件里找到samples这个配置,把他改为10即可。

结果如图

QQ截图20141230210449

okay_(:3」∠)_

那么额外的说说这个是怎么回事吧,其实很简单,就是开启了你显卡抗锯齿功能。

当sample不为0是,则默认开启MSAA抗锯齿,当然如果你的显卡不支持MSAA,也会开启其他模式的抗锯齿(CSAA),总之兼容性应该没有任何问题,可以放心使用。

而性能也可以放心,毕竟只是画个圆而已,如果你程序里面几十几百万个圆那我没办法。

原文地址:https://www.cnblogs.com/cuizhf/p/4986019.html