使用OpenGL ES,圆角矩形似乎有两个可行的选项:
第一个选项的问题是抗锯齿不是免费的,如果你的目标是与各种各样的设备兼容,那么就不能指望OpenGL抗锯齿提示来实际在硬件上工作。所以你留下看起来不连贯的圆角矩形,特别是对于小矩形,以及制作另一个顶点数组绘制调用的性能开销。我想改掉这个
第二个选项(9-Slice或9-Patch)似乎是UI圆形rect元素的首选方法,但是关于在OpenGL ES中实现9-patching的信息却很少。
我想要的是:在OpenGL ES中渲染抗锯齿圆角矩形的有效策略,可调节边框宽度,边框颜色和填充颜色。有什么建议吗?
答案 0 :(得分:2)
您想要的本质上是一种名为 Edge Anti-Aliasing 的技术。
在这个答案中很好地描述了它:OpenGL ES iPhone - drawing anti aliased lines
只需在矩形的最外边界处应用透明顶点。