剪切多边形以仅在Love2D中的圆内绘制

时间:2017-10-20 09:13:48

标签: graphics lua drawing love2d

我正在尝试绘制一个圆形,其上面绘制了填充的,随机生成的多边形,但我无法弄清楚如何制作它以便多边形仅绘制在圆形顶部。

这是一个模型作为例子:

enter image description here

我已经实现了在圆上绘制的随机多边形,使用love.graphics.polygon()函数和一组随机生成的点,但我正在寻找一种在绘制它们时剪切它们的方法,以便它们“只填充在圈子的顶部。”

这是我到目前为止所得到的:

enter image description here

所以,我的问题是:我是否可以在love.draw函数中调用一个函数来剪切在一个范围之外绘制的多边形的部分,或者它是否会比那个更难修复? / p>

提前致谢!

1 个答案:

答案 0 :(得分:2)

事实证明我可以花一分钟时间查看love.graphics文档。无论如何,love.graphics.stencil()函数及其对应love.graphics.setStencilTest()正是我所需要的。

您可以将圆的绘图功能传递给love.graphics.stencil()函数,使用setStencilTest(),可以使其不在该圆函数之外绘制像素。文档有一些很好的例子。