using System.Collections; using System.Collections.Generic; using System.Text.RegularExpressions; using System.Text; using Godot; namespace Rokojori { public class FresnelOverlay { public static readonly CachedResource shader = new CachedResource( "res://addons/rokojori_action_library/Runtime/Shading/Shaders/Effects/FresnelOverlay/FresnelOverlay.gdshader" ); public static readonly ColorPropertyName albedo = ColorPropertyName.Create( "albedo" ); public static readonly Texture2DPropertyName textureAlbedo = Texture2DPropertyName.Create( "texture_albedo" ); public static readonly FloatPropertyName grow = FloatPropertyName.Create( "grow" ); public static readonly FloatPropertyName fresnelSharpness = FloatPropertyName.Create( "fresnelSharpness" ); public static readonly FloatPropertyName fresnelMultiply = FloatPropertyName.Create( "fresnelMultiply" ); public static readonly FloatPropertyName fresnelOffset = FloatPropertyName.Create( "fresnelOffset" ); } public partial class FresnelOverlayMaterial:CustomMaterial { public readonly CustomMaterialProperty albedo; public readonly CustomMaterialProperty textureAlbedo; public readonly CustomMaterialProperty grow; public readonly CustomMaterialProperty fresnelSharpness; public readonly CustomMaterialProperty fresnelMultiply; public readonly CustomMaterialProperty fresnelOffset; public FresnelOverlayMaterial() { Shader = FresnelOverlay.shader.Get(); albedo = new CustomMaterialProperty( this, FresnelOverlay.albedo ); textureAlbedo = new CustomMaterialProperty( this, FresnelOverlay.textureAlbedo ); grow = new CustomMaterialProperty( this, FresnelOverlay.grow ); fresnelSharpness = new CustomMaterialProperty( this, FresnelOverlay.fresnelSharpness ); fresnelMultiply = new CustomMaterialProperty( this, FresnelOverlay.fresnelMultiply ); fresnelOffset = new CustomMaterialProperty( this, FresnelOverlay.fresnelOffset ); } } }