Move current love.graphics.setStencilMode functionality to setStencilState.

Add new higher level love.graphics.setStencilMode function.
- Add love.graphics.setStencilMode(mode [, value = 1])
- Add love.graphics.setStencilMode().
- Add mode, value = love.graphics.getStencilMode().

The possible modes are "off" (same as no parameters), "draw", and "test".
The "draw" mode disables color writes and sets the stencil state to ("replace", "always") using the given value.
The "test" mode enables color writes and sets the stencil state to ("keep", "equal") using the given value to compare to.
This commit is contained in:
Sasha Szpakowski
2024-01-04 16:23:49 -04:00
parent 77c5ea1d6b
commit 9b5851e039
15 changed files with 166 additions and 46 deletions
+1 -1
View File
@@ -1001,7 +1001,7 @@ void Graphics::setScissor()
vkCmdSetScissor(commandBuffers.at(currentFrame), 0, 1, &scissor);
}
void Graphics::setStencilMode(StencilAction action, CompareMode compare, int value, love::uint32 readmask, love::uint32 writemask)
void Graphics::setStencilState(StencilAction action, CompareMode compare, int value, love::uint32 readmask, love::uint32 writemask)
{
if (action != STENCIL_KEEP)
{