rj-action-library/Runtime/Shading/Generators/Spatial/Stencil/StencilModule.cs

29 lines
693 B
C#
Raw Normal View History

2025-09-17 08:25:03 +00:00
using Godot;
using System.Reflection;
using System.Collections.Generic;
namespace Rokojori
{
[Tool]
[GlobalClass]
public abstract partial class StencilModule:ShaderGenerationModule
{
public abstract StencilMode GetStencilMode();
public abstract BaseMaterial3D.StencilCompareEnum GetStencilCompare();
public abstract int GetStencilReference();
public string ToShaderCode()
{
var mode = StencilModeUtility.ConvertToShaderCode( GetStencilMode() );
var compare = StencilModeUtility.ConvertToShaderCode( GetStencilCompare() );
var reference = GetStencilReference();
return $"stencil_mode {mode}, {compare}, {reference};";
}
}
}