在Love2D中将多边形裁剪为仅在圆内绘制

3
我正在尝试绘制一个圆,其上填充有随机生成的多边形,但我无法确定如何使这些多边形仅绘制在圆的上方。
以下是一个示例:

enter image description here

我已经使用love.graphics.polygon()函数和一组随机生成的点在圆上绘制了随机多边形,但我正在寻找一种方法,在绘制时对它们进行裁剪,使它们只填充在圆的上方。以下是我目前所拥有的内容:

enter image description here

所以,我的问题是:是否有一个函数可以在love.draw函数中调用,将绘制的多边形超出范围的部分剪切掉,或者修复起来比这更困难?谢谢!

其实,我可能已经找到了答案。等我有一个可行的解决方案后,我会发布它。 - user3482098
1个回答

2
原来我只需要花一分钟看一下love.graphics文档就行了。无论如何,love.graphics.stencil()函数及其对应的love.graphics.setStencilTest()函数正是我所需。
你可以将圆形的绘制函数传递给love.graphics.stencil()函数,并使用setStencilTest()函数使其不绘制圆形函数外部的像素。文档中有一些很好的例子。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接