在Love2D中将多边形剪裁为圆形内部的方法

我正在尝试绘制一个圆形,并在其上方绘制填充的随机生成的多边形,但我无法找出如何使多边形仅在圆形上方绘制。

下面是一个示例的草图:

enter image description here

我已经使用love.graphics.polygon()函数和一组随机生成的点来实现了一个随机多边形绘制在圆形上的效果,但我正在寻找一种剪切它们的方法,使它们仅填充在圆形上方。

下面是我目前已经实现的效果:

enter image description here

因此,我的问题是:是否有一个函数可以在love.draw函数中调用,将绘制在范围外的多边形部分裁剪掉,或者修复它比这更困难?

预先感谢!

点赞
用户88888888
用户88888888

原来,我只需要花一分钟查看 love.graphics 的文档就好了。不管怎么样,love.graphics.stencil() 函数以及它的配套函数 love.graphics.setStencilTest() 正是我所需要的。

你可以将圆形的绘制函数传递给 love.graphics.stencil() 函数,然后使用 setStencilTest() 函数,可以使它不绘制圆形函数之外的像素。文档中有一些很好的例子。

2017-10-20 09:55:58