diff --git a/Icons/AntiAliasingCompositorEffect.svg b/Icons/AntiAliasingCompositorEffect.svg
new file mode 100644
index 0000000..74dd741
--- /dev/null
+++ b/Icons/AntiAliasingCompositorEffect.svg
@@ -0,0 +1,297 @@
+
+
diff --git a/Icons/AntiAliasingCompositorEffect.svg.import b/Icons/AntiAliasingCompositorEffect.svg.import
new file mode 100644
index 0000000..3e70699
--- /dev/null
+++ b/Icons/AntiAliasingCompositorEffect.svg.import
@@ -0,0 +1,43 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://yh82stjhxxuj"
+path="res://.godot/imported/AntiAliasingCompositorEffect.svg-a0b842f1b8dae3f53d9f7cd62c496350.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/AntiAliasingCompositorEffect.svg"
+dest_files=["res://.godot/imported/AntiAliasingCompositorEffect.svg-a0b842f1b8dae3f53d9f7cd62c496350.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/BlurSharpenCompositorEffect.svg b/Icons/BlurSharpenCompositorEffect.svg
new file mode 100644
index 0000000..3db8a8d
--- /dev/null
+++ b/Icons/BlurSharpenCompositorEffect.svg
@@ -0,0 +1,323 @@
+
+
diff --git a/Icons/BlurSharpenCompositorEffect.svg.import b/Icons/BlurSharpenCompositorEffect.svg.import
new file mode 100644
index 0000000..5676ded
--- /dev/null
+++ b/Icons/BlurSharpenCompositorEffect.svg.import
@@ -0,0 +1,43 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c3a21lox80di6"
+path="res://.godot/imported/BlurSharpenCompositorEffect.svg-15f40dd22123cf70ae3b0529a4690f2e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/BlurSharpenCompositorEffect.svg"
+dest_files=["res://.godot/imported/BlurSharpenCompositorEffect.svg-15f40dd22123cf70ae3b0529a4690f2e.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/ColorCompositorEffect.svg b/Icons/ColorCompositorEffect.svg
new file mode 100644
index 0000000..03212c6
--- /dev/null
+++ b/Icons/ColorCompositorEffect.svg
@@ -0,0 +1,451 @@
+
+
diff --git a/Icons/ColorCompositorEffect.svg.import b/Icons/ColorCompositorEffect.svg.import
new file mode 100644
index 0000000..4d1f00a
--- /dev/null
+++ b/Icons/ColorCompositorEffect.svg.import
@@ -0,0 +1,43 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b48gxj12y51q6"
+path="res://.godot/imported/ColorCompositorEffect.svg-d1aab95bbe1433bd653f53743a1a26ca.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/ColorCompositorEffect.svg"
+dest_files=["res://.godot/imported/ColorCompositorEffect.svg-d1aab95bbe1433bd653f53743a1a26ca.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/CompositorEffect.svg b/Icons/CompositorEffect.svg
new file mode 100644
index 0000000..df18260
--- /dev/null
+++ b/Icons/CompositorEffect.svg
@@ -0,0 +1,278 @@
+
+
diff --git a/Icons/CompositorEffect.svg.import b/Icons/CompositorEffect.svg.import
new file mode 100644
index 0000000..2f227a7
--- /dev/null
+++ b/Icons/CompositorEffect.svg.import
@@ -0,0 +1,43 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cgkgrlix8ihfq"
+path="res://.godot/imported/CompositorEffect.svg-489e1165c864e44efa8af4cdc9372c3b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/CompositorEffect.svg"
+dest_files=["res://.godot/imported/CompositorEffect.svg-489e1165c864e44efa8af4cdc9372c3b.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/DistortionCompositorEffect.svg b/Icons/DistortionCompositorEffect.svg
new file mode 100644
index 0000000..de4f6f5
--- /dev/null
+++ b/Icons/DistortionCompositorEffect.svg
@@ -0,0 +1,472 @@
+
+
diff --git a/Icons/DistortionCompositorEffect.svg.import b/Icons/DistortionCompositorEffect.svg.import
new file mode 100644
index 0000000..e76237b
--- /dev/null
+++ b/Icons/DistortionCompositorEffect.svg.import
@@ -0,0 +1,43 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bi7sghep5p1qf"
+path="res://.godot/imported/DistortionCompositorEffect.svg-2e6e7cca9ee26b3d8ca564c5f0552d05.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/DistortionCompositorEffect.svg"
+dest_files=["res://.godot/imported/DistortionCompositorEffect.svg-2e6e7cca9ee26b3d8ca564c5f0552d05.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/EdgeCompositorEffect.svg b/Icons/EdgeCompositorEffect.svg
new file mode 100644
index 0000000..fef78ef
--- /dev/null
+++ b/Icons/EdgeCompositorEffect.svg
@@ -0,0 +1,484 @@
+
+
diff --git a/Icons/EdgeCompositorEffect.svg.import b/Icons/EdgeCompositorEffect.svg.import
new file mode 100644
index 0000000..d9a1761
--- /dev/null
+++ b/Icons/EdgeCompositorEffect.svg.import
@@ -0,0 +1,43 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bksmy4e1dbgpx"
+path="res://.godot/imported/EdgeCompositorEffect.svg-bdd61a888faeee3a68d9cb1f0b4e2a28.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/EdgeCompositorEffect.svg"
+dest_files=["res://.godot/imported/EdgeCompositorEffect.svg-bdd61a888faeee3a68d9cb1f0b4e2a28.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/GlowCompositorEffect.svg b/Icons/GlowCompositorEffect.svg
new file mode 100644
index 0000000..5db8460
--- /dev/null
+++ b/Icons/GlowCompositorEffect.svg
@@ -0,0 +1,502 @@
+
+
diff --git a/Icons/GlowCompositorEffect.svg.import b/Icons/GlowCompositorEffect.svg.import
new file mode 100644
index 0000000..6a97799
--- /dev/null
+++ b/Icons/GlowCompositorEffect.svg.import
@@ -0,0 +1,43 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cfubhtaaicl27"
+path="res://.godot/imported/GlowCompositorEffect.svg-013b867a484d69b5f1368a9e89925f87.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/GlowCompositorEffect.svg"
+dest_files=["res://.godot/imported/GlowCompositorEffect.svg-013b867a484d69b5f1368a9e89925f87.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/NoiseCompositorEffect.svg b/Icons/NoiseCompositorEffect.svg
new file mode 100644
index 0000000..a4d55d5
--- /dev/null
+++ b/Icons/NoiseCompositorEffect.svg
@@ -0,0 +1,514 @@
+
+
diff --git a/Icons/NoiseCompositorEffect.svg.import b/Icons/NoiseCompositorEffect.svg.import
new file mode 100644
index 0000000..7d7a973
--- /dev/null
+++ b/Icons/NoiseCompositorEffect.svg.import
@@ -0,0 +1,43 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dplrfkmejck4n"
+path="res://.godot/imported/NoiseCompositorEffect.svg-6e699abe297c7237403c9558cf214d37.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/NoiseCompositorEffect.svg"
+dest_files=["res://.godot/imported/NoiseCompositorEffect.svg-6e699abe297c7237403c9558cf214d37.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/OverlayCompositorEffect.svg b/Icons/OverlayCompositorEffect.svg
new file mode 100644
index 0000000..49f8a8d
--- /dev/null
+++ b/Icons/OverlayCompositorEffect.svg
@@ -0,0 +1,530 @@
+
+
diff --git a/Icons/OverlayCompositorEffect.svg.import b/Icons/OverlayCompositorEffect.svg.import
new file mode 100644
index 0000000..dc45c32
--- /dev/null
+++ b/Icons/OverlayCompositorEffect.svg.import
@@ -0,0 +1,43 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cluoqf6ivy3v6"
+path="res://.godot/imported/OverlayCompositorEffect.svg-4ed6b952a08ec90eeae0f49a45ed1dbb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/OverlayCompositorEffect.svg"
+dest_files=["res://.godot/imported/OverlayCompositorEffect.svg-4ed6b952a08ec90eeae0f49a45ed1dbb.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Icons/WipeCompositorEffect.svg b/Icons/WipeCompositorEffect.svg
new file mode 100644
index 0000000..d47ddde
--- /dev/null
+++ b/Icons/WipeCompositorEffect.svg
@@ -0,0 +1,544 @@
+
+
diff --git a/Icons/WipeCompositorEffect.svg.import b/Icons/WipeCompositorEffect.svg.import
new file mode 100644
index 0000000..655acd6
--- /dev/null
+++ b/Icons/WipeCompositorEffect.svg.import
@@ -0,0 +1,43 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://mwv1d5ossbre"
+path="res://.godot/imported/WipeCompositorEffect.svg-c07b9d6ca896510204062cb60a712783.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Icons/WipeCompositorEffect.svg"
+dest_files=["res://.godot/imported/WipeCompositorEffect.svg-c07b9d6ca896510204062cb60a712783.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Runtime/Godot/Extensions/CurveExtensions.cs b/Runtime/Godot/Extensions/CurveExtensions.cs
index 155a31f..2758600 100644
--- a/Runtime/Godot/Extensions/CurveExtensions.cs
+++ b/Runtime/Godot/Extensions/CurveExtensions.cs
@@ -26,5 +26,54 @@ namespace Rokojori
return curve;
}
+
+ public static Curve WithDomainRange( this Curve curve, float min, float max )
+ {
+ curve.MinDomain = min;
+ curve.MaxDomain = max;
+
+ return curve;
+ }
+
+ public static Curve WithValueRange( this Curve curve, float min, float max )
+ {
+ curve.MinValue = min;
+ curve.MaxValue = max;
+
+ return curve;
+ }
+
+ public static Curve WithLinearTangents( this Curve curve )
+ {
+ var points = curve.PointCount;
+
+ for ( int i = 0; i < points; i++ )
+ {
+ if ( i > 0 )
+ {
+ curve.SetPointLeftTangent( i, curve.GetPointPosition( i ).Y - curve.GetPointPosition( i - 1 ).Y );
+ }
+
+ if ( i < ( points - 1 ) )
+ {
+ curve.SetPointRightTangent( i, curve.GetPointPosition( i + 1 ).Y - curve.GetPointPosition( i ).Y );
+ }
+ }
+
+ for ( int i = 0; i < points; i++ )
+ {
+ if ( i > 0 )
+ {
+ curve.SetPointLeftMode( i, Curve.TangentMode.Linear );
+ }
+
+ if ( i < ( points - 1 ) )
+ {
+ curve.SetPointRightMode( i, Curve.TangentMode.Linear );
+ }
+ }
+
+ return curve;
+ }
}
}
\ No newline at end of file
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/AlphaGrabTest/AlphaGrabTestShader.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/AlphaGrabTest/AlphaGrabTestShader.glsl.import
deleted file mode 100644
index 891b658..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/AlphaGrabTest/AlphaGrabTestShader.glsl.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="glsl"
-type="RDShaderFile"
-uid="uid://b0sbxsqka4svp"
-path="res://.godot/imported/AlphaGrabTestShader.glsl-5702cdc3b0621155b6f7f01fc32fd0e7.res"
-
-[deps]
-
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/AlphaGrabTest/AlphaGrabTestShader.glsl"
-dest_files=["res://.godot/imported/AlphaGrabTestShader.glsl-5702cdc3b0621155b6f7f01fc32fd0e7.res"]
-
-[params]
-
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/AntiAliasingEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/AntiAliasingEffect.cs
new file mode 100644
index 0000000..e27ff37
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/AntiAliasingEffect.cs
@@ -0,0 +1,14 @@
+
+using Godot;
+using Godot.Collections;
+using System.Collections.Generic;
+
+namespace Rokojori
+{
+ [Tool]
+ [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/AntiAliasingCompositorEffect.svg")]
+ public abstract partial class AntiAliasingEffect:RDGraphCompositorEffect
+ {
+
+ }
+}
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/AntiAliasingEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/AntiAliasingEffect.cs.uid
new file mode 100644
index 0000000..2ec1620
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/AntiAliasingEffect.cs.uid
@@ -0,0 +1 @@
+uid://csxp0h2kn63cm
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/DAA/DAAEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/DAA/DAAEffect.cs
index e7537be..a291ce7 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/DAA/DAAEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/DAA/DAAEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class DAAEffect:RDGraphCompositorEffect
+ public partial class DAAEffect:AntiAliasingEffect
{
public DAAEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/FXAA/FXAAEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/FXAA/FXAAEffect.cs
index d001975..c1766d8 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/FXAA/FXAAEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/FXAA/FXAAEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class FXAAEffect:RDGraphCompositorEffect
+ public partial class FXAAEffect:AntiAliasingEffect
{
public FXAAEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/BlurOrSharpenEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/BlurOrSharpenEffect.cs
new file mode 100644
index 0000000..3894445
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/BlurOrSharpenEffect.cs
@@ -0,0 +1,14 @@
+
+using Godot;
+using Godot.Collections;
+using System.Collections.Generic;
+
+namespace Rokojori
+{
+ [Tool]
+ [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/BlurSharpenCompositorEffect.svg")]
+ public abstract partial class BlurOrSharpenEffect:RDGraphCompositorEffect
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/BlurOrSharpenEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/BlurOrSharpenEffect.cs.uid
new file mode 100644
index 0000000..3d2abaa
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/BlurOrSharpenEffect.cs.uid
@@ -0,0 +1 @@
+uid://dnoj3i1oh5imk
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/BoxBlur/BoxBlurEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/BoxBlur/BoxBlurEffect.cs
similarity index 97%
rename from Runtime/Rendering/Compositor/CompositorEffects/BoxBlur/BoxBlurEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/BoxBlur/BoxBlurEffect.cs
index d87fbac..a51b0ee 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/BoxBlur/BoxBlurEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/BoxBlur/BoxBlurEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class BoxBlurEffect:RDGraphCompositorEffect
+ public partial class BoxBlurEffect:BlurOrSharpenEffect
{
public BoxBlurEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/BoxBlur/BoxBlurEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/BoxBlur/BoxBlurEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/BoxBlur/BoxBlurEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/BoxBlur/BoxBlurEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/RadialBlur2/RadialBlur2.cs b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/RadialBlur2/RadialBlur2.cs
similarity index 95%
rename from Runtime/Rendering/Compositor/CompositorEffects/RadialBlur2/RadialBlur2.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/RadialBlur2/RadialBlur2.cs
index 6ab2650..2e318df 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/RadialBlur2/RadialBlur2.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/RadialBlur2/RadialBlur2.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class RadialBlur2:RDGraphCompositorEffect
+ public partial class RadialBlur2:BlurOrSharpenEffect
{
public RadialBlur2():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/RadialBlur2/RadialBlur2.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/RadialBlur2/RadialBlur2.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/RadialBlur2/RadialBlur2.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/RadialBlur2/RadialBlur2.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Sharpen/SharpenEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/Sharpen/SharpenEffect.cs
similarity index 95%
rename from Runtime/Rendering/Compositor/CompositorEffects/Sharpen/SharpenEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/Sharpen/SharpenEffect.cs
index 28dc960..caf8f8f 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Sharpen/SharpenEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/Sharpen/SharpenEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class SharpenEffect:RDGraphCompositorEffect
+ public partial class SharpenEffect:BlurOrSharpenEffect
{
public SharpenEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Sharpen/SharpenEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/Sharpen/SharpenEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/Sharpen/SharpenEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/Sharpen/SharpenEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/TemporalBlur/TemporalBlurEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/TemporalBlur/TemporalBlurEffect.cs
new file mode 100644
index 0000000..01b1264
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/TemporalBlur/TemporalBlurEffect.cs
@@ -0,0 +1,58 @@
+
+using Godot;
+using Godot.Collections;
+using System.Collections.Generic;
+
+namespace Rokojori
+{
+ [Tool]
+ [GlobalClass]
+ public partial class TemporalBlurEffect:BlurOrSharpenEffect
+ {
+ public TemporalBlurEffect():base()
+ {
+ Initialize();
+ }
+
+ [Export( PropertyHint.Range, "0,1")]
+ public float amount = 1f;
+
+ [Export( PropertyHint.Range, "0,600")]
+ public float smearingFrames = 30;
+
+
+ CEG_BufferTexture _bufferTexture;
+ CEG_ScreenColorTexure _screenColorTexure;
+ RG_TemporalBlur _temporalBlur;
+
+ void Initialize()
+ {
+ _screenColorTexure = new CEG_ScreenColorTexure( graph );
+ _bufferTexture = CEG_BufferTexture.ScreenSize( graph );
+
+ _temporalBlur = new RG_TemporalBlur( graph );
+
+ graph.InitializeNodes();
+
+ _temporalBlur.SetTextureSlotInputs( _bufferTexture, _screenColorTexure );
+
+ graph.SetProcessOrder(
+ _screenColorTexure,
+ _bufferTexture,
+ _temporalBlur
+ );
+
+ }
+
+ protected override void ForAllViews()
+ {
+ _temporalBlur.constants.Set(
+ amount,
+ 1.0f - FrameSmoothing.ComputeCoefficient( 1f/60f, smearingFrames )
+ );
+ }
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/TemporalBlur/TemporalBlurEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/TemporalBlur/TemporalBlurEffect.cs.uid
new file mode 100644
index 0000000..27455c6
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/TemporalBlur/TemporalBlurEffect.cs.uid
@@ -0,0 +1 @@
+uid://cowk70ifagygb
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/UnsharpMasking/UnsharpMaskingEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/UnsharpMasking/UnsharpMaskingEffect.cs
similarity index 95%
rename from Runtime/Rendering/Compositor/CompositorEffects/UnsharpMasking/UnsharpMaskingEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/UnsharpMasking/UnsharpMaskingEffect.cs
index e79bda8..37a197c 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/UnsharpMasking/UnsharpMaskingEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/UnsharpMasking/UnsharpMaskingEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class UnsharpMaskingEffect:RDGraphCompositorEffect
+ public partial class UnsharpMaskingEffect:BlurOrSharpenEffect
{
public UnsharpMaskingEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/UnsharpMasking/UnsharpMaskingEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/UnsharpMasking/UnsharpMaskingEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/UnsharpMasking/UnsharpMaskingEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/UnsharpMasking/UnsharpMaskingEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Blur/BlurEffect.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/Blur/BlurEffect.glsl.import
deleted file mode 100644
index 81b8b01..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/Blur/BlurEffect.glsl.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="glsl"
-type="RDShaderFile"
-uid="uid://b7s44e3k68axi"
-path="res://.godot/imported/BlurEffect.glsl-2976c2aaa6ede28da3481e2bef2cf488.res"
-
-[deps]
-
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Blur/BlurEffect.glsl"
-dest_files=["res://.godot/imported/BlurEffect.glsl-2976c2aaa6ede28da3481e2bef2cf488.res"]
-
-[params]
-
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Color/ColorEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Color/ColorEffect.cs
new file mode 100644
index 0000000..796aaa5
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Color/ColorEffect.cs
@@ -0,0 +1,13 @@
+
+using Godot;
+using System.Collections.Generic;
+
+namespace Rokojori
+{
+ [Tool]
+ [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/ColorCompositorEffect.svg")]
+ public abstract partial class ColorEffect:RDGraphCompositorEffect
+ {
+
+ }
+}
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Color/ColorEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Color/ColorEffect.cs.uid
new file mode 100644
index 0000000..14afac9
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Color/ColorEffect.cs.uid
@@ -0,0 +1 @@
+uid://b1xwe4h7v0utc
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/ColorQuantizer/ColorQuantizerEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Color/ColorQuantizer/ColorQuantizerEffect.cs
similarity index 98%
rename from Runtime/Rendering/Compositor/CompositorEffects/ColorQuantizer/ColorQuantizerEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Color/ColorQuantizer/ColorQuantizerEffect.cs
index fce67a1..77b5fa9 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/ColorQuantizer/ColorQuantizerEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Color/ColorQuantizer/ColorQuantizerEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class ColorQuantizerEffect:RDGraphCompositorEffect
+ public partial class ColorQuantizerEffect:ColorEffect
{
public ColorQuantizerEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/ColorQuantizer/ColorQuantizerEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Color/ColorQuantizer/ColorQuantizerEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/ColorQuantizer/ColorQuantizerEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Color/ColorQuantizer/ColorQuantizerEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Color/CrossChannelCurves/CrossChannelCurvesEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Color/CrossChannelCurves/CrossChannelCurvesEffect.cs
index ea06689..11aadcd 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Color/CrossChannelCurves/CrossChannelCurvesEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Color/CrossChannelCurves/CrossChannelCurvesEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class CrossChannelCurvesEffect:RDGraphCompositorEffect
+ public partial class CrossChannelCurvesEffect:ColorEffect
{
public CrossChannelCurvesEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/GreyScale/GrayScaleShader.glsl b/Runtime/Rendering/Compositor/CompositorEffects/Color/GreyScale/GrayScaleShader.glsl
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/GreyScale/GrayScaleShader.glsl
rename to Runtime/Rendering/Compositor/CompositorEffects/Color/GreyScale/GrayScaleShader.glsl
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Color/GreyScale/GrayScaleShader.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/Color/GreyScale/GrayScaleShader.glsl.import
new file mode 100644
index 0000000..26f7228
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Color/GreyScale/GrayScaleShader.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://biw2n3t4ci7t"
+path="res://.godot/imported/GrayScaleShader.glsl-3f13d69bcebcb238dcbb0cccaf1a1dfe.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Color/GreyScale/GrayScaleShader.glsl"
+dest_files=["res://.godot/imported/GrayScaleShader.glsl-3f13d69bcebcb238dcbb0cccaf1a1dfe.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/GreyScale/GreyScaleEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Color/GreyScale/GreyScaleEffect.cs
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/GreyScale/GreyScaleEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Color/GreyScale/GreyScaleEffect.cs
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/GreyScale/GreyScaleEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Color/GreyScale/GreyScaleEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/GreyScale/GreyScaleEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Color/GreyScale/GreyScaleEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Color/HDRMapping/HDRMappingEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Color/HDRMapping/HDRMappingEffect.cs
index 7ff85f9..32ed39d 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Color/HDRMapping/HDRMappingEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Color/HDRMapping/HDRMappingEffect.cs
@@ -7,28 +7,33 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class HDRMappingEffect:RDGraphCompositorEffect
+ public partial class HDRMappingEffect:ColorEffect
{
+ static float DefaultMaxPoint = 10;
+
public HDRMappingEffect():base()
{
Initialize();
}
[Export( PropertyHint.Range, "0,1") ]
- public float amount = 0.5f;
+ public float amount = 1f;
[Export]
- public CurveTexture mapping = new CurveTexture();
+ public CurveTexture mapping = new CurveTexture().WithCurve(
+ new Curve().WithDomainRange( 0, 1f ).WithValueRange( 0, DefaultMaxPoint )
+ .WithValues( 0f, DefaultMaxPoint ).WithLinearTangents()
+ ).WithResolution( 2048 ).WithTextureMode( CurveTexture.TextureModeEnum.Red );
[Export]
- public float inputMaxmimum = 10;
+ public float maxDomain = DefaultMaxPoint;
[Export]
- public float outputMaximum = 10;
+ public float outputScale = 1f;
[ExportGroup( "Luma Settings")]
[Export]
- public Vector3 lumaWeights = new Vector3( 0.3f, 0.5f, 0.2f );
+ public Vector3 lumaWeights = new Vector3( 0.2f, 0.7f, 0.1f );
[Export]
public float lumaPower = 1;
@@ -68,16 +73,23 @@ namespace Rokojori
{
_curvesTexture.SetImageTexture( mapping );
+ var maxInput = 1f;
+
+ if ( mapping != null && mapping.Curve != null)
+ {
+ maxInput = mapping.Curve.MaxDomain;
+ }
+
_mapping.constants.Set(
- inputMaxmimum,
+ maxDomain,
lumaWeights.X,
lumaWeights.Y,
lumaWeights.Z,
lumaPower,
lumaScale,
- outputMaximum,
- 0f
+ outputScale,
+ amount
);
}
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/HSLAdjustment/HSLAdjustmentEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Color/HSLAdjustment/HSLAdjustmentEffect.cs
similarity index 96%
rename from Runtime/Rendering/Compositor/CompositorEffects/HSLAdjustment/HSLAdjustmentEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Color/HSLAdjustment/HSLAdjustmentEffect.cs
index 7f6f92d..e69985b 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/HSLAdjustment/HSLAdjustmentEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Color/HSLAdjustment/HSLAdjustmentEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class HSLAdjustmentEffect:RDGraphCompositorEffect
+ public partial class HSLAdjustmentEffect:ColorEffect
{
public HSLAdjustmentEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/HSLAdjustment/HSLAdjustmentEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Color/HSLAdjustment/HSLAdjustmentEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/HSLAdjustment/HSLAdjustmentEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Color/HSLAdjustment/HSLAdjustmentEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Color/HSLCurves/HSLCurvesEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Color/HSLCurves/HSLCurvesEffect.cs
index d0e926b..0c32332 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Color/HSLCurves/HSLCurvesEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Color/HSLCurves/HSLCurvesEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class HSLCurvesEffect:RDGraphCompositorEffect
+ public partial class HSLCurvesEffect:ColorEffect
{
public HSLCurvesEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Invert/InvertEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Color/Invert/InvertEffect.cs
similarity index 94%
rename from Runtime/Rendering/Compositor/CompositorEffects/Invert/InvertEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Color/Invert/InvertEffect.cs
index f320df7..9d02902 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Invert/InvertEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Color/Invert/InvertEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class InvertEffect:RDGraphCompositorEffect
+ public partial class InvertEffect:ColorEffect
{
public InvertEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Invert/InvertEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Color/Invert/InvertEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/Invert/InvertEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Color/Invert/InvertEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/LightnessBasedAdjustment/LightnessBasedAdjustmentEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Color/LightnessBasedAdjustment/LightnessBasedAdjustmentEffect.cs
similarity index 95%
rename from Runtime/Rendering/Compositor/CompositorEffects/LightnessBasedAdjustment/LightnessBasedAdjustmentEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Color/LightnessBasedAdjustment/LightnessBasedAdjustmentEffect.cs
index 915f4a5..91d5677 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/LightnessBasedAdjustment/LightnessBasedAdjustmentEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Color/LightnessBasedAdjustment/LightnessBasedAdjustmentEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class LightnessBasedAdjustmentEffect:RDGraphCompositorEffect
+ public partial class LightnessBasedAdjustmentEffect:ColorEffect
{
public LightnessBasedAdjustmentEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/LightnessBasedAdjustment/LightnessBasedAdjustmentEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Color/LightnessBasedAdjustment/LightnessBasedAdjustmentEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/LightnessBasedAdjustment/LightnessBasedAdjustmentEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Color/LightnessBasedAdjustment/LightnessBasedAdjustmentEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Posterization/PosterizationEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Color/Posterization/PosterizationEffect.cs
similarity index 94%
rename from Runtime/Rendering/Compositor/CompositorEffects/Posterization/PosterizationEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Color/Posterization/PosterizationEffect.cs
index dfaa618..30ce5a7 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Posterization/PosterizationEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Color/Posterization/PosterizationEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class PosterizationEffect:RDGraphCompositorEffect
+ public partial class PosterizationEffect:ColorEffect
{
public PosterizationEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Posterization/PosterizationEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Color/Posterization/PosterizationEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/Posterization/PosterizationEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Color/Posterization/PosterizationEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Color/RGBCurves/RGBCurvesEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Color/RGBCurves/RGBCurvesEffect.cs
index 23ae583..5598391 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Color/RGBCurves/RGBCurvesEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Color/RGBCurves/RGBCurvesEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class RGBCurvesEffect:RDGraphCompositorEffect
+ public partial class RGBCurvesEffect:ColorEffect
{
public RGBCurvesEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/ReplaceColor/ReplaceColorEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Color/ReplaceColor/ReplaceColorEffect.cs
similarity index 94%
rename from Runtime/Rendering/Compositor/CompositorEffects/ReplaceColor/ReplaceColorEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Color/ReplaceColor/ReplaceColorEffect.cs
index 3c5714f..47cdcd6 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/ReplaceColor/ReplaceColorEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Color/ReplaceColor/ReplaceColorEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class ReplaceColorEffect:RDGraphCompositorEffect
+ public partial class ReplaceColorEffect:ColorEffect
{
public ReplaceColorEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/ReplaceColor/ReplaceColorEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Color/ReplaceColor/ReplaceColorEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/ReplaceColor/ReplaceColorEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Color/ReplaceColor/ReplaceColorEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Sepia/SepiaEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Color/Sepia/SepiaEffect.cs
similarity index 94%
rename from Runtime/Rendering/Compositor/CompositorEffects/Sepia/SepiaEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Color/Sepia/SepiaEffect.cs
index f96a1cd..8eaec38 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Sepia/SepiaEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Color/Sepia/SepiaEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class SepiaEffect:RDGraphCompositorEffect
+ public partial class SepiaEffect:ColorEffect
{
public SepiaEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Sepia/SepiaEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Color/Sepia/SepiaEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/Sepia/SepiaEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Color/Sepia/SepiaEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/DepthAO/DepthAOShader.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/DepthAO/DepthAOShader.glsl.import
deleted file mode 100644
index ca33892..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/DepthAO/DepthAOShader.glsl.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="glsl"
-type="RDShaderFile"
-uid="uid://bshg7rg0k6pre"
-path="res://.godot/imported/DepthAOShader.glsl-68a7bb82d9ad472873dfcaa383972842.res"
-
-[deps]
-
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/DepthAO/DepthAOShader.glsl"
-dest_files=["res://.godot/imported/DepthAOShader.glsl-68a7bb82d9ad472873dfcaa383972842.res"]
-
-[params]
-
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/DepthView/DepthViewShader.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/DepthView/DepthViewShader.glsl.import
deleted file mode 100644
index 1f33f9b..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/DepthView/DepthViewShader.glsl.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="glsl"
-type="RDShaderFile"
-uid="uid://ccufacegh2n8s"
-path="res://.godot/imported/DepthViewShader.glsl-d09858ccee0b4cebdfc21e9d288c8d06.res"
-
-[deps]
-
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/DepthView/DepthViewShader.glsl"
-dest_files=["res://.godot/imported/DepthViewShader.glsl-d09858ccee0b4cebdfc21e9d288c8d06.res"]
-
-[params]
-
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/EnsureValidFloats/EnsureValidFloats.glsl b/Runtime/Rendering/Compositor/CompositorEffects/Development/EnsureValidFloats/EnsureValidFloats.glsl
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/EnsureValidFloats/EnsureValidFloats.glsl
rename to Runtime/Rendering/Compositor/CompositorEffects/Development/EnsureValidFloats/EnsureValidFloats.glsl
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Development/EnsureValidFloats/EnsureValidFloats.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/Development/EnsureValidFloats/EnsureValidFloats.glsl.import
new file mode 100644
index 0000000..a2215bd
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Development/EnsureValidFloats/EnsureValidFloats.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://0kkht5bhowht"
+path="res://.godot/imported/EnsureValidFloats.glsl-49f2e462542df4db2e8e8511289b2418.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Development/EnsureValidFloats/EnsureValidFloats.glsl"
+dest_files=["res://.godot/imported/EnsureValidFloats.glsl-49f2e462542df4db2e8e8511289b2418.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/EnsureValidFloats/EnsureValidFloats.import b/Runtime/Rendering/Compositor/CompositorEffects/Development/EnsureValidFloats/EnsureValidFloats.import
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/EnsureValidFloats/EnsureValidFloats.import
rename to Runtime/Rendering/Compositor/CompositorEffects/Development/EnsureValidFloats/EnsureValidFloats.import
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/EnsureValidFloats/EnsureValidFloatsEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Development/EnsureValidFloats/EnsureValidFloatsEffect.cs
similarity index 87%
rename from Runtime/Rendering/Compositor/CompositorEffects/EnsureValidFloats/EnsureValidFloatsEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Development/EnsureValidFloats/EnsureValidFloatsEffect.cs
index 99cfae0..d65b3b6 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/EnsureValidFloats/EnsureValidFloatsEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Development/EnsureValidFloats/EnsureValidFloatsEffect.cs
@@ -9,7 +9,7 @@ namespace Rokojori
[GlobalClass]
public partial class EnsureValidFloatsEffect:SingleShaderCompositorEffect
{
- public static readonly string shaderPath = Path( "EnsureValidFloats/EnsureValidFloats.glsl" );
+ public static readonly string shaderPath = Path( "Development/EnsureValidFloats/EnsureValidFloats.glsl" );
[Export( PropertyHint.Range, "-10,10")]
public float clamping = 0f;
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/EnsureValidFloats/EnsureValidFloatsEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Development/EnsureValidFloats/EnsureValidFloatsEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/EnsureValidFloats/EnsureValidFloatsEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Development/EnsureValidFloats/EnsureValidFloatsEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Kernel3/Kernel3Effect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Development/Kernel3/Kernel3Effect.cs
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/Kernel3/Kernel3Effect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Development/Kernel3/Kernel3Effect.cs
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Kernel3/Kernel3Effect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Development/Kernel3/Kernel3Effect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/Kernel3/Kernel3Effect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Development/Kernel3/Kernel3Effect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/NormalView/NormalViewEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Development/NormalView/NormalViewEffect.cs
similarity index 91%
rename from Runtime/Rendering/Compositor/CompositorEffects/NormalView/NormalViewEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Development/NormalView/NormalViewEffect.cs
index 45b3b6f..c31c779 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/NormalView/NormalViewEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Development/NormalView/NormalViewEffect.cs
@@ -9,7 +9,7 @@ namespace Rokojori
[GlobalClass]
public abstract partial class NormalViewEffect:SingleShaderCompositorEffect
{
- public static readonly string shaderPath = Path( "NormalView/NormalViewShader.glsl" );
+ public static readonly string shaderPath = Path( "Development/NormalView/NormalViewShader.glsl" );
RDSampler sampler;
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/NormalView/NormalViewEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Development/NormalView/NormalViewEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/NormalView/NormalViewEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Development/NormalView/NormalViewEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/NormalView/NormalViewShader.glsl b/Runtime/Rendering/Compositor/CompositorEffects/Development/NormalView/NormalViewShader.glsl
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/NormalView/NormalViewShader.glsl
rename to Runtime/Rendering/Compositor/CompositorEffects/Development/NormalView/NormalViewShader.glsl
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Development/NormalView/NormalViewShader.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/Development/NormalView/NormalViewShader.glsl.import
new file mode 100644
index 0000000..7f3547a
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Development/NormalView/NormalViewShader.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://bcdpc2kr1ico"
+path="res://.godot/imported/NormalViewShader.glsl-53207d17246bbdbb047958e0ae400372.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Development/NormalView/NormalViewShader.glsl"
+dest_files=["res://.godot/imported/NormalViewShader.glsl-53207d17246bbdbb047958e0ae400372.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/ChromaticAberation/ChromaticAberation.cs b/Runtime/Rendering/Compositor/CompositorEffects/Distortion/ChromaticAberation/ChromaticAberation.cs
similarity index 96%
rename from Runtime/Rendering/Compositor/CompositorEffects/ChromaticAberation/ChromaticAberation.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Distortion/ChromaticAberation/ChromaticAberation.cs
index 937664b..ddc4f58 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/ChromaticAberation/ChromaticAberation.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Distortion/ChromaticAberation/ChromaticAberation.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class ChromaticAberation:RDGraphCompositorEffect
+ public partial class ChromaticAberation:DistortionEffect
{
public ChromaticAberation():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/ChromaticAberation/ChromaticAberation.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Distortion/ChromaticAberation/ChromaticAberation.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/ChromaticAberation/ChromaticAberation.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Distortion/ChromaticAberation/ChromaticAberation.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Distortion/DistortionEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Distortion/DistortionEffect.cs
index 333401b..f7fee5a 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Distortion/DistortionEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Distortion/DistortionEffect.cs
@@ -6,7 +6,7 @@ using System.Collections.Generic;
namespace Rokojori
{
[Tool]
- [GlobalClass]
+ [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/DistortionCompositorEffect.svg")]
public abstract partial class DistortionEffect:RDGraphCompositorEffect
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Outlines/DepthOutlines/DepthOutlinesEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Edge/DepthOutlines/DepthOutlinesEffect.cs
similarity index 87%
rename from Runtime/Rendering/Compositor/CompositorEffects/Outlines/DepthOutlines/DepthOutlinesEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Edge/DepthOutlines/DepthOutlinesEffect.cs
index c913f25..9350395 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Outlines/DepthOutlines/DepthOutlinesEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Edge/DepthOutlines/DepthOutlinesEffect.cs
@@ -6,7 +6,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class DepthOutlinesEffect:RDGraphCompositorEffect
+ public partial class DepthOutlinesEffect:EdgeCompositorEffect
{
public DepthOutlinesEffect():base()
{
@@ -17,9 +17,19 @@ namespace Rokojori
[Export( PropertyHint.Range, "0,1") ]
public float amount = 1f;
+ [Export( PropertyHint.Range, "-1,1") ]
+ public float outlineWidth = 1f;
+
+ [Export]
+ public CurveTexture outlineWidthCurve = new CurveTexture().WithCurve( new Curve().WithValues( 0.5f, 0.5f ) );
+
+
[Export]
public Color edgeColor = Colors.Black;
+ [Export( PropertyHint.Range, "0,1") ]
+ public float edgeDistanceFade = 0.2f;
+
[Export]
public Color fillColor = new Color( 1.0f, 1.0f, 1.0f, 0.0f );
@@ -92,7 +102,7 @@ namespace Rokojori
CEG_BufferTexture bufferTexture;
RG_ImageTexture zTresholdTexture;
RG_ImageTexture edgeIntensityTexture;
- RG_ImageTexture shadowTexture;
+ RG_ImageTexture outlineWidthTexture;
RG_GenerateViewZ generateViewZ;
@@ -109,6 +119,7 @@ namespace Rokojori
bufferTexture = CEG_BufferTexture.ScreenSize( graph );
zTresholdTexture = new RG_ImageTexture( graph );
edgeIntensityTexture = new RG_ImageTexture( graph );
+ outlineWidthTexture = new RG_ImageTexture( graph );
generateViewZ = new RG_GenerateViewZ( graph );
@@ -127,8 +138,7 @@ namespace Rokojori
zOutlines.AddTextureSlotInput( zTresholdTexture ).UseLinearSamplerEdgeClamped();
zOutlines.AddTextureSlotInput( edgeIntensityTexture ).UseLinearSamplerEdgeClamped();
zOutlines.AddTextureSlotInput( screenNormalRoughnessTexture ).UseLinearSamplerEdgeClamped();
-
-
+ zOutlines.AddTextureSlotInput( outlineWidthTexture ).UseLinearSamplerEdgeClamped();
graph.SetProcessOrder(
@@ -151,6 +161,7 @@ namespace Rokojori
{
zTresholdTexture.SetImageTexture( zTresholdCurve );
edgeIntensityTexture.SetImageTexture( edgeIntensityCurve );
+ outlineWidthTexture.SetImageTexture( outlineWidthCurve );
var projection = context.GetCameraProjection().Inverse();
@@ -192,8 +203,8 @@ namespace Rokojori
rimContrast,
rimStrength,
- 0f,
- 0f
+ Mathf.Pow( 10f, outlineWidth ),
+ edgeDistanceFade
);
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Outlines/DepthOutlines/DepthOutlinesEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Edge/DepthOutlines/DepthOutlinesEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/Outlines/DepthOutlines/DepthOutlinesEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Edge/DepthOutlines/DepthOutlinesEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Edge/EdgeCompositorEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Edge/EdgeCompositorEffect.cs
new file mode 100644
index 0000000..fe35704
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Edge/EdgeCompositorEffect.cs
@@ -0,0 +1,13 @@
+
+using Godot;
+using System.Collections.Generic;
+
+namespace Rokojori
+{
+ [Tool]
+ [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/EdgeCompositorEffect.svg")]
+ public abstract partial class EdgeCompositorEffect:RDGraphCompositorEffect
+ {
+
+ }
+}
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Edge/EdgeCompositorEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Edge/EdgeCompositorEffect.cs.uid
new file mode 100644
index 0000000..13606d9
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Edge/EdgeCompositorEffect.cs.uid
@@ -0,0 +1 @@
+uid://bjqff7ishogmw
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Rim/RimEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Edge/Rim/RimEffect.cs
similarity index 52%
rename from Runtime/Rendering/Compositor/CompositorEffects/Rim/RimEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Edge/Rim/RimEffect.cs
index e2e1245..aa35144 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Rim/RimEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Edge/Rim/RimEffect.cs
@@ -7,12 +7,12 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class RimEffect:SingleShaderCompositorEffect
+ public partial class RimEffect:EdgeCompositorEffect
{
- public static readonly string shaderPath = Path( "Rim/RimShader.glsl" );
-
- RDSampler sampler;
-
+ public RimEffect():base()
+ {
+ Initialize();
+ }
[Export( PropertyHint.Range, "0,50") ]
public float effectStrength = 1;
@@ -38,45 +38,47 @@ namespace Rokojori
[Export( PropertyHint.Range, "0,1") ]
public float debugView = 0f;
- protected override void OnConfigure()
- {
- EffectCallbackType = EffectCallbackTypeEnum.PostOpaque;
- _shaderPath = shaderPath;
- _groupSize = 8;
- }
- protected override void OnInitialize()
- {
- base.OnInitialize();
+ CEG_ScreenColorTexure _colorTexture;
+ CEG_ScreenDepthTexture _depthTexture;
+ RG_Rim _rim;
+
+
+ void Initialize()
+ {
+ _colorTexture = new CEG_ScreenColorTexure( graph );
+ _depthTexture = new CEG_ScreenDepthTexture( graph );
+ _rim = new RG_Rim( graph );
+
+ graph.InitializeNodes();
+
+ _rim.SetTextureSlotInputs( _colorTexture, _colorTexture );
+ _rim.AddTextureSlotInput( _depthTexture ).UseLinearSamplerEdgeClamped();
+
+ graph.SetProcessOrder(
+ _colorTexture,
+ _depthTexture,
+
+ _rim
+ );
- sampler = context.Sampler( RenderingDevice.SamplerFilter.Nearest, RenderingDevice.SamplerRepeatMode.ClampToEdge );
}
- protected override void SetConstants()
+ protected override void ForAllViews()
{
- constants.Set(
- (Vector2)context.internalSize,
+ _rim.constants.Set(
new Vector2( depthScale, depthOffset ),
+
effectStrength,
rimOffsetX,
rimOffsetY,
minDepth,
- contrast,
- debugView
+
+ contrast
);
}
- protected override void RenderView()
- {
- context.AssignScreenColorTexture();
- context.AssignScreenDepthTexture( sampler );
-
- context.pushConstants = constants;
-
- context.ProcessComputeProgram();
-
- }
}
}
\ No newline at end of file
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Rim/RimEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Edge/Rim/RimEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/Rim/RimEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Edge/Rim/RimEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Rim/RimShader.glsl b/Runtime/Rendering/Compositor/CompositorEffects/Edge/Rim/RimShader.glsl
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/Rim/RimShader.glsl
rename to Runtime/Rendering/Compositor/CompositorEffects/Edge/Rim/RimShader.glsl
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Edge/Rim/RimShader.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/Edge/Rim/RimShader.glsl.import
new file mode 100644
index 0000000..82bccbd
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Edge/Rim/RimShader.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://c3ym5825e532r"
+path="res://.godot/imported/RimShader.glsl-a1935b446f5459a8a4ae353401719267.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Edge/Rim/RimShader.glsl"
+dest_files=["res://.godot/imported/RimShader.glsl-a1935b446f5459a8a4ae353401719267.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/EnsureValidFloats/EnsureValidFloats.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/EnsureValidFloats/EnsureValidFloats.glsl.import
deleted file mode 100644
index 659933e..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/EnsureValidFloats/EnsureValidFloats.glsl.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="glsl"
-type="RDShaderFile"
-uid="uid://0kkht5bhowht"
-path="res://.godot/imported/EnsureValidFloats.glsl-59be31414366e7772d65bbe705f4d89d.res"
-
-[deps]
-
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/EnsureValidFloats/EnsureValidFloats.glsl"
-dest_files=["res://.godot/imported/EnsureValidFloats.glsl-59be31414366e7772d65bbe705f4d89d.res"]
-
-[params]
-
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Glow/ChromaticBloom/ChromaticBloomEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Glow/ChromaticBloom/ChromaticBloomEffect.cs
index 089ac30..13d2a35 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Glow/ChromaticBloom/ChromaticBloomEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Glow/ChromaticBloom/ChromaticBloomEffect.cs
@@ -6,7 +6,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class ChromaticBloomEffect:RDGraphCompositorEffect
+ public partial class ChromaticBloomEffect:GlowCompositorEffect
{
public ChromaticBloomEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Glow/GhostBloom/GhostBloomEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Glow/GhostBloom/GhostBloomEffect.cs
index 9850f51..33389c8 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Glow/GhostBloom/GhostBloomEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Glow/GhostBloom/GhostBloomEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class GhostBloomEffect:RDGraphCompositorEffect
+ public partial class GhostBloomEffect:GlowCompositorEffect
{
public GhostBloomEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Glow/GlowCompositorEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Glow/GlowCompositorEffect.cs
new file mode 100644
index 0000000..1ad8f97
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Glow/GlowCompositorEffect.cs
@@ -0,0 +1,13 @@
+
+using Godot;
+using System.Collections.Generic;
+
+namespace Rokojori
+{
+ [Tool]
+ [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/GlowCompositorEffect.svg")]
+ public abstract partial class GlowCompositorEffect:RDGraphCompositorEffect
+ {
+
+ }
+}
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Glow/GlowCompositorEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Glow/GlowCompositorEffect.cs.uid
new file mode 100644
index 0000000..6ec6120
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Glow/GlowCompositorEffect.cs.uid
@@ -0,0 +1 @@
+uid://3abglofkreds
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Glow/MaxBloom/MaxBloomEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Glow/MaxBloom/MaxBloomEffect.cs
index 6cc0202..1d0dbd1 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Glow/MaxBloom/MaxBloomEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Glow/MaxBloom/MaxBloomEffect.cs
@@ -6,7 +6,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class MaxBloomEffect:RDGraphCompositorEffect
+ public partial class MaxBloomEffect:GlowCompositorEffect
{
public MaxBloomEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Glow/RingBloom/RingBloomEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Glow/RingBloom/RingBloomEffect.cs
index 6b36c48..a1f6c03 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Glow/RingBloom/RingBloomEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Glow/RingBloom/RingBloomEffect.cs
@@ -6,7 +6,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class RingBloomEffect:RDGraphCompositorEffect
+ public partial class RingBloomEffect:GlowCompositorEffect
{
public RingBloomEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Glow/Streaks/StreaksEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Glow/Streaks/StreaksEffect.cs
index ed4a1f4..72c934f 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Glow/Streaks/StreaksEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Glow/Streaks/StreaksEffect.cs
@@ -6,7 +6,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class StreaksEffect:RDGraphCompositorEffect
+ public partial class StreaksEffect:GlowCompositorEffect
{
public StreaksEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/GreyScale/GrayScaleShader.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/GreyScale/GrayScaleShader.glsl.import
deleted file mode 100644
index 15fce41..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/GreyScale/GrayScaleShader.glsl.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="glsl"
-type="RDShaderFile"
-uid="uid://biw2n3t4ci7t"
-path="res://.godot/imported/GrayScaleShader.glsl-0a4b79670c58543930a6cf627ff753f4.res"
-
-[deps]
-
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/GreyScale/GrayScaleShader.glsl"
-dest_files=["res://.godot/imported/GrayScaleShader.glsl-0a4b79670c58543930a6cf627ff753f4.res"]
-
-[params]
-
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Noise/ChannelPixelation/ChannelPixelationEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Noise/ChannelPixelation/ChannelPixelationEffect.cs
index f246554..a32c933 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Noise/ChannelPixelation/ChannelPixelationEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Noise/ChannelPixelation/ChannelPixelationEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class ChannelPixelationEffect:RDGraphCompositorEffect
+ public partial class ChannelPixelationEffect:NoiseEffect
{
public ChannelPixelationEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Noise/NoiseEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Noise/NoiseEffect.cs
new file mode 100644
index 0000000..dea5fed
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Noise/NoiseEffect.cs
@@ -0,0 +1,14 @@
+
+using Godot;
+using Godot.Collections;
+using System.Collections.Generic;
+
+namespace Rokojori
+{
+ [Tool]
+ [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/NoiseCompositorEffect.svg")]
+ public abstract partial class NoiseEffect:RDGraphCompositorEffect
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Noise/NoiseEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Noise/NoiseEffect.cs.uid
new file mode 100644
index 0000000..7055390
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Noise/NoiseEffect.cs.uid
@@ -0,0 +1 @@
+uid://dl6bxba2f2ivk
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Noise/Pixelation/PixelationEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Noise/Pixelation/PixelationEffect.cs
new file mode 100644
index 0000000..fba9442
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Noise/Pixelation/PixelationEffect.cs
@@ -0,0 +1,51 @@
+
+using Godot;
+using Godot.Collections;
+using System.Collections.Generic;
+
+namespace Rokojori
+{
+ [Tool]
+ [GlobalClass]
+ public partial class PixelationEffect:NoiseEffect
+ {
+ public PixelationEffect():base()
+ {
+ Initialize();
+ }
+
+ [Export]
+ public float pixelSize = 1f;
+
+ [Export]
+ public float pixelSizePower = 1f;
+
+ CEG_ScreenColorTexure _screenColorTexture;
+ RG_Pixelation _pixelation;
+
+ void Initialize()
+ {
+ _screenColorTexture = new CEG_ScreenColorTexure( graph );
+ _pixelation = new RG_Pixelation( graph );
+
+ graph.InitializeNodes();
+
+ _pixelation.SetTextureSlotInputs( _screenColorTexture, _screenColorTexture );
+
+ graph.SetProcessOrder(
+ _screenColorTexture,
+
+ _pixelation
+ );
+ }
+
+ protected override void ForAllViews()
+ {
+ _pixelation.constants.Set(
+ (Vector2)context.internalSize,
+ Mathf.Pow( pixelSize, pixelSizePower )
+ );
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Pixelation/PixelationEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Noise/Pixelation/PixelationEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/Pixelation/PixelationEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Noise/Pixelation/PixelationEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Pixelation/PixelationShader.glsl b/Runtime/Rendering/Compositor/CompositorEffects/Noise/Pixelation/PixelationShader.glsl
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/Pixelation/PixelationShader.glsl
rename to Runtime/Rendering/Compositor/CompositorEffects/Noise/Pixelation/PixelationShader.glsl
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Noise/Pixelation/PixelationShader.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/Noise/Pixelation/PixelationShader.glsl.import
new file mode 100644
index 0000000..8147262
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Noise/Pixelation/PixelationShader.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://ghbawysn1d3c"
+path="res://.godot/imported/PixelationShader.glsl-01e84793679ca802284aa88c3c7a83bd.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Noise/Pixelation/PixelationShader.glsl"
+dest_files=["res://.godot/imported/PixelationShader.glsl-01e84793679ca802284aa88c3c7a83bd.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/NormalView/NormalViewShader.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/NormalView/NormalViewShader.glsl.import
deleted file mode 100644
index f2d286e..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/NormalView/NormalViewShader.glsl.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="glsl"
-type="RDShaderFile"
-uid="uid://bcdpc2kr1ico"
-path="res://.godot/imported/NormalViewShader.glsl-8808b7c889cc126ae77b26b3c812033a.res"
-
-[deps]
-
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/NormalView/NormalViewShader.glsl"
-dest_files=["res://.godot/imported/NormalViewShader.glsl-8808b7c889cc126ae77b26b3c812033a.res"]
-
-[params]
-
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Overlay/OverlayEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Overlay/OverlayEffect.cs
new file mode 100644
index 0000000..a279ee2
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Overlay/OverlayEffect.cs
@@ -0,0 +1,14 @@
+
+using Godot;
+using Godot.Collections;
+using System.Collections.Generic;
+
+namespace Rokojori
+{
+ [Tool]
+ [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/OverlayCompositorEffect.svg")]
+ public abstract partial class OverlayEffect:RDGraphCompositorEffect
+ {
+
+ }
+}
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Overlay/OverlayEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Overlay/OverlayEffect.cs.uid
new file mode 100644
index 0000000..34e7ca3
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Overlay/OverlayEffect.cs.uid
@@ -0,0 +1 @@
+uid://b4uauxm218f13
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Distortion/ScanLines/ScanLinesEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Overlay/ScanLines/ScanLinesEffect.cs
similarity index 97%
rename from Runtime/Rendering/Compositor/CompositorEffects/Distortion/ScanLines/ScanLinesEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Overlay/ScanLines/ScanLinesEffect.cs
index e882934..e059dcc 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Distortion/ScanLines/ScanLinesEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Overlay/ScanLines/ScanLinesEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class ScanLinesEffect:DistortionEffect
+ public partial class ScanLinesEffect:OverlayEffect
{
public ScanLinesEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Distortion/ScanLines/ScanLinesEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Overlay/ScanLines/ScanLinesEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/Distortion/ScanLines/ScanLinesEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Overlay/ScanLines/ScanLinesEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TextureOverlay/TextureOverlayEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Overlay/TextureOverlay/TextureOverlayEffect.cs
similarity index 99%
rename from Runtime/Rendering/Compositor/CompositorEffects/TextureOverlay/TextureOverlayEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Overlay/TextureOverlay/TextureOverlayEffect.cs
index 29082d2..22c7618 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/TextureOverlay/TextureOverlayEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Overlay/TextureOverlay/TextureOverlayEffect.cs
@@ -7,7 +7,7 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class TextureOverlayEffect:RDGraphCompositorEffect
+ public partial class TextureOverlayEffect:OverlayEffect
{
public TextureOverlayEffect():base()
{
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TextureOverlay/TextureOverlayEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Overlay/TextureOverlay/TextureOverlayEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/TextureOverlay/TextureOverlayEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Overlay/TextureOverlay/TextureOverlayEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Vignette/VignetteEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Overlay/Vignette/VignetteEffect.cs
similarity index 65%
rename from Runtime/Rendering/Compositor/CompositorEffects/Vignette/VignetteEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Overlay/Vignette/VignetteEffect.cs
index 03f6079..f5ba9e2 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Vignette/VignetteEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Overlay/Vignette/VignetteEffect.cs
@@ -7,9 +7,13 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class VignetteEffect:SingleShaderCompositorEffect
+ public partial class VignetteEffect:OverlayEffect
{
- public static readonly string shaderPath = Path( "Vignette/VignetteShader.glsl" );
+
+ public VignetteEffect():base()
+ {
+ Initialize();
+ }
[ExportGroup("Vignette")]
[Export( PropertyHint.Range, "0,1")]
@@ -53,19 +57,33 @@ namespace Rokojori
public float colorize = 0.0f;
- [Export]
- public string info = "";
- protected override void OnConfigure()
- {
- EffectCallbackType = EffectCallbackTypeEnum.PostTransparent;
- _shaderPath = shaderPath;
- _groupSize = 8;
+ CEG_ScreenColorTexure _screenTexture;
+ RG_Vignette _vignette;
+
+
+ void Initialize()
+ {
+ _screenTexture = new CEG_ScreenColorTexure( graph );
+ _vignette = new RG_Vignette( graph );
+
+
+ graph.InitializeNodes();
+
+ _vignette.SetTextureSlotInputs( _screenTexture, _screenTexture );
+
+ graph.SetProcessOrder(
+ _screenTexture,
+ _vignette
+ );
+
}
-
- protected override void SetConstants()
- {
- constants.Set(
+
+
+
+ protected override void ForAllViews()
+ {
+ _vignette.constants.Set(
colorTop.SrgbToLinear(),
colorBottom.SrgbToLinear(),
(Vector2) context.internalSize,
@@ -80,24 +98,9 @@ namespace Rokojori
colorize
);
- info = "constants: " + constants.info;
-
+
}
- public override void ClearCaches()
- {
- base.ClearCaches();
- }
-
- protected override void RenderView()
- {
- context.AssignScreenColorTexture();
-
- context.pushConstants = constants;
-
- context.ProcessComputeProgram();
-
- }
}
}
\ No newline at end of file
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Vignette/VignetteEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Overlay/Vignette/VignetteEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/Vignette/VignetteEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Overlay/Vignette/VignetteEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Pixelation/PixelationEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Pixelation/PixelationEffect.cs
deleted file mode 100644
index 159f0df..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/Pixelation/PixelationEffect.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-
-using Godot;
-using Godot.Collections;
-using System.Collections.Generic;
-
-namespace Rokojori
-{
- [Tool]
- [GlobalClass]
- public partial class PixelationEffect:SingleShaderCompositorEffect
- {
- public static readonly string shaderPath = Path( "Pixelation/PixelationShader.glsl" );
-
- [Export]
- public float pixelSize = 1f;
-
- [Export]
- public float pixelSizePower = 1f;
-
- protected override void OnConfigure()
- {
- EffectCallbackType = EffectCallbackTypeEnum.PostTransparent;
- _shaderPath = shaderPath;
- _groupSize = 8;
- }
-
- protected override void SetConstants()
- {
- constants.Set(
- (Vector2)context.internalSize,
- Mathf.Pow( pixelSize, pixelSizePower )
- );
- }
-
- protected override void RenderView()
- {
- context.AssignScreenColorTexture();
-
- context.pushConstants = constants;
-
- context.ProcessComputeProgram();
-
- }
- }
-}
\ No newline at end of file
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Pixelation/PixelationShader.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/Pixelation/PixelationShader.glsl.import
deleted file mode 100644
index 8bfda39..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/Pixelation/PixelationShader.glsl.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="glsl"
-type="RDShaderFile"
-uid="uid://ghbawysn1d3c"
-path="res://.godot/imported/PixelationShader.glsl-927856b0a13769ea6d6a031cc7878cd6.res"
-
-[deps]
-
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Pixelation/PixelationShader.glsl"
-dest_files=["res://.godot/imported/PixelationShader.glsl-927856b0a13769ea6d6a031cc7878cd6.res"]
-
-[params]
-
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/RadialBlur/RadialBlurShader.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/RadialBlur/RadialBlurShader.glsl.import
deleted file mode 100644
index a31cdc9..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/RadialBlur/RadialBlurShader.glsl.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="glsl"
-type="RDShaderFile"
-uid="uid://yioccj34hlex"
-path="res://.godot/imported/RadialBlurShader.glsl-2f269c12bf2dd3e246c931195b015d45.res"
-
-[deps]
-
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/RadialBlur/RadialBlurShader.glsl"
-dest_files=["res://.godot/imported/RadialBlurShader.glsl-2f269c12bf2dd3e246c931195b015d45.res"]
-
-[params]
-
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Rim/RimShader.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/Rim/RimShader.glsl.import
deleted file mode 100644
index ef649e8..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/Rim/RimShader.glsl.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="glsl"
-type="RDShaderFile"
-uid="uid://c3ym5825e532r"
-path="res://.godot/imported/RimShader.glsl-d18cc4c508ce033a11df2415ffe60f09.res"
-
-[deps]
-
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Rim/RimShader.glsl"
-dest_files=["res://.godot/imported/RimShader.glsl-d18cc4c508ce033a11df2415ffe60f09.res"]
-
-[params]
-
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/Copy.glsl b/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/Copy.glsl
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/Copy.glsl
rename to Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/Copy.glsl
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/Copy.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/Copy.glsl.import
new file mode 100644
index 0000000..db24556
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/Copy.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://b281d2ovcc1wm"
+path="res://.godot/imported/Copy.glsl-a94e7ee155b8f34272262acf6e061c91.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/Copy.glsl"
+dest_files=["res://.godot/imported/Copy.glsl-a94e7ee155b8f34272262acf6e061c91.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/JFA_Assign.glsl b/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/JFA_Assign.glsl
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/JFA_Assign.glsl
rename to Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/JFA_Assign.glsl
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/JFA_Assign.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/JFA_Assign.glsl.import
new file mode 100644
index 0000000..2de9aa6
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/JFA_Assign.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://fjarrr31htov"
+path="res://.godot/imported/JFA_Assign.glsl-907242257648eed235fe347ae131fc75.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/JFA_Assign.glsl"
+dest_files=["res://.godot/imported/JFA_Assign.glsl-907242257648eed235fe347ae131fc75.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/JFA_Initialize.glsl b/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/JFA_Initialize.glsl
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/JFA_Initialize.glsl
rename to Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/JFA_Initialize.glsl
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/JFA_Initialize.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/JFA_Initialize.glsl.import
new file mode 100644
index 0000000..df4db36
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/JFA_Initialize.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://eqgl8l1lmgrl"
+path="res://.godot/imported/JFA_Initialize.glsl-1f9c44903a5cb865997589d5bc03dcf2.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/JFA_Initialize.glsl"
+dest_files=["res://.godot/imported/JFA_Initialize.glsl-1f9c44903a5cb865997589d5bc03dcf2.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/JFA_Step.glsl b/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/JFA_Step.glsl
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/JFA_Step.glsl
rename to Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/JFA_Step.glsl
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/JFA_Step.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/JFA_Step.glsl.import
new file mode 100644
index 0000000..05e1936
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/JFA_Step.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://b263k73iy5pbl"
+path="res://.godot/imported/JFA_Step.glsl-265dda4074831d3ada76e60952c38a4d.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/JFA_Step.glsl"
+dest_files=["res://.godot/imported/JFA_Step.glsl-265dda4074831d3ada76e60952c38a4d.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/TextureDilationCompositerEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/TextureDilationCompositerEffect.cs
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/TextureDilationCompositerEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/TextureDilationCompositerEffect.cs
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/TextureDilationCompositerEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/TextureDilationCompositerEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/TextureDilationCompositerEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/Technical/TextureDilation/TextureDilationCompositerEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmear/TemporalSmear.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmear/TemporalSmear.glsl.import
deleted file mode 100644
index b656a5a..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmear/TemporalSmear.glsl.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="glsl"
-type="RDShaderFile"
-uid="uid://cd1ysd752pjrn"
-path="res://.godot/imported/TemporalSmear.glsl-9560df032a34c0eac9345bfb92a4fe20.res"
-
-[deps]
-
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmear/TemporalSmear.glsl"
-dest_files=["res://.godot/imported/TemporalSmear.glsl-9560df032a34c0eac9345bfb92a4fe20.res"]
-
-[params]
-
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearSimple/TemporalSmearSimple.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearSimple/TemporalSmearSimple.glsl.import
deleted file mode 100644
index 44c815e..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearSimple/TemporalSmearSimple.glsl.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="glsl"
-type="RDShaderFile"
-uid="uid://ctge08k64i4la"
-path="res://.godot/imported/TemporalSmearSimple.glsl-5a9ee7695bdb85f5015d509e56453535.res"
-
-[deps]
-
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearSimple/TemporalSmearSimple.glsl"
-dest_files=["res://.godot/imported/TemporalSmearSimple.glsl-5a9ee7695bdb85f5015d509e56453535.res"]
-
-[params]
-
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearWobbly/TemporalSmearWobbly.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearWobbly/TemporalSmearWobbly.glsl.import
deleted file mode 100644
index d237ebc..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearWobbly/TemporalSmearWobbly.glsl.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="glsl"
-type="RDShaderFile"
-uid="uid://lybi4jv7wky3"
-path="res://.godot/imported/TemporalSmearWobbly.glsl-b13fa0c1bd9a842f5cc94ee95d6d6e0f.res"
-
-[deps]
-
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearWobbly/TemporalSmearWobbly.glsl"
-dest_files=["res://.godot/imported/TemporalSmearWobbly.glsl-b13fa0c1bd9a842f5cc94ee95d6d6e0f.res"]
-
-[params]
-
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/Copy.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/Copy.glsl.import
deleted file mode 100644
index d862623..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/Copy.glsl.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="glsl"
-type="RDShaderFile"
-uid="uid://b281d2ovcc1wm"
-path="res://.godot/imported/Copy.glsl-691649f2edc1532cdaf82fe24cf0a825.res"
-
-[deps]
-
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/Copy.glsl"
-dest_files=["res://.godot/imported/Copy.glsl-691649f2edc1532cdaf82fe24cf0a825.res"]
-
-[params]
-
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/JFA_Assign.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/JFA_Assign.glsl.import
deleted file mode 100644
index bb81636..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/JFA_Assign.glsl.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="glsl"
-type="RDShaderFile"
-uid="uid://fjarrr31htov"
-path="res://.godot/imported/JFA_Assign.glsl-60af4dba5fb8c409e694413cad0c1fc1.res"
-
-[deps]
-
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/JFA_Assign.glsl"
-dest_files=["res://.godot/imported/JFA_Assign.glsl-60af4dba5fb8c409e694413cad0c1fc1.res"]
-
-[params]
-
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/JFA_Initialize.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/JFA_Initialize.glsl.import
deleted file mode 100644
index 66c81ad..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/JFA_Initialize.glsl.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="glsl"
-type="RDShaderFile"
-uid="uid://eqgl8l1lmgrl"
-path="res://.godot/imported/JFA_Initialize.glsl-eaec1fd1e6da355b3a37aafdebae382c.res"
-
-[deps]
-
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/JFA_Initialize.glsl"
-dest_files=["res://.godot/imported/JFA_Initialize.glsl-eaec1fd1e6da355b3a37aafdebae382c.res"]
-
-[params]
-
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/JFA_Step.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/JFA_Step.glsl.import
deleted file mode 100644
index f2b79e5..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/JFA_Step.glsl.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="glsl"
-type="RDShaderFile"
-uid="uid://b263k73iy5pbl"
-path="res://.godot/imported/JFA_Step.glsl-f98466c4d4be76f4e3f5470b1ad291a6.res"
-
-[deps]
-
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/TextureDilation/JFA_Step.glsl"
-dest_files=["res://.godot/imported/JFA_Step.glsl-f98466c4d4be76f4e3f5470b1ad291a6.res"]
-
-[params]
-
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Vignette/VignetteShader.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/Vignette/VignetteShader.glsl.import
deleted file mode 100644
index 2884630..0000000
--- a/Runtime/Rendering/Compositor/CompositorEffects/Vignette/VignetteShader.glsl.import
+++ /dev/null
@@ -1,14 +0,0 @@
-[remap]
-
-importer="glsl"
-type="RDShaderFile"
-uid="uid://bnkadrfrp7jbc"
-path="res://.godot/imported/VignetteShader.glsl-97e3dee05027b0474da3bfd8cf9341fa.res"
-
-[deps]
-
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Vignette/VignetteShader.glsl"
-dest_files=["res://.godot/imported/VignetteShader.glsl-97e3dee05027b0474da3bfd8cf9341fa.res"]
-
-[params]
-
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Wipes/WipeCompositorEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/Wipes/WipeCompositorEffect.cs
index 882f186..9376c74 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Wipes/WipeCompositorEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/Wipes/WipeCompositorEffect.cs
@@ -6,7 +6,7 @@ using System.Collections.Generic;
namespace Rokojori
{
[Tool]
- [GlobalClass]
+ [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/WipeCompositorEffect.svg")]
public abstract partial class WipeCompositorEffect:RDGraphCompositorEffect
{
[ExportGroup("Wipe")]
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/AlphaGrabTest/AlphaGrabTestEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/AlphaGrabTest/AlphaGrabTestEffect.cs
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/AlphaGrabTest/AlphaGrabTestEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/AlphaGrabTest/AlphaGrabTestEffect.cs
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/AlphaGrabTest/AlphaGrabTestEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/AlphaGrabTest/AlphaGrabTestEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/AlphaGrabTest/AlphaGrabTestEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/AlphaGrabTest/AlphaGrabTestEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/AlphaGrabTest/AlphaGrabTestShader.glsl b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/AlphaGrabTest/AlphaGrabTestShader.glsl
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/AlphaGrabTest/AlphaGrabTestShader.glsl
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/AlphaGrabTest/AlphaGrabTestShader.glsl
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/AlphaGrabTest/AlphaGrabTestShader.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/AlphaGrabTest/AlphaGrabTestShader.glsl.import
new file mode 100644
index 0000000..c22b8a8
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/AlphaGrabTest/AlphaGrabTestShader.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://b0sbxsqka4svp"
+path="res://.godot/imported/AlphaGrabTestShader.glsl-5866e797c5a9fbb5389179bbc2291d3f.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/AlphaGrabTest/AlphaGrabTestShader.glsl"
+dest_files=["res://.godot/imported/AlphaGrabTestShader.glsl-5866e797c5a9fbb5389179bbc2291d3f.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Blur/BlurCompositorEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/Blur/BlurCompositorEffect.cs
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/Blur/BlurCompositorEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/Blur/BlurCompositorEffect.cs
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Blur/BlurCompositorEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/Blur/BlurCompositorEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/Blur/BlurCompositorEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/Blur/BlurCompositorEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Blur/BlurEffect.glsl b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/Blur/BlurEffect.glsl
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/Blur/BlurEffect.glsl
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/Blur/BlurEffect.glsl
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/Blur/BlurEffect.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/Blur/BlurEffect.glsl.import
new file mode 100644
index 0000000..7267b4b
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/Blur/BlurEffect.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://b7s44e3k68axi"
+path="res://.godot/imported/BlurEffect.glsl-ece08d88404ed79f7c44e8c9ba439351.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/Blur/BlurEffect.glsl"
+dest_files=["res://.godot/imported/BlurEffect.glsl-ece08d88404ed79f7c44e8c9ba439351.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Depth/DepthEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/Depth/DepthEffect.cs
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/Depth/DepthEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/Depth/DepthEffect.cs
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Depth/DepthEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/Depth/DepthEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/Depth/DepthEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/Depth/DepthEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/DepthAO/DepthAOEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAO/DepthAOEffect.cs
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/DepthAO/DepthAOEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAO/DepthAOEffect.cs
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/DepthAO/DepthAOEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAO/DepthAOEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/DepthAO/DepthAOEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAO/DepthAOEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/DepthAO/DepthAOShader.glsl b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAO/DepthAOShader.glsl
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/DepthAO/DepthAOShader.glsl
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAO/DepthAOShader.glsl
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAO/DepthAOShader.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAO/DepthAOShader.glsl.import
new file mode 100644
index 0000000..cfd82c5
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAO/DepthAOShader.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://bshg7rg0k6pre"
+path="res://.godot/imported/DepthAOShader.glsl-a5cbab2b370fce20ab960561558c4ff3.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAO/DepthAOShader.glsl"
+dest_files=["res://.godot/imported/DepthAOShader.glsl-a5cbab2b370fce20ab960561558c4ff3.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/DepthAntiAliasing/DepthAntiAliasingEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAntiAliasing/DepthAntiAliasingEffect.cs
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/DepthAntiAliasing/DepthAntiAliasingEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAntiAliasing/DepthAntiAliasingEffect.cs
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/DepthAntiAliasing/DepthAntiAliasingEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAntiAliasing/DepthAntiAliasingEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/DepthAntiAliasing/DepthAntiAliasingEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAntiAliasing/DepthAntiAliasingEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/DepthAntiAliasing/DepthAntiAliasingShader.glsl b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAntiAliasing/DepthAntiAliasingShader.glsl
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/DepthAntiAliasing/DepthAntiAliasingShader.glsl
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAntiAliasing/DepthAntiAliasingShader.glsl
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/DepthAntiAliasing/DepthAntiAliasingShader.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAntiAliasing/DepthAntiAliasingShader.glsl.import
similarity index 55%
rename from Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/DepthAntiAliasing/DepthAntiAliasingShader.glsl.import
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAntiAliasing/DepthAntiAliasingShader.glsl.import
index 8d2f2b1..7f93dfb 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/DepthAntiAliasing/DepthAntiAliasingShader.glsl.import
+++ b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAntiAliasing/DepthAntiAliasingShader.glsl.import
@@ -3,12 +3,12 @@
importer="glsl"
type="RDShaderFile"
uid="uid://us4n0un8oo2v"
-path="res://.godot/imported/DepthAntiAliasingShader.glsl-62b6b5b853b384dd1246151bf3fa7d65.res"
+path="res://.godot/imported/DepthAntiAliasingShader.glsl-7d44a87e815e21eb2e4822e5c31ee5d5.res"
[deps]
-source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/AntiAliasing/DepthAntiAliasing/DepthAntiAliasingShader.glsl"
-dest_files=["res://.godot/imported/DepthAntiAliasingShader.glsl-62b6b5b853b384dd1246151bf3fa7d65.res"]
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthAntiAliasing/DepthAntiAliasingShader.glsl"
+dest_files=["res://.godot/imported/DepthAntiAliasingShader.glsl-7d44a87e815e21eb2e4822e5c31ee5d5.res"]
[params]
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/DepthView/DepthViewEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthView/DepthViewEffect.cs
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/DepthView/DepthViewEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthView/DepthViewEffect.cs
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/DepthView/DepthViewEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthView/DepthViewEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/DepthView/DepthViewEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthView/DepthViewEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/DepthView/DepthViewShader.glsl b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthView/DepthViewShader.glsl
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/DepthView/DepthViewShader.glsl
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthView/DepthViewShader.glsl
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthView/DepthViewShader.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthView/DepthViewShader.glsl.import
new file mode 100644
index 0000000..ac25e8f
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthView/DepthViewShader.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://ccufacegh2n8s"
+path="res://.godot/imported/DepthViewShader.glsl-0fab1c890329f4b14fcddefee22c55f8.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/DepthView/DepthViewShader.glsl"
+dest_files=["res://.godot/imported/DepthViewShader.glsl-0fab1c890329f4b14fcddefee22c55f8.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/RadialBlur/RadialBlurEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/RadialBlur/RadialBlurEffect.cs
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/RadialBlur/RadialBlurEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/RadialBlur/RadialBlurEffect.cs
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/RadialBlur/RadialBlurEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/RadialBlur/RadialBlurEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/RadialBlur/RadialBlurEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/RadialBlur/RadialBlurEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/RadialBlur/RadialBlurShader.glsl b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/RadialBlur/RadialBlurShader.glsl
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/RadialBlur/RadialBlurShader.glsl
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/RadialBlur/RadialBlurShader.glsl
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/RadialBlur/RadialBlurShader.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/RadialBlur/RadialBlurShader.glsl.import
new file mode 100644
index 0000000..e9459ed
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/RadialBlur/RadialBlurShader.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://yioccj34hlex"
+path="res://.godot/imported/RadialBlurShader.glsl-b7f86da22b8244edcb1b01b434d3480c.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/RadialBlur/RadialBlurShader.glsl"
+dest_files=["res://.godot/imported/RadialBlurShader.glsl-b7f86da22b8244edcb1b01b434d3480c.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmear/TemporalSmear.glsl b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmear/TemporalSmear.glsl
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/TemporalSmear/TemporalSmear.glsl
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmear/TemporalSmear.glsl
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmear/TemporalSmear.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmear/TemporalSmear.glsl.import
new file mode 100644
index 0000000..ae94c6a
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmear/TemporalSmear.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://cd1ysd752pjrn"
+path="res://.godot/imported/TemporalSmear.glsl-b87103b6281e60f789f9687d84985f76.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmear/TemporalSmear.glsl"
+dest_files=["res://.godot/imported/TemporalSmear.glsl-b87103b6281e60f789f9687d84985f76.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmear/TemporalSmearEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmear/TemporalSmearEffect.cs
similarity index 93%
rename from Runtime/Rendering/Compositor/CompositorEffects/TemporalSmear/TemporalSmearEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmear/TemporalSmearEffect.cs
index 7a3124f..6e2a26e 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmear/TemporalSmearEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmear/TemporalSmearEffect.cs
@@ -9,7 +9,7 @@ namespace Rokojori
[GlobalClass]
public abstract partial class TemporalSmearEffect:SingleShaderCompositorEffect
{
- public static readonly string shaderPath = Path( "TemporalSmear/TemporalSmear.glsl" );
+ public static readonly string shaderPath = Path( "_Experiments/TemporalSmear/TemporalSmear.glsl" );
[Export( PropertyHint.Range, "0,1")]
public float amount = 1f;
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmear/TemporalSmearEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmear/TemporalSmearEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/TemporalSmear/TemporalSmearEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmear/TemporalSmearEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearSimple/TemporalSmearSimple.glsl b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearSimple/TemporalSmearSimple.glsl
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearSimple/TemporalSmearSimple.glsl
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearSimple/TemporalSmearSimple.glsl
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearSimple/TemporalSmearSimple.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearSimple/TemporalSmearSimple.glsl.import
new file mode 100644
index 0000000..e9f90c8
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearSimple/TemporalSmearSimple.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://ctge08k64i4la"
+path="res://.godot/imported/TemporalSmearSimple.glsl-2747ba7d48792d6c35fc323971c34a3b.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearSimple/TemporalSmearSimple.glsl"
+dest_files=["res://.godot/imported/TemporalSmearSimple.glsl-2747ba7d48792d6c35fc323971c34a3b.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearSimple/TemporalSmearSimpleEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearSimple/TemporalSmearSimpleEffect.cs
similarity index 83%
rename from Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearSimple/TemporalSmearSimpleEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearSimple/TemporalSmearSimpleEffect.cs
index de8fa1b..65f4017 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearSimple/TemporalSmearSimpleEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearSimple/TemporalSmearSimpleEffect.cs
@@ -7,9 +7,9 @@ namespace Rokojori
{
[Tool]
[GlobalClass]
- public partial class TemporalSmearSimpleEffect:SingleShaderCompositorEffect
+ public abstract partial class TemporalSmearSimpleEffect:SingleShaderCompositorEffect
{
- public static readonly string shaderPath = Path( "TemporalSmearSimple/TemporalSmearSimple.glsl" );
+ public static readonly string shaderPath = Path( "_Experiments/TemporalSmearSimple/TemporalSmearSimple.glsl" );
[Export( PropertyHint.Range, "0,1")]
public float amount = 1f;
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearSimple/TemporalSmearSimpleEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearSimple/TemporalSmearSimpleEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearSimple/TemporalSmearSimpleEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearSimple/TemporalSmearSimpleEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearWobbly/TemporalSmearWobbly.glsl b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearWobbly/TemporalSmearWobbly.glsl
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearWobbly/TemporalSmearWobbly.glsl
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearWobbly/TemporalSmearWobbly.glsl
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearWobbly/TemporalSmearWobbly.glsl.import b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearWobbly/TemporalSmearWobbly.glsl.import
new file mode 100644
index 0000000..62f7cc6
--- /dev/null
+++ b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearWobbly/TemporalSmearWobbly.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://lybi4jv7wky3"
+path="res://.godot/imported/TemporalSmearWobbly.glsl-c533f77aa060bfa86f12dcb19484cb59.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearWobbly/TemporalSmearWobbly.glsl"
+dest_files=["res://.godot/imported/TemporalSmearWobbly.glsl-c533f77aa060bfa86f12dcb19484cb59.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearWobbly/TemporalSmearWobblyEffect.cs b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearWobbly/TemporalSmearWobblyEffect.cs
similarity index 92%
rename from Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearWobbly/TemporalSmearWobblyEffect.cs
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearWobbly/TemporalSmearWobblyEffect.cs
index 5bf77e5..7139ed2 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearWobbly/TemporalSmearWobblyEffect.cs
+++ b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearWobbly/TemporalSmearWobblyEffect.cs
@@ -9,7 +9,7 @@ namespace Rokojori
[GlobalClass]
public abstract partial class TemporalSmearWobblyEffect:SingleShaderCompositorEffect
{
- public static readonly string shaderPath = Path( "TemporalSmearWobbly/TemporalSmearWobbly.glsl" );
+ public static readonly string shaderPath = Path( "_Experiments/TemporalSmearWobbly/TemporalSmearWobbly.glsl" );
[Export( PropertyHint.Range, "0,1")]
public float amount = 1f;
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearWobbly/TemporalSmearWobblyEffect.cs.uid b/Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearWobbly/TemporalSmearWobblyEffect.cs.uid
similarity index 100%
rename from Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearWobbly/TemporalSmearWobblyEffect.cs.uid
rename to Runtime/Rendering/Compositor/CompositorEffects/_Experiments/TemporalSmearWobbly/TemporalSmearWobblyEffect.cs.uid
diff --git a/Runtime/Rendering/Compositor/CompositorVFXPresets/Blur/Overlayed Bokeh Blur .tres b/Runtime/Rendering/Compositor/CompositorVFXPresets/Blur/Overlayed Bokeh Blur .tres
index 21a72a9..59dc7a3 100644
--- a/Runtime/Rendering/Compositor/CompositorVFXPresets/Blur/Overlayed Bokeh Blur .tres
+++ b/Runtime/Rendering/Compositor/CompositorVFXPresets/Blur/Overlayed Bokeh Blur .tres
@@ -1,32 +1,31 @@
-[gd_resource type="Resource" script_class="CompositorVFXPreset" load_steps=37 format=3 uid="uid://cr7dvu2sqcidy"]
+[gd_resource type="Resource" script_class="CompositorVFXPreset" load_steps=27 format=3 uid="uid://cr7dvu2sqcidy"]
[ext_resource type="Script" uid="uid://dvvfvlutisecy" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/AnimationTargets/CompFXMemberCurveTarget.cs" id="1_rjlrx"]
[ext_resource type="Script" uid="uid://cx5qcow1mmd11" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorEffectOwner.cs" id="2_7bkgv"]
[ext_resource type="Script" uid="uid://comuvej4dr22k" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/RokojoriCompositorEffectID.cs" id="3_pjafb"]
-[ext_resource type="Script" uid="uid://dqsxgtt4e6vwu" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/BoxBlur/BoxBlurEffect.cs" id="4_yrk01"]
-[ext_resource type="Script" uid="uid://t5g1g1uv5yrj" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/TextureOverlay/TextureOverlayEffect.cs" id="5_e4lq5"]
-[ext_resource type="Script" uid="uid://bjxayoleund83" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearSimple/TemporalSmearSimpleEffect.cs" id="6_soflx"]
+[ext_resource type="Script" uid="uid://dqsxgtt4e6vwu" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/BoxBlur/BoxBlurEffect.cs" id="4_yrk01"]
+[ext_resource type="Script" uid="uid://cowk70ifagygb" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/TemporalBlur/TemporalBlurEffect.cs" id="6_bkqil"]
[ext_resource type="Script" uid="uid://di2ro5eatxy0c" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Glow/RingBloom/RingBloomEffect.cs" id="7_be0li"]
[ext_resource type="Script" uid="uid://ckixweetchlo0" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorVFXPreset.cs" id="8_h2u0p"]
-[sub_resource type="Curve" id="Curve_qrakr"]
-_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
+[sub_resource type="Curve" id="Curve_p64cs"]
+_data = [Vector2(0, 0), 0.0, 1.0, 0, 1, Vector2(1, 1), 1.0, 0.0, 1, 0]
point_count = 2
-[sub_resource type="Resource" id="Resource_seli3"]
+[sub_resource type="Resource" id="Resource_7axlu"]
script = ExtResource("1_rjlrx")
member = "intensity"
-curve = SubResource("Curve_qrakr")
+curve = SubResource("Curve_p64cs")
metadata/_custom_type_script = "uid://dvvfvlutisecy"
[sub_resource type="Resource" id="Resource_008mr"]
script = ExtResource("2_7bkgv")
-[sub_resource type="Resource" id="Resource_jxdri"]
+[sub_resource type="Resource" id="Resource_22k1k"]
script = ExtResource("3_pjafb")
owner = SubResource("Resource_008mr")
-[sub_resource type="CompositorEffect" id="CompositorEffect_rjlrx"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_hpfyh"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -34,143 +33,65 @@ effect_callback_type = 4
needs_motion_vectors = false
needs_normal_roughness = false
script = ExtResource("4_yrk01")
-intensity = 0.0
-noise = 13.8889
-kernelRadius = 3
-iterations = 3
-animationTargets = [SubResource("Resource_seli3")]
-compositorEffectID = SubResource("Resource_jxdri")
+noise = 20.7254
+kernelOffset = 4
+iterations = 1
+animationTargets = [SubResource("Resource_7axlu")]
+compositorEffectID = SubResource("Resource_22k1k")
metadata/_custom_type_script = "uid://dqsxgtt4e6vwu"
-[sub_resource type="Curve" id="Curve_7bkgv"]
-_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
-point_count = 2
-
-[sub_resource type="CurveTexture" id="CurveTexture_pjafb"]
-texture_mode = 1
-curve = SubResource("Curve_7bkgv")
-
-[sub_resource type="Curve" id="Curve_008mr"]
+[sub_resource type="Curve" id="Curve_w6tyf"]
_data = [Vector2(0, 0), 0.0, 1.0, 0, 1, Vector2(1, 1), 1.0, 0.0, 1, 0]
point_count = 2
-[sub_resource type="Resource" id="Resource_xxny3"]
+[sub_resource type="Resource" id="Resource_63qv8"]
script = ExtResource("1_rjlrx")
-member = "opacity"
-curve = SubResource("Curve_008mr")
+member = "intensity"
+curve = SubResource("Curve_w6tyf")
metadata/_custom_type_script = "uid://dvvfvlutisecy"
-[sub_resource type="Resource" id="Resource_tn5uv"]
+[sub_resource type="Resource" id="Resource_gxlxg"]
script = ExtResource("3_pjafb")
owner = SubResource("Resource_008mr")
-[sub_resource type="Gradient" id="Gradient_027rg"]
-offsets = PackedFloat32Array(0.098684214, 0.20394737, 0.5781818, 0.83272725, 0.9563636)
-colors = PackedColorArray(0.89599997, 0.89599997, 0.89599997, 1, 0.47700718, 0.47700718, 0.47700718, 1, 0, 0, 0, 1, 0.6397059, 0.6397059, 0.6397059, 1, 1, 1, 1, 1)
-
-[sub_resource type="GradientTexture2D" id="GradientTexture2D_6kf7p"]
-gradient = SubResource("Gradient_027rg")
-fill_from = Vector2(0, 1)
-fill_to = Vector2(0, 0)
-
-[sub_resource type="Gradient" id="Gradient_6xf1f"]
-colors = PackedColorArray(0, 0, 0, 0, 1.6260077, 1.6260077, 1.6260077, 1)
-
-[sub_resource type="FastNoiseLite" id="FastNoiseLite_gwku0"]
-noise_type = 2
-frequency = 0.0066
-fractal_lacunarity = 2.4785
-fractal_gain = 0.9265
-
-[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_fy8er"]
-width = 128
-height = 1024
-noise = SubResource("FastNoiseLite_gwku0")
-color_ramp = SubResource("Gradient_6xf1f")
-seamless = true
-
-[sub_resource type="CompositorEffect" id="CompositorEffect_yrk01"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_4n83u"]
resource_local_to_scene = false
resource_name = ""
enabled = true
effect_callback_type = 4
needs_motion_vectors = false
needs_normal_roughness = false
-script = ExtResource("5_e4lq5")
-opacity = 0.0
-blendMode = 1
-overlayTexture = SubResource("NoiseTexture2D_fy8er")
-overlayTint = Color(0, 0.18809195, 3.8326802, 0.16470589)
-tiling = Vector2(0.1, 1)
-scrolling = Vector2(0.133, 0.0165)
-maskTexture = SubResource("GradientTexture2D_6kf7p")
-alphaMapping = SubResource("CurveTexture_pjafb")
-animationTargets = [SubResource("Resource_xxny3")]
-compositorEffectID = SubResource("Resource_tn5uv")
-metadata/_custom_type_script = "uid://t5g1g1uv5yrj"
+script = ExtResource("4_yrk01")
+noise = 8.3491
+kernelOffset = 1
+iterations = 3
+animationTargets = [SubResource("Resource_63qv8")]
+compositorEffectID = SubResource("Resource_gxlxg")
+metadata/_custom_type_script = "uid://dqsxgtt4e6vwu"
-[sub_resource type="Curve" id="Curve_jpti0"]
-_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
-point_count = 2
-
-[sub_resource type="Resource" id="Resource_nt8a7"]
-script = ExtResource("1_rjlrx")
-member = "amount"
-curve = SubResource("Curve_jpti0")
-metadata/_custom_type_script = "uid://dvvfvlutisecy"
-
-[sub_resource type="Resource" id="Resource_0y4dn"]
-script = ExtResource("3_pjafb")
-owner = SubResource("Resource_008mr")
-
-[sub_resource type="CompositorEffect" id="CompositorEffect_e4lq5"]
-resource_local_to_scene = false
-resource_name = ""
-enabled = true
-effect_callback_type = 4
-needs_motion_vectors = false
-needs_normal_roughness = false
-script = ExtResource("6_soflx")
-amount = 0.0
-smearingFrames = 10.0
-animationTargets = [SubResource("Resource_nt8a7")]
-compositorEffectID = SubResource("Resource_0y4dn")
-metadata/_custom_type_script = "uid://bjxayoleund83"
-
-[sub_resource type="Curve" id="Curve_adfmi"]
-_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
-point_count = 2
-
-[sub_resource type="Resource" id="Resource_jvxnt"]
-script = ExtResource("1_rjlrx")
-member = "amount"
-curve = SubResource("Curve_adfmi")
-metadata/_custom_type_script = "uid://dvvfvlutisecy"
-
-[sub_resource type="Curve" id="Curve_ade2u"]
-_limits = [0.0, 2.0, 0.0, 1.0]
-_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(1, 0.16842103), 0.0, 0.0, 0, 0]
-point_count = 2
-
-[sub_resource type="Resource" id="Resource_x0p8u"]
-script = ExtResource("1_rjlrx")
-member = "ringSizeXY"
-curve = SubResource("Curve_ade2u")
-metadata/_custom_type_script = "uid://dvvfvlutisecy"
-
-[sub_resource type="Resource" id="Resource_5q01g"]
-script = ExtResource("3_pjafb")
-owner = SubResource("Resource_008mr")
-
-[sub_resource type="Curve" id="Curve_krf45"]
-_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.5, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
+[sub_resource type="Curve" id="Curve_ixn1d"]
+_data = [Vector2(0, 0), 0.0, 0.0, 0, 1, Vector2(0.20437956, 0), 0.0, 0.0, 0, 0, Vector2(1, 1), 3.003152, 0.0, 0, 0]
point_count = 3
-[sub_resource type="CurveTexture" id="CurveTexture_a4g6s"]
-width = 64
-curve = SubResource("Curve_krf45")
+[sub_resource type="Resource" id="Resource_3tnad"]
+script = ExtResource("1_rjlrx")
+member = "amount"
+curve = SubResource("Curve_ixn1d")
+metadata/_custom_type_script = "uid://dvvfvlutisecy"
-[sub_resource type="CompositorEffect" id="CompositorEffect_soflx"]
+[sub_resource type="Resource" id="Resource_cxc3f"]
+script = ExtResource("3_pjafb")
+owner = SubResource("Resource_008mr")
+
+[sub_resource type="Curve" id="Curve_8b3wv"]
+_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
+point_count = 2
+
+[sub_resource type="CurveTexture" id="CurveTexture_0klnf"]
+width = 64
+curve = SubResource("Curve_8b3wv")
+
+[sub_resource type="CompositorEffect" id="CompositorEffect_h2kd5"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -178,25 +99,54 @@ effect_callback_type = 4
needs_motion_vectors = false
needs_normal_roughness = false
script = ExtResource("7_be0li")
-amount = 0.0
-ringSizeXY = 0.0
-ringSizeScale = Vector2(1.0794, 1)
+amount = 1.0
+ringSizeXY = 1.034
ringResolution = 32
-zMapping = SubResource("CurveTexture_a4g6s")
-distortionAmount = 0.1071
-smearingSteps = 12
-smearing = 1.5
-redShift = -1.0
-greenShift = 0.0435
-blueShift = 1.0
-lumaInputRange = Vector2(0.1465, 0.2795)
+zRange = Vector2(0, 1000)
+zMapping = SubResource("CurveTexture_0klnf")
+distortionAmount = 0.0364
+smearingSteps = 4
+smearing = 1.3835
+redShift = 0.3888
+blueShift = -0.1711
+lumaInputRange = Vector2(0, 1.5)
+lumaNormalizationPower = 0.5
lumaOutputRange = Vector2(0, 20)
-desaturation = 0.0
-animationTargets = [SubResource("Resource_jvxnt"), SubResource("Resource_x0p8u")]
-compositorEffectID = SubResource("Resource_5q01g")
+desaturation = 0.5
+lumaTint = Color(1.55, 1.0856978, 0.6692762, 1)
+downSampling = 1
+animationTargets = [SubResource("Resource_3tnad")]
+compositorEffectID = SubResource("Resource_cxc3f")
metadata/_custom_type_script = "uid://di2ro5eatxy0c"
+[sub_resource type="Curve" id="Curve_sdunf"]
+_data = [Vector2(0, 0), 0.0, 1.0, 0, 1, Vector2(1, 1), 1.0, 0.0, 1, 0]
+point_count = 2
+
+[sub_resource type="Resource" id="Resource_5wyb8"]
+script = ExtResource("1_rjlrx")
+member = "amount"
+curve = SubResource("Curve_sdunf")
+metadata/_custom_type_script = "uid://dvvfvlutisecy"
+
+[sub_resource type="Resource" id="Resource_pl7u1"]
+script = ExtResource("3_pjafb")
+owner = SubResource("Resource_008mr")
+
+[sub_resource type="CompositorEffect" id="CompositorEffect_4k7mp"]
+resource_local_to_scene = false
+resource_name = ""
+enabled = true
+effect_callback_type = 4
+needs_motion_vectors = false
+needs_normal_roughness = false
+script = ExtResource("6_bkqil")
+smearingFrames = 8.0
+animationTargets = [SubResource("Resource_5wyb8")]
+compositorEffectID = SubResource("Resource_pl7u1")
+metadata/_custom_type_script = "uid://cowk70ifagygb"
+
[resource]
script = ExtResource("8_h2u0p")
-effects = [SubResource("CompositorEffect_rjlrx"), SubResource("CompositorEffect_yrk01"), SubResource("CompositorEffect_e4lq5"), SubResource("CompositorEffect_soflx")]
+effects = [SubResource("CompositorEffect_hpfyh"), SubResource("CompositorEffect_4n83u"), SubResource("CompositorEffect_h2kd5"), SubResource("CompositorEffect_4k7mp")]
metadata/_custom_type_script = "uid://ckixweetchlo0"
diff --git a/Runtime/Rendering/Compositor/CompositorVFXPresets/Character/Drunken.tres b/Runtime/Rendering/Compositor/CompositorVFXPresets/Character/Drunken.tres
index 859fdfc..69979b8 100644
--- a/Runtime/Rendering/Compositor/CompositorVFXPresets/Character/Drunken.tres
+++ b/Runtime/Rendering/Compositor/CompositorVFXPresets/Character/Drunken.tres
@@ -1,107 +1,53 @@
-[gd_resource type="Resource" script_class="CompositorVFXPreset" load_steps=32 format=3 uid="uid://ciirupc5c1rvf"]
+[gd_resource type="Resource" script_class="CompositorVFXPreset" load_steps=20 format=3 uid="uid://ciirupc5c1rvf"]
[ext_resource type="Script" uid="uid://dvvfvlutisecy" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/AnimationTargets/CompFXMemberCurveTarget.cs" id="1_wx28p"]
-[ext_resource type="Resource" uid="uid://bwhnq7w0tpgv" path="res://VFX/Action FX Compositor Effect Layer.tres" id="2_fp4l4"]
[ext_resource type="Script" uid="uid://cx5qcow1mmd11" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorEffectOwner.cs" id="2_ysy1a"]
[ext_resource type="Script" uid="uid://comuvej4dr22k" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/RokojoriCompositorEffectID.cs" id="3_fp4l4"]
-[ext_resource type="Script" uid="uid://cjfxcl3cdhnku" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/LightnessBasedAdjustment/LightnessBasedAdjustmentEffect.cs" id="4_6uu40"]
-[ext_resource type="Script" uid="uid://b2oxy6ln560ys" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/ColorQuantizer/ColorQuantizerEffect.cs" id="5_qwq32"]
+[ext_resource type="Script" uid="uid://bgiluy6xgcvb0" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Overlay/Vignette/VignetteEffect.cs" id="3_ifhyp"]
+[ext_resource type="Script" uid="uid://b2oxy6ln560ys" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Color/ColorQuantizer/ColorQuantizerEffect.cs" id="5_qwq32"]
[ext_resource type="Script" uid="uid://cidk0x7sb1pxl" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Distortion/NoiseDistortion/NoiseDistortionEffect.cs" id="6_kwewy"]
-[ext_resource type="Script" uid="uid://bjxayoleund83" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/TemporalSmearSimple/TemporalSmearSimpleEffect.cs" id="7_4kq05"]
-[ext_resource type="Script" uid="uid://dq0uf1bqoefv" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/RadialBlur2/RadialBlur2.cs" id="8_qmrs8"]
+[ext_resource type="Script" uid="uid://cowk70ifagygb" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/TemporalBlur/TemporalBlurEffect.cs" id="7_wx28p"]
[ext_resource type="Script" uid="uid://ckixweetchlo0" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorVFXPreset.cs" id="9_srrpj"]
-[sub_resource type="Curve" id="Curve_wvg34"]
-_data = [Vector2(0, 0), 0.0, 1.0, 0, 1, Vector2(1, 1), 1.0, 0.0, 1, 0]
-point_count = 2
-
-[sub_resource type="Resource" id="Resource_72jau"]
-script = ExtResource("1_wx28p")
-member = "amount"
-curve = SubResource("Curve_wvg34")
-
[sub_resource type="Resource" id="Resource_fy8er"]
script = ExtResource("2_ysy1a")
-[sub_resource type="Resource" id="Resource_cqn6v"]
+[sub_resource type="Resource" id="Resource_p64cs"]
script = ExtResource("3_fp4l4")
owner = SubResource("Resource_fy8er")
-layer = ExtResource("2_fp4l4")
-priority = 1
-[sub_resource type="CompositorEffect" id="CompositorEffect_6uu40"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_i5utj"]
resource_local_to_scene = false
resource_name = ""
enabled = true
effect_callback_type = 4
needs_motion_vectors = false
needs_normal_roughness = false
-script = ExtResource("4_6uu40")
-amount = 0.0
-hueShift = Vector3(-0.01, 0, 0.05)
-saturationShift = Vector3(0.2225, -0.0175, -0.1)
-saturationAmount = 0.7273
-lightnessShift = Vector3(0.05, -0.05, 0.0085)
-animationTargets = [SubResource("Resource_72jau")]
-compositorEffectID = SubResource("Resource_cqn6v")
-metadata/_custom_type_script = "uid://cjfxcl3cdhnku"
+script = ExtResource("3_ifhyp")
+fadePosition = 0.6416
+fadeInOffset = -0.232
+fadeOutOffset = 0.251
+fadePower = -2.0189
+ellipseToCircle = 1.0
+compositorEffectID = SubResource("Resource_p64cs")
+metadata/_custom_type_script = "uid://bgiluy6xgcvb0"
-[sub_resource type="Curve" id="Curve_me2ag"]
+[sub_resource type="Curve" id="Curve_22k1k"]
_data = [Vector2(0, 0), 0.0, 1.0, 0, 1, Vector2(1, 1), 1.0, 0.0, 1, 0]
point_count = 2
-[sub_resource type="Resource" id="Resource_8b3wv"]
+[sub_resource type="Resource" id="Resource_hpfyh"]
script = ExtResource("1_wx28p")
member = "amount"
-curve = SubResource("Curve_me2ag")
+curve = SubResource("Curve_22k1k")
+curveScale = 0.05
+metadata/_custom_type_script = "uid://dvvfvlutisecy"
-[sub_resource type="Resource" id="Resource_y78fk"]
+[sub_resource type="Resource" id="Resource_63qv8"]
script = ExtResource("3_fp4l4")
owner = SubResource("Resource_fy8er")
-layer = ExtResource("2_fp4l4")
-priority = 1
-[sub_resource type="CompositorEffect" id="CompositorEffect_qwq32"]
-resource_local_to_scene = false
-resource_name = ""
-enabled = true
-effect_callback_type = 4
-needs_motion_vectors = false
-needs_normal_roughness = false
-script = ExtResource("5_qwq32")
-amount = 0.0
-redAmount = 0.0
-greenAmount = 0.0
-blueAmount = 0.0
-rgbAmount = 0.0
-hueAmount = 1.0
-hueSteps = 50.0
-saturationAmount = 0.0
-luminanceAmount = 0.2981
-luminanceSteps = 50.9327
-luminanceGamma = -0.4423
-luminanceOffset = 0.8461
-animationTargets = [SubResource("Resource_8b3wv")]
-compositorEffectID = SubResource("Resource_y78fk")
-metadata/_custom_type_script = "uid://b2oxy6ln560ys"
-
-[sub_resource type="Curve" id="Curve_yd2p7"]
-_limits = [0.0, 0.1, 0.0, 1.0]
-_data = [Vector2(0, 0), 0.0, 0.026315786, 0, 1, Vector2(1, 0.026315786), 0.026315786, 0.0, 1, 0]
-point_count = 2
-
-[sub_resource type="Resource" id="Resource_ch4em"]
-script = ExtResource("1_wx28p")
-member = "amount"
-curve = SubResource("Curve_yd2p7")
-
-[sub_resource type="Resource" id="Resource_71075"]
-script = ExtResource("3_fp4l4")
-owner = SubResource("Resource_fy8er")
-layer = ExtResource("2_fp4l4")
-priority = 1
-
-[sub_resource type="CompositorEffect" id="CompositorEffect_kwewy"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_gxlxg"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -109,78 +55,61 @@ effect_callback_type = 4
needs_motion_vectors = false
needs_normal_roughness = false
script = ExtResource("6_kwewy")
-amount = 0.0
-scale = 5.5463
-smearingSteps = 4
-smearing = 1.1337
-xU = Vector3(0.078, 0.29, 3)
-xV = Vector3(0.149, 0.132, 10)
-yU = Vector3(0.4285, 0.192, 3)
-yV = Vector3(0.0425, 0.042, 6)
-animationTargets = [SubResource("Resource_ch4em")]
-compositorEffectID = SubResource("Resource_71075")
+amount = 0.05
+scale = 5.0619
+smearingSteps = 5
+smearing = 1.2095
+xU = Vector3(0.4965, 1, 1)
+xV = Vector3(0.418, 0.22, 0.2)
+yU = Vector3(-0.183, 2.4, 0.23)
+yV = Vector3(-0.1135, 0.305, 0.2)
+redShift = 0.0
+animationTargets = [SubResource("Resource_hpfyh")]
+compositorEffectID = SubResource("Resource_63qv8")
metadata/_custom_type_script = "uid://cidk0x7sb1pxl"
-[sub_resource type="Curve" id="Curve_uyccs"]
-_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(1, 0.5010811), 0.0, 0.0, 0, 0]
-point_count = 2
-
-[sub_resource type="Resource" id="Resource_uyccs"]
-script = ExtResource("1_wx28p")
-member = "amount"
-curve = SubResource("Curve_uyccs")
-
-[sub_resource type="Resource" id="Resource_0xdfm"]
+[sub_resource type="Resource" id="Resource_72jau"]
script = ExtResource("3_fp4l4")
owner = SubResource("Resource_fy8er")
-layer = ExtResource("2_fp4l4")
-priority = 1
-[sub_resource type="CompositorEffect" id="CompositorEffect_4kq05"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_ixn1d"]
resource_local_to_scene = false
resource_name = ""
enabled = true
effect_callback_type = 4
needs_motion_vectors = false
needs_normal_roughness = false
-script = ExtResource("7_4kq05")
-amount = 0.0
-smearingFrames = 32.0
-animationTargets = [SubResource("Resource_uyccs")]
-compositorEffectID = SubResource("Resource_0xdfm")
-metadata/_custom_type_script = "uid://bjxayoleund83"
+script = ExtResource("5_qwq32")
+amount = 1.0
+redAmount = 0.0
+greenAmount = 0.0
+blueAmount = 0.0
+rgbAmount = 0.0
+hueAmount = 0.0
+saturationAmount = 0.0
+luminanceAmount = 0.0
+luminanceSteps = 9.516
+luminanceGamma = -0.066
+luminanceOffset = 0.0094
+compositorEffectID = SubResource("Resource_72jau")
+metadata/_custom_type_script = "uid://b2oxy6ln560ys"
-[sub_resource type="Curve" id="Curve_7kss3"]
-_data = [Vector2(0, 0), 0.0, 1.0, 0, 1, Vector2(1, 1), 1.0, 0.0, 1, 0]
-point_count = 2
-
-[sub_resource type="Resource" id="Resource_7kss3"]
-script = ExtResource("1_wx28p")
-member = "intensity"
-curve = SubResource("Curve_7kss3")
-
-[sub_resource type="Resource" id="Resource_tgjf5"]
+[sub_resource type="Resource" id="Resource_3tnad"]
script = ExtResource("3_fp4l4")
owner = SubResource("Resource_fy8er")
-layer = ExtResource("2_fp4l4")
-priority = 1
-[sub_resource type="CompositorEffect" id="CompositorEffect_qmrs8"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_y3g14"]
resource_local_to_scene = false
resource_name = ""
enabled = true
effect_callback_type = 4
needs_motion_vectors = false
needs_normal_roughness = false
-script = ExtResource("8_qmrs8")
-radius = -0.0045
-intensity = 0.0
-samples = 16.0
-animationTargets = [SubResource("Resource_7kss3")]
-compositorEffectID = SubResource("Resource_tgjf5")
-metadata/_custom_type_script = "uid://dq0uf1bqoefv"
+script = ExtResource("7_wx28p")
+compositorEffectID = SubResource("Resource_3tnad")
+metadata/_custom_type_script = "uid://cowk70ifagygb"
[resource]
script = ExtResource("9_srrpj")
-effects = [SubResource("CompositorEffect_6uu40"), SubResource("CompositorEffect_qwq32"), SubResource("CompositorEffect_kwewy"), SubResource("CompositorEffect_4kq05"), SubResource("CompositorEffect_qmrs8")]
+effects = [SubResource("CompositorEffect_i5utj"), SubResource("CompositorEffect_gxlxg"), SubResource("CompositorEffect_ixn1d"), SubResource("CompositorEffect_y3g14")]
metadata/_custom_type_script = "uid://ckixweetchlo0"
diff --git a/Runtime/Rendering/Compositor/CompositorVFXPresets/Glow/Blue Cinematic Bloom.tres b/Runtime/Rendering/Compositor/CompositorVFXPresets/Glow/Blue Cinematic Bloom.tres
index f349da1..931cd3d 100644
--- a/Runtime/Rendering/Compositor/CompositorVFXPresets/Glow/Blue Cinematic Bloom.tres
+++ b/Runtime/Rendering/Compositor/CompositorVFXPresets/Glow/Blue Cinematic Bloom.tres
@@ -7,7 +7,7 @@
[ext_resource type="Script" uid="uid://6jkixa201wux" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Glow/ChromaticBloom/ChromaticBloomEffect.cs" id="5_gfw2j"]
[ext_resource type="Script" uid="uid://bmn34jsmjx7j8" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Glow/GhostBloom/GhostBloomSettings.cs" id="6_ll4h8"]
[ext_resource type="Script" uid="uid://c3ipi4e85bp0r" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Glow/GhostBloom/GhostBloomEffect.cs" id="7_ruaxh"]
-[ext_resource type="Script" uid="uid://cjfxcl3cdhnku" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/LightnessBasedAdjustment/LightnessBasedAdjustmentEffect.cs" id="8_7khkw"]
+[ext_resource type="Script" uid="uid://cjfxcl3cdhnku" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Color/LightnessBasedAdjustment/LightnessBasedAdjustmentEffect.cs" id="8_7khkw"]
[ext_resource type="Script" uid="uid://ckixweetchlo0" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorVFXPreset.cs" id="9_1yxhd"]
[sub_resource type="Curve" id="Curve_sdunf"]
diff --git a/Runtime/Rendering/Compositor/CompositorVFXPresets/Glow/Rainbow Star Glow.tres b/Runtime/Rendering/Compositor/CompositorVFXPresets/Glow/Rainbow Star Glow.tres
index e500f4b..313fca8 100644
--- a/Runtime/Rendering/Compositor/CompositorVFXPresets/Glow/Rainbow Star Glow.tres
+++ b/Runtime/Rendering/Compositor/CompositorVFXPresets/Glow/Rainbow Star Glow.tres
@@ -3,11 +3,11 @@
[ext_resource type="Script" uid="uid://dvvfvlutisecy" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/AnimationTargets/CompFXMemberCurveTarget.cs" id="1_e74ec"]
[ext_resource type="Script" uid="uid://cx5qcow1mmd11" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorEffectOwner.cs" id="2_bfksq"]
[ext_resource type="Script" uid="uid://comuvej4dr22k" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/RokojoriCompositorEffectID.cs" id="3_eyvih"]
-[ext_resource type="Script" uid="uid://t5g1g1uv5yrj" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/TextureOverlay/TextureOverlayEffect.cs" id="4_chktd"]
+[ext_resource type="Script" uid="uid://t5g1g1uv5yrj" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Overlay/TextureOverlay/TextureOverlayEffect.cs" id="4_chktd"]
[ext_resource type="Texture2D" uid="uid://cqaqvhmyuo56d" path="res://VFX/Compositor Effects/Star Glow/star-glow-blur.png" id="5_1gqhf"]
[ext_resource type="Script" uid="uid://cqkrgyuerq50a" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Distortion/EllispeDistortion/EllipseDistortionEffect.cs" id="6_t8xaw"]
[ext_resource type="Script" uid="uid://6jkixa201wux" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Glow/ChromaticBloom/ChromaticBloomEffect.cs" id="7_g2w8j"]
-[ext_resource type="Script" uid="uid://pevgspwywsxi" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/HSLAdjustment/HSLAdjustmentEffect.cs" id="8_bfeok"]
+[ext_resource type="Script" uid="uid://pevgspwywsxi" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Color/HSLAdjustment/HSLAdjustmentEffect.cs" id="8_bfeok"]
[ext_resource type="Script" uid="uid://ckixweetchlo0" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorVFXPreset.cs" id="9_fgrt2"]
[sub_resource type="Curve" id="Curve_e74ec"]
diff --git a/Runtime/Rendering/Compositor/CompositorVFXPresets/Physical/Frozen Ice.tres b/Runtime/Rendering/Compositor/CompositorVFXPresets/Physical/Frozen Ice.tres
index 489b4bb..9bb316f 100644
--- a/Runtime/Rendering/Compositor/CompositorVFXPresets/Physical/Frozen Ice.tres
+++ b/Runtime/Rendering/Compositor/CompositorVFXPresets/Physical/Frozen Ice.tres
@@ -3,9 +3,9 @@
[ext_resource type="Script" uid="uid://dvvfvlutisecy" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/AnimationTargets/CompFXMemberCurveTarget.cs" id="1_dw6h6"]
[ext_resource type="Script" uid="uid://cx5qcow1mmd11" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorEffectOwner.cs" id="2_dsqqr"]
[ext_resource type="Script" uid="uid://comuvej4dr22k" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/RokojoriCompositorEffectID.cs" id="3_wy4el"]
-[ext_resource type="Script" uid="uid://t5g1g1uv5yrj" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/TextureOverlay/TextureOverlayEffect.cs" id="4_g042w"]
+[ext_resource type="Script" uid="uid://t5g1g1uv5yrj" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Overlay/TextureOverlay/TextureOverlayEffect.cs" id="4_g042w"]
[ext_resource type="Script" uid="uid://balixgskgouhm" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Distortion/TextureDistortion/TextureDistortionEffect.cs" id="5_ecf1s"]
-[ext_resource type="Script" uid="uid://pevgspwywsxi" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/HSLAdjustment/HSLAdjustmentEffect.cs" id="6_vhp5e"]
+[ext_resource type="Script" uid="uid://pevgspwywsxi" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Color/HSLAdjustment/HSLAdjustmentEffect.cs" id="6_vhp5e"]
[ext_resource type="Script" uid="uid://ckixweetchlo0" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorVFXPreset.cs" id="7_ibrjq"]
[sub_resource type="Curve" id="Curve_q52cp"]
@@ -60,7 +60,7 @@ noise = SubResource("FastNoiseLite_8vqmt")
color_ramp = SubResource("Gradient_1ntwo")
seamless = true
-[sub_resource type="CompositorEffect" id="CompositorEffect_7axlu"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_q52cp"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -118,7 +118,7 @@ gradient = SubResource("Gradient_rjwbk")
fill = 2
fill_from = Vector2(0.5, 0.5)
-[sub_resource type="CompositorEffect" id="CompositorEffect_i5utj"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_ba71q"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -187,7 +187,7 @@ noise = SubResource("FastNoiseLite_pv8u5")
color_ramp = SubResource("Gradient_galw3")
seamless = true
-[sub_resource type="CompositorEffect" id="CompositorEffect_22k1k"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_fumfa"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -223,7 +223,7 @@ curve = SubResource("Curve_7ucn0")
script = ExtResource("3_wy4el")
owner = SubResource("Resource_6xf1f")
-[sub_resource type="CompositorEffect" id="CompositorEffect_hpfyh"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_e3oac"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -241,5 +241,5 @@ metadata/_custom_type_script = "uid://pevgspwywsxi"
[resource]
script = ExtResource("7_ibrjq")
-effects = [SubResource("CompositorEffect_7axlu"), SubResource("CompositorEffect_i5utj"), SubResource("CompositorEffect_22k1k"), SubResource("CompositorEffect_hpfyh")]
+effects = [SubResource("CompositorEffect_q52cp"), SubResource("CompositorEffect_ba71q"), SubResource("CompositorEffect_fumfa"), SubResource("CompositorEffect_e3oac")]
metadata/_custom_type_script = "uid://ckixweetchlo0"
diff --git a/Runtime/Rendering/Compositor/CompositorVFXPresets/Physical/Super Speed.tres b/Runtime/Rendering/Compositor/CompositorVFXPresets/Physical/Super Speed.tres
index d8b5a61..522482f 100644
--- a/Runtime/Rendering/Compositor/CompositorVFXPresets/Physical/Super Speed.tres
+++ b/Runtime/Rendering/Compositor/CompositorVFXPresets/Physical/Super Speed.tres
@@ -4,11 +4,11 @@
[ext_resource type="Script" uid="uid://cx5qcow1mmd11" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorEffectOwner.cs" id="2_kelqw"]
[ext_resource type="Script" uid="uid://comuvej4dr22k" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/RokojoriCompositorEffectID.cs" id="3_7oha2"]
[ext_resource type="Script" uid="uid://cqkrgyuerq50a" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Distortion/EllispeDistortion/EllipseDistortionEffect.cs" id="4_pflfa"]
-[ext_resource type="Script" uid="uid://t5g1g1uv5yrj" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/TextureOverlay/TextureOverlayEffect.cs" id="5_6d3w2"]
+[ext_resource type="Script" uid="uid://t5g1g1uv5yrj" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Overlay/TextureOverlay/TextureOverlayEffect.cs" id="5_6d3w2"]
[ext_resource type="Script" uid="uid://ckixweetchlo0" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorVFXPreset.cs" id="6_g7p6u"]
[sub_resource type="Curve" id="Curve_x2b2j"]
-_data = [Vector2(0, 0), 0.0, 0.113684244, 0, 0, Vector2(0.39285716, 0.44210523), 1.8189471, 1.8189471, 0, 0, Vector2(1, 1), 0.051012084, 0.0, 0, 0]
+_data = [Vector2(0, 0), 0.0, 0.113684244, 0, 0, Vector2(0.44615388, 0.634375), 1.8189471, 1.8189471, 0, 0, Vector2(1, 1), 0.051012084, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_kelqw"]
@@ -38,6 +38,7 @@ offsets = PackedFloat32Array(0.2090909, 0.94545454)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_6d3w2"]
gradient = SubResource("Gradient_pflfa")
+fill_from = Vector2(0, 0.16666667)
fill_to = Vector2(0, 1)
[sub_resource type="Gradient" id="Gradient_g7p6u"]
@@ -56,7 +57,7 @@ noise = SubResource("FastNoiseLite_8gn8u")
color_ramp = SubResource("Gradient_g7p6u")
seamless = true
-[sub_resource type="CompositorEffect" id="CompositorEffect_diigt"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_ie6m2"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -64,7 +65,6 @@ effect_callback_type = 4
needs_motion_vectors = false
needs_normal_roughness = false
script = ExtResource("5_6d3w2")
-opacity = 0.0
blendMode = 1
uvMode = 1
overlayTexture = SubResource("NoiseTexture2D_segrq")
@@ -93,7 +93,7 @@ metadata/_custom_type_script = "uid://dvvfvlutisecy"
script = ExtResource("3_7oha2")
owner = SubResource("Resource_diigt")
-[sub_resource type="CompositorEffect" id="CompositorEffect_1qvce"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_i5utj"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -101,9 +101,9 @@ effect_callback_type = 4
needs_motion_vectors = false
needs_normal_roughness = false
script = ExtResource("4_pflfa")
-distortionAmount = 0.0
-ellipseScale = 0.974
-minDistance = 0.37
+distortionAmount = 0.3043
+ellipseSize = Vector2(0.729, 0.729)
+minDistance = 0.199
smearingSteps = 7
smearing = 1.5
redShift = 0.341
@@ -147,7 +147,7 @@ noise = SubResource("FastNoiseLite_akcsj")
color_ramp = SubResource("Gradient_ml7cv")
seamless = true
-[sub_resource type="CompositorEffect" id="CompositorEffect_rxqhi"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_22k1k"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -155,7 +155,6 @@ effect_callback_type = 4
needs_motion_vectors = false
needs_normal_roughness = false
script = ExtResource("5_6d3w2")
-opacity = 0.0
uvMode = 1
overlayTexture = SubResource("NoiseTexture2D_y4a3q")
tiling = Vector2(7, 1)
@@ -170,5 +169,5 @@ metadata/_custom_type_script = "uid://t5g1g1uv5yrj"
[resource]
script = ExtResource("6_g7p6u")
-effects = [SubResource("CompositorEffect_diigt"), SubResource("CompositorEffect_1qvce"), SubResource("CompositorEffect_rxqhi")]
+effects = [SubResource("CompositorEffect_ie6m2"), SubResource("CompositorEffect_i5utj"), SubResource("CompositorEffect_22k1k")]
metadata/_custom_type_script = "uid://ckixweetchlo0"
diff --git a/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Analog Tube TV .tres b/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Analog Tube TV .tres
index 6938de7..d27aa70 100644
--- a/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Analog Tube TV .tres
+++ b/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Analog Tube TV .tres
@@ -4,7 +4,7 @@
[ext_resource type="Script" uid="uid://cx5qcow1mmd11" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorEffectOwner.cs" id="2_uexx8"]
[ext_resource type="Script" uid="uid://comuvej4dr22k" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/RokojoriCompositorEffectID.cs" id="3_qf8os"]
[ext_resource type="Script" uid="uid://lytit04mgc2d" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Noise/ChannelPixelation/ChannelPixelationEffect.cs" id="4_1drgm"]
-[ext_resource type="Script" uid="uid://dxnmlb5wobxtw" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Distortion/ScanLines/ScanLinesEffect.cs" id="5_x4xey"]
+[ext_resource type="Script" uid="uid://dxnmlb5wobxtw" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Overlay/ScanLines/ScanLinesEffect.cs" id="5_x4xey"]
[ext_resource type="Script" uid="uid://balixgskgouhm" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Distortion/TextureDistortion/TextureDistortionEffect.cs" id="6_2tsv7"]
[ext_resource type="Script" uid="uid://v8yddy4erbru" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Color/HSLCurves/HSLCurvesEffect.cs" id="7_3jbr0"]
[ext_resource type="Script" uid="uid://ckixweetchlo0" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorVFXPreset.cs" id="8_l3sri"]
diff --git a/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Digital Compression.tres b/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Digital Compression.tres
index 07001aa..abda4a3 100644
--- a/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Digital Compression.tres
+++ b/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Digital Compression.tres
@@ -3,8 +3,8 @@
[ext_resource type="Script" uid="uid://dvvfvlutisecy" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/AnimationTargets/CompFXMemberCurveTarget.cs" id="1_o7k2r"]
[ext_resource type="Script" uid="uid://cx5qcow1mmd11" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorEffectOwner.cs" id="2_l025j"]
[ext_resource type="Script" uid="uid://comuvej4dr22k" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/RokojoriCompositorEffectID.cs" id="3_ppfcw"]
-[ext_resource type="Script" uid="uid://dqsxgtt4e6vwu" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/BoxBlur/BoxBlurEffect.cs" id="4_58ml0"]
-[ext_resource type="Script" uid="uid://b2oxy6ln560ys" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/ColorQuantizer/ColorQuantizerEffect.cs" id="5_w2f2x"]
+[ext_resource type="Script" uid="uid://dqsxgtt4e6vwu" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/BoxBlur/BoxBlurEffect.cs" id="4_qef0q"]
+[ext_resource type="Script" uid="uid://b2oxy6ln560ys" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Color/ColorQuantizer/ColorQuantizerEffect.cs" id="5_15weo"]
[ext_resource type="Script" uid="uid://lytit04mgc2d" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Noise/ChannelPixelation/ChannelPixelationEffect.cs" id="6_t1i6v"]
[ext_resource type="Script" uid="uid://ckixweetchlo0" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorVFXPreset.cs" id="7_nca4q"]
@@ -24,14 +24,14 @@ script = ExtResource("2_l025j")
script = ExtResource("3_ppfcw")
owner = SubResource("Resource_oqkh4")
-[sub_resource type="CompositorEffect" id="CompositorEffect_sw5v3"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_xp4g8"]
resource_local_to_scene = false
resource_name = ""
enabled = true
effect_callback_type = 4
needs_motion_vectors = false
needs_normal_roughness = false
-script = ExtResource("4_58ml0")
+script = ExtResource("4_qef0q")
intensity = 0.0
noise = 4.5
iterations = 1
@@ -62,14 +62,14 @@ curve = SubResource("Curve_6a7ab")
script = ExtResource("3_ppfcw")
owner = SubResource("Resource_oqkh4")
-[sub_resource type="CompositorEffect" id="CompositorEffect_wi6eu"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_8fuac"]
resource_local_to_scene = false
resource_name = ""
enabled = true
effect_callback_type = 4
needs_motion_vectors = false
needs_normal_roughness = false
-script = ExtResource("5_w2f2x")
+script = ExtResource("5_15weo")
amount = 0.0
redAmount = 0.0
greenAmount = 0.0
@@ -115,7 +115,7 @@ targetType = 1
script = ExtResource("3_ppfcw")
owner = SubResource("Resource_oqkh4")
-[sub_resource type="CompositorEffect" id="CompositorEffect_7720d"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_es78x"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -150,7 +150,7 @@ curve = SubResource("Curve_yynim")
script = ExtResource("3_ppfcw")
owner = SubResource("Resource_oqkh4")
-[sub_resource type="CompositorEffect" id="CompositorEffect_a3id7"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_buv7p"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -174,5 +174,5 @@ metadata/_custom_type_script = "uid://lytit04mgc2d"
[resource]
script = ExtResource("7_nca4q")
-effects = [SubResource("CompositorEffect_sw5v3"), SubResource("CompositorEffect_wi6eu"), SubResource("CompositorEffect_7720d"), SubResource("CompositorEffect_a3id7")]
+effects = [SubResource("CompositorEffect_xp4g8"), SubResource("CompositorEffect_8fuac"), SubResource("CompositorEffect_es78x"), SubResource("CompositorEffect_buv7p")]
metadata/_custom_type_script = "uid://ckixweetchlo0"
diff --git a/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Old Film.tres b/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Old Film.tres
index daf8ee6..6e5430a 100644
--- a/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Old Film.tres
+++ b/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Old Film.tres
@@ -3,10 +3,10 @@
[ext_resource type="Script" uid="uid://dvvfvlutisecy" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/AnimationTargets/CompFXMemberCurveTarget.cs" id="1_huxlh"]
[ext_resource type="Script" uid="uid://cx5qcow1mmd11" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorEffectOwner.cs" id="2_2sqw4"]
[ext_resource type="Script" uid="uid://comuvej4dr22k" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/RokojoriCompositorEffectID.cs" id="3_pvdsg"]
-[ext_resource type="Script" uid="uid://cn2103slcr2vs" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Sepia/SepiaEffect.cs" id="4_aapvk"]
+[ext_resource type="Script" uid="uid://cn2103slcr2vs" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Color/Sepia/SepiaEffect.cs" id="4_aapvk"]
[ext_resource type="Script" uid="uid://be2v7ns5irml5" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Distortion/EdgeDistortion/EdgeDistortionEffect.cs" id="5_84fcg"]
-[ext_resource type="Script" uid="uid://dqsxgtt4e6vwu" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/BoxBlur/BoxBlurEffect.cs" id="6_qp6bm"]
-[ext_resource type="Script" uid="uid://t5g1g1uv5yrj" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/TextureOverlay/TextureOverlayEffect.cs" id="7_g2cwq"]
+[ext_resource type="Script" uid="uid://dqsxgtt4e6vwu" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Blur&Sharpen/BoxBlur/BoxBlurEffect.cs" id="6_huxlh"]
+[ext_resource type="Script" uid="uid://t5g1g1uv5yrj" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Overlay/TextureOverlay/TextureOverlayEffect.cs" id="7_g2cwq"]
[ext_resource type="Script" uid="uid://ckixweetchlo0" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorVFXPreset.cs" id="8_0kucv"]
[sub_resource type="Curve" id="Curve_5d4gp"]
@@ -26,7 +26,7 @@ script = ExtResource("2_2sqw4")
script = ExtResource("3_pvdsg")
owner = SubResource("Resource_gyycf")
-[sub_resource type="CompositorEffect" id="CompositorEffect_huxlh"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_2sqw4"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -56,7 +56,7 @@ metadata/_custom_type_script = "uid://dvvfvlutisecy"
script = ExtResource("3_pvdsg")
owner = SubResource("Resource_gyycf")
-[sub_resource type="CompositorEffect" id="CompositorEffect_2sqw4"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_pvdsg"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -91,14 +91,14 @@ metadata/_custom_type_script = "uid://dvvfvlutisecy"
script = ExtResource("3_pvdsg")
owner = SubResource("Resource_gyycf")
-[sub_resource type="CompositorEffect" id="CompositorEffect_pvdsg"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_aapvk"]
resource_local_to_scene = false
resource_name = ""
enabled = true
effect_callback_type = 4
needs_motion_vectors = false
needs_normal_roughness = false
-script = ExtResource("6_qp6bm")
+script = ExtResource("6_huxlh")
intensity = 0.0
noise = 0.0215
kernelOffset = 1
@@ -158,7 +158,7 @@ noise = SubResource("FastNoiseLite_p0wf3")
color_ramp = SubResource("Gradient_ily1w")
seamless = true
-[sub_resource type="CompositorEffect" id="CompositorEffect_aapvk"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_84fcg"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -220,7 +220,7 @@ noise = SubResource("FastNoiseLite_mtdmv")
color_ramp = SubResource("Gradient_yn1hl")
seamless = true
-[sub_resource type="CompositorEffect" id="CompositorEffect_84fcg"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_qp6bm"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -283,7 +283,7 @@ color_ramp = SubResource("Gradient_hbmbv")
seamless = true
seamless_blend_skirt = 0.0
-[sub_resource type="CompositorEffect" id="CompositorEffect_qp6bm"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_g2cwq"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -346,7 +346,7 @@ gradient = SubResource("Gradient_xvwby")
fill = 2
fill_from = Vector2(0.5, 0.5)
-[sub_resource type="CompositorEffect" id="CompositorEffect_g2cwq"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_0kucv"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -364,5 +364,5 @@ metadata/_custom_type_script = "uid://t5g1g1uv5yrj"
[resource]
script = ExtResource("8_0kucv")
-effects = [SubResource("CompositorEffect_huxlh"), SubResource("CompositorEffect_2sqw4"), SubResource("CompositorEffect_pvdsg"), SubResource("CompositorEffect_aapvk"), SubResource("CompositorEffect_84fcg"), SubResource("CompositorEffect_qp6bm"), SubResource("CompositorEffect_g2cwq")]
+effects = [SubResource("CompositorEffect_2sqw4"), SubResource("CompositorEffect_pvdsg"), SubResource("CompositorEffect_aapvk"), SubResource("CompositorEffect_84fcg"), SubResource("CompositorEffect_qp6bm"), SubResource("CompositorEffect_g2cwq"), SubResource("CompositorEffect_0kucv")]
metadata/_custom_type_script = "uid://ckixweetchlo0"
diff --git a/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Sketch.tres b/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Sketch.tres
index ca92a0d..7f4d17e 100644
--- a/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Sketch.tres
+++ b/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Sketch.tres
@@ -1,9 +1,9 @@
-[gd_resource type="Resource" script_class="CompositorVFXPreset" load_steps=30 format=3 uid="uid://0blw3yhjw7y0"]
+[gd_resource type="Resource" script_class="CompositorVFXPreset" load_steps=32 format=3 uid="uid://0blw3yhjw7y0"]
[ext_resource type="Script" uid="uid://cx5qcow1mmd11" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorEffectOwner.cs" id="1_0ail8"]
[ext_resource type="Script" uid="uid://dvvfvlutisecy" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/AnimationTargets/CompFXMemberCurveTarget.cs" id="1_4xviq"]
[ext_resource type="Script" uid="uid://comuvej4dr22k" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/RokojoriCompositorEffectID.cs" id="2_tc21q"]
-[ext_resource type="Script" uid="uid://bx4j8ic80vl7f" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Outlines/DepthOutlines/DepthOutlinesEffect.cs" id="3_dryyw"]
+[ext_resource type="Script" uid="uid://bx4j8ic80vl7f" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Edge/DepthOutlines/DepthOutlinesEffect.cs" id="3_dryyw"]
[ext_resource type="Texture2D" uid="uid://c30nul6romace" path="res://addons/rokojori_action_library/Runtime/Procedural/Noise/RGB 3D Noise.png" id="5_orb2s"]
[ext_resource type="Script" uid="uid://balixgskgouhm" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Distortion/TextureDistortion/TextureDistortionEffect.cs" id="6_hdnet"]
[ext_resource type="Script" uid="uid://ckixweetchlo0" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorVFXPreset.cs" id="6_orb2s"]
@@ -26,20 +26,28 @@ script = ExtResource("2_tc21q")
owner = SubResource("Resource_ie6m2")
[sub_resource type="Curve" id="Curve_7axlu"]
-_data = [Vector2(0, 1), 0.0, -4.442954, 0, 0, Vector2(0.1704918, 0.36258066), -0.7034676, -0.7034676, 0, 0, Vector2(1, 0), -0.043128554, 0.0, 0, 0]
+_data = [Vector2(0, 1), 0.0, -18.573792, 0, 0, Vector2(0.07774799, 0.15679264), -0.687919, -0.687919, 0, 0, Vector2(1, 0), -0.069252, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_i5utj"]
curve = SubResource("Curve_7axlu")
+[sub_resource type="Curve" id="Curve_ie6m2"]
+_data = [Vector2(0, 0.59609824), 0.0, -6.9739895, 0, 0, Vector2(0.013779528, 0.488078), -0.24279492, -0.24279492, 0, 0, Vector2(1, 0.24310517), -0.2483956, 0.0, 1, 0]
+point_count = 3
+
+[sub_resource type="CurveTexture" id="CurveTexture_p64cs"]
+texture_mode = 1
+curve = SubResource("Curve_ie6m2")
+
[sub_resource type="Curve" id="Curve_22k1k"]
-_data = [Vector2(0, 0), 0.0, 0.19326083, 0, 0, Vector2(1, 1), 0.26667082, 0.0, 0, 0]
-point_count = 2
+_data = [Vector2(0, 0), 0.0, 0.19326083, 0, 0, Vector2(0.256, 0.2736842), 2.3308275, 2.3308275, 0, 0, Vector2(1, 1), 0.26667082, 0.0, 0, 0]
+point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_hpfyh"]
curve = SubResource("Curve_22k1k")
-[sub_resource type="CompositorEffect" id="CompositorEffect_ie6m2"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_tc21q"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -47,17 +55,21 @@ effect_callback_type = 4
needs_motion_vectors = false
needs_normal_roughness = false
script = ExtResource("3_dryyw")
-edgeColor = Color(0.06552577, 0.040088717, 0.048853662, 0.9372549)
-fillColor = Color(0.2, 0.2, 0.2, 0)
+amount = 0.0
+outlineWidth = -0.0516
+outlineWidthCurve = SubResource("CurveTexture_p64cs")
+edgeColor = Color(0.14817011, 0.21073082, 0.29634023, 1)
+edgeDistanceFade = 0.3454
+fillColor = Color(0.3764706, 0.3764706, 0.3764706, 0)
rimOffset = Vector2(0.001, -0.0051)
rimContrast = 0.0036
normalEdgeAmountMin = 0.006
normalEdgeAmountMax = 0.0215
-zTreshold = 0.3875
+zTreshold = 0.1785
zTresholdCurve = SubResource("CurveTexture_hpfyh")
edgeIntensity = 10.0
edgeIntensityCurve = SubResource("CurveTexture_i5utj")
-adaptiveScaleAmount = 0.1445
+adaptiveScaleAmount = 0.2789
adaptiveScaleNormalizer = 0.1
zInput = Vector2(0.1, 500)
animationTargets = [SubResource("Resource_7axlu")]
@@ -85,7 +97,7 @@ colors = PackedColorArray(1, 1, 1, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_w6tyf"]
gradient = SubResource("Gradient_frwbc")
-[sub_resource type="CompositorEffect" id="CompositorEffect_i5utj"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_dryyw"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -94,6 +106,7 @@ needs_motion_vectors = false
needs_normal_roughness = false
script = ExtResource("6_hdnet")
distortionAmount = 0.0049
+blendAmount = 0.0
smearingSteps = 1
smearing = 1.0
redShift = 0.0
@@ -131,7 +144,7 @@ colors = PackedColorArray(1, 1, 1, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_ixn1d"]
gradient = SubResource("Gradient_72jau")
-[sub_resource type="CompositorEffect" id="CompositorEffect_22k1k"]
+[sub_resource type="CompositorEffect" id="CompositorEffect_4xviq"]
resource_local_to_scene = false
resource_name = ""
enabled = true
@@ -140,6 +153,7 @@ needs_motion_vectors = false
needs_normal_roughness = false
script = ExtResource("6_hdnet")
distortionAmount = 0.0026
+blendAmount = 0.0
smearingSteps = 1
smearing = 1.0
redShift = 0.0
@@ -155,5 +169,5 @@ metadata/_custom_type_script = "uid://balixgskgouhm"
[resource]
script = ExtResource("6_orb2s")
-effects = [SubResource("CompositorEffect_ie6m2"), SubResource("CompositorEffect_i5utj"), SubResource("CompositorEffect_22k1k")]
+effects = [SubResource("CompositorEffect_tc21q"), SubResource("CompositorEffect_dryyw"), SubResource("CompositorEffect_4xviq")]
metadata/_custom_type_script = "uid://ckixweetchlo0"
diff --git a/Runtime/Rendering/Compositor/RokojoriCompositorEffect.cs b/Runtime/Rendering/Compositor/RokojoriCompositorEffect.cs
index cf42479..2516792 100644
--- a/Runtime/Rendering/Compositor/RokojoriCompositorEffect.cs
+++ b/Runtime/Rendering/Compositor/RokojoriCompositorEffect.cs
@@ -6,7 +6,7 @@ using System.Collections.Generic;
namespace Rokojori
{
[Tool]
- [GlobalClass]
+ [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/CompositorEffect.svg")]
public abstract partial class RokojoriCompositorEffect:CompositorEffect
{
[ExportGroup("Animation Targets")]
diff --git a/Runtime/Rendering/RenderGraph/Nodes/Processors/Blurs/TemporalBlur/RG_TemporalBlur.cs b/Runtime/Rendering/RenderGraph/Nodes/Processors/Blurs/TemporalBlur/RG_TemporalBlur.cs
new file mode 100644
index 0000000..d99e27e
--- /dev/null
+++ b/Runtime/Rendering/RenderGraph/Nodes/Processors/Blurs/TemporalBlur/RG_TemporalBlur.cs
@@ -0,0 +1,17 @@
+
+using Godot;
+using System.Collections.Generic;
+
+namespace Rokojori
+{
+ public class RG_TemporalBlur:CEG_ImageProcessor
+ {
+ public static readonly string shaderPath =
+ RDGraph.Path( "Nodes/Processors/Blurs/TemporalBlur/TemporalBlur.glsl" );
+
+ public RG_TemporalBlur( RDGraph graph ):base( graph, shaderPath )
+ {}
+
+
+ }
+}
\ No newline at end of file
diff --git a/Runtime/Rendering/RenderGraph/Nodes/Processors/Blurs/TemporalBlur/RG_TemporalBlur.cs.uid b/Runtime/Rendering/RenderGraph/Nodes/Processors/Blurs/TemporalBlur/RG_TemporalBlur.cs.uid
new file mode 100644
index 0000000..21a9bcc
--- /dev/null
+++ b/Runtime/Rendering/RenderGraph/Nodes/Processors/Blurs/TemporalBlur/RG_TemporalBlur.cs.uid
@@ -0,0 +1 @@
+uid://bfa18cxberhv6
diff --git a/Runtime/Rendering/RenderGraph/Nodes/Processors/Blurs/TemporalBlur/TemporalBlur.glsl b/Runtime/Rendering/RenderGraph/Nodes/Processors/Blurs/TemporalBlur/TemporalBlur.glsl
new file mode 100644
index 0000000..96ed5fb
--- /dev/null
+++ b/Runtime/Rendering/RenderGraph/Nodes/Processors/Blurs/TemporalBlur/TemporalBlur.glsl
@@ -0,0 +1,35 @@
+#[compute]
+#version 450
+
+#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Validation.gdshaderinc"
+
+layout(local_size_x = 8, local_size_y = 8, local_size_z = 1) in;
+
+layout(rgba16f, set = 0, binding = 0)
+uniform restrict image2D lastProcessedImage;
+
+layout(rgba16f, set = 1, binding = 0)
+uniform restrict image2D currentImage;
+
+layout( push_constant, std430 )
+uniform Params
+{
+ float amount;
+ float smearing;
+
+} params;
+
+void main()
+{
+ ivec2 currentPosition = ivec2( gl_GlobalInvocationID.xy );
+
+ vec4 currentPixel = ensureValidVec4( imageLoad( currentImage, currentPosition ) );
+ vec4 lastPixel = ensureValidVec4( imageLoad( lastProcessedImage, currentPosition ) );
+
+ vec4 nextPixel = currentPixel + params.smearing * ( lastPixel - currentPixel );
+ vec4 combinedPixel = mix( currentPixel, nextPixel, params.amount );
+
+
+ imageStore( currentImage, currentPosition, ensureValidVec4( combinedPixel ) );
+ imageStore( lastProcessedImage, currentPosition, ensureValidVec4( nextPixel ) );
+}
diff --git a/Runtime/Rendering/RenderGraph/Nodes/Processors/Blurs/TemporalBlur/TemporalBlur.glsl.import b/Runtime/Rendering/RenderGraph/Nodes/Processors/Blurs/TemporalBlur/TemporalBlur.glsl.import
new file mode 100644
index 0000000..cf15808
--- /dev/null
+++ b/Runtime/Rendering/RenderGraph/Nodes/Processors/Blurs/TemporalBlur/TemporalBlur.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://d0ap840526q4m"
+path="res://.godot/imported/TemporalBlur.glsl-3fa9f5353dee0a6c7f3139c797693a9f.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/RenderGraph/Nodes/Processors/Blurs/TemporalBlur/TemporalBlur.glsl"
+dest_files=["res://.godot/imported/TemporalBlur.glsl-3fa9f5353dee0a6c7f3139c797693a9f.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/RenderGraph/Nodes/Processors/Color/HDRMapping/HDRMapping.glsl b/Runtime/Rendering/RenderGraph/Nodes/Processors/Color/HDRMapping/HDRMapping.glsl
index 9b76bc2..a3d4ef9 100644
--- a/Runtime/Rendering/RenderGraph/Nodes/Processors/Color/HDRMapping/HDRMapping.glsl
+++ b/Runtime/Rendering/RenderGraph/Nodes/Processors/Color/HDRMapping/HDRMapping.glsl
@@ -21,7 +21,7 @@ uniform Parameters
float power;
float scale;
float maxOutputScale;
- float pad2;
+ float amount;
} parameters;
@@ -29,29 +29,30 @@ uniform Parameters
void main( )
{
- ivec2 size = imageSize( outputImage );
- ivec2 xy = ivec2( gl_GlobalInvocationID.xy );
-
- if ( any( greaterThanEqual( xy, size ) ) )
- {
- return;
- }
+ ivec2 size = imageSize( outputImage );
+ ivec2 xy = ivec2( gl_GlobalInvocationID.xy );
+
+ if ( any( greaterThanEqual( xy, size ) ) )
+ {
+ return;
+ }
- vec4 color = imageLoad( outputImage, xy );
+ vec4 color = imageLoad( outputImage, xy );
- float luma = color.r * parameters.lumaWeightR +
- color.g * parameters.lumaWeightG +
- color.b * parameters.lumaWeightB;
+ float luma = color.r * parameters.lumaWeightR +
+ color.g * parameters.lumaWeightG +
+ color.b * parameters.lumaWeightB;
- luma = pow( luma, parameters.power ) * parameters.scale;
+ luma = pow( luma, parameters.power ) * parameters.scale;
-
- float lookup = min( 1.0, luma / parameters.maximumLevel );
+
+ float lookup = min( 1.0, luma / parameters.maximumLevel );
- float outputScale = textureLod( mapping, vec2( lookup, 0.0 ), 0 ).r * parameters.maxOutputScale;
+ float outputScale = textureLod( mapping, vec2( lookup, 0.0 ), 0 ).r * parameters.maxOutputScale;
+ vec4 outputColor = vec4( color.rgb * outputScale / luma, color.a );
+ outputColor = mix( color, outputColor, parameters.amount );
-
- imageStore( outputImage, xy, normalize( color ) * outputScale );
+ imageStore( outputImage, xy, outputColor );
}
\ No newline at end of file
diff --git a/Runtime/Rendering/RenderGraph/Nodes/Processors/Noise/Pixelation/Pixelation.glsl b/Runtime/Rendering/RenderGraph/Nodes/Processors/Noise/Pixelation/Pixelation.glsl
new file mode 100644
index 0000000..9e6815b
--- /dev/null
+++ b/Runtime/Rendering/RenderGraph/Nodes/Processors/Noise/Pixelation/Pixelation.glsl
@@ -0,0 +1,48 @@
+#[compute]
+#version 450
+
+layout(local_size_x = 8, local_size_y = 8, local_size_z = 1) in;
+
+layout(rgba16f, set = 0, binding = 0)
+uniform image2D inputImage;
+
+layout(rgba16f, set = 1, binding = 0)
+uniform image2D outputImage;
+
+layout( push_constant, std430)
+uniform Parameters
+{
+ vec2 rasterSize;
+ float pixelSize;
+ float reserved;
+
+} parameters;
+
+void main()
+{
+ ivec2 xy = ivec2( gl_GlobalInvocationID.xy );
+ ivec2 size = ivec2( parameters.rasterSize );
+
+ if ( xy.x >= size.x || xy.y >= size.y )
+ {
+ return;
+ }
+
+ float pixelSizeF = parameters.pixelSize;
+ int pixelSize = int( pixelSizeF );
+ float halfPixelSizeF = pixelSizeF / 2.0;
+
+ vec2 rasterSize = parameters.rasterSize;
+
+ float x = float( xy.x % pixelSize );
+ float y = float( xy.y % pixelSize );
+
+ x = xy.x + floor( halfPixelSizeF ) - x;
+ y = xy.y + floor( halfPixelSizeF ) - y;
+
+ x = min( x, rasterSize.x - max( 1.0, halfPixelSizeF ) );
+ y = min( y, rasterSize.y - max( 1.0, halfPixelSizeF ) );
+
+ vec4 color = imageLoad( inputImage, ivec2( x, y ) );
+ imageStore( outputImage, xy, color );
+}
diff --git a/Runtime/Rendering/RenderGraph/Nodes/Processors/Noise/Pixelation/Pixelation.glsl.import b/Runtime/Rendering/RenderGraph/Nodes/Processors/Noise/Pixelation/Pixelation.glsl.import
new file mode 100644
index 0000000..1f554a5
--- /dev/null
+++ b/Runtime/Rendering/RenderGraph/Nodes/Processors/Noise/Pixelation/Pixelation.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://y6ish5mb2jlp"
+path="res://.godot/imported/Pixelation.glsl-7cba52b0781838fbdee33e5a597ce9d6.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/RenderGraph/Nodes/Processors/Noise/Pixelation/Pixelation.glsl"
+dest_files=["res://.godot/imported/Pixelation.glsl-7cba52b0781838fbdee33e5a597ce9d6.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/RenderGraph/Nodes/Processors/Noise/Pixelation/RG_Pixelation.cs b/Runtime/Rendering/RenderGraph/Nodes/Processors/Noise/Pixelation/RG_Pixelation.cs
new file mode 100644
index 0000000..16c3670
--- /dev/null
+++ b/Runtime/Rendering/RenderGraph/Nodes/Processors/Noise/Pixelation/RG_Pixelation.cs
@@ -0,0 +1,17 @@
+
+using Godot;
+using System.Collections.Generic;
+
+namespace Rokojori
+{
+ public class RG_Pixelation:CEG_ImageProcessor
+ {
+ public static readonly string shaderPath =
+ RDGraph.Path( "Nodes/Processors/Noise/Pixelation/Pixelation.glsl" );
+
+ public RG_Pixelation( RDGraph graph ):base( graph, shaderPath )
+ {}
+
+
+ }
+}
\ No newline at end of file
diff --git a/Runtime/Rendering/RenderGraph/Nodes/Processors/Noise/Pixelation/RG_Pixelation.cs.uid b/Runtime/Rendering/RenderGraph/Nodes/Processors/Noise/Pixelation/RG_Pixelation.cs.uid
new file mode 100644
index 0000000..c84e47d
--- /dev/null
+++ b/Runtime/Rendering/RenderGraph/Nodes/Processors/Noise/Pixelation/RG_Pixelation.cs.uid
@@ -0,0 +1 @@
+uid://cxae4vdm88w1r
diff --git a/Runtime/Rendering/RenderGraph/Nodes/Processors/Outlines/Rim/RG_Rim.cs b/Runtime/Rendering/RenderGraph/Nodes/Processors/Outlines/Rim/RG_Rim.cs
new file mode 100644
index 0000000..7f29edd
--- /dev/null
+++ b/Runtime/Rendering/RenderGraph/Nodes/Processors/Outlines/Rim/RG_Rim.cs
@@ -0,0 +1,18 @@
+
+using Godot;
+using System.Collections.Generic;
+
+namespace Rokojori
+{
+
+ public class RG_Rim:CEG_ImageProcessor
+ {
+ public static readonly string shaderPath =
+ RDGraph.Path( "Nodes/Processors/Outlines/Rim/Rim.glsl" );
+
+ public RG_Rim( RDGraph graph ):base( graph, shaderPath )
+ {}
+
+
+ }
+}
\ No newline at end of file
diff --git a/Runtime/Rendering/RenderGraph/Nodes/Processors/Outlines/Rim/RG_Rim.cs.uid b/Runtime/Rendering/RenderGraph/Nodes/Processors/Outlines/Rim/RG_Rim.cs.uid
new file mode 100644
index 0000000..993db1e
--- /dev/null
+++ b/Runtime/Rendering/RenderGraph/Nodes/Processors/Outlines/Rim/RG_Rim.cs.uid
@@ -0,0 +1 @@
+uid://c565pehlpohvd
diff --git a/Runtime/Rendering/RenderGraph/Nodes/Processors/Outlines/Rim/Rim.glsl b/Runtime/Rendering/RenderGraph/Nodes/Processors/Outlines/Rim/Rim.glsl
new file mode 100644
index 0000000..d7c8845
--- /dev/null
+++ b/Runtime/Rendering/RenderGraph/Nodes/Processors/Outlines/Rim/Rim.glsl
@@ -0,0 +1,67 @@
+#[compute]
+#version 450
+
+
+layout( local_size_x = 8, local_size_y = 8, local_size_z = 1 ) in;
+
+layout( rgba16f, set = 0, binding = 0 )
+uniform image2D inputImage;
+
+layout( rgba16f, set = 1, binding = 0 )
+uniform image2D outputImage;
+
+layout( set = 2, binding = 0 )
+uniform sampler2D depthSampler;
+
+
+
+layout( push_constant, std430 )
+uniform Params
+{
+ vec2 amounts;
+
+ float effectStrength;
+ float rimOffsetX;
+ float rimOffsetY;
+ float minDepth;
+
+ float contrastIntensity;
+
+} params;
+
+float sampleDepth( vec2 coord, vec2 size )
+{
+ coord = clamp( coord, vec2( 0 ), size - vec2( 1.0 ) );
+
+ vec2 uv = ( vec2( coord ) + 0.5 ) / size;
+ return texture( depthSampler, uv ).r;
+}
+
+
+void main( )
+{
+ ivec2 xy = ivec2( gl_GlobalInvocationID.xy );
+ ivec2 size = imageSize( outputImage );
+
+ if ( xy.x >= size.x || xy.y >= size.y )
+ {
+ return;
+ }
+
+
+ vec2 rimOffset = vec2( params.rimOffsetX, params.rimOffsetY );
+
+ float depth = sampleDepth( xy, size );
+ float rimDepth = sampleDepth( xy + rimOffset, size );
+
+ float rimStrength = min( 1.0, max( 0.0, depth - rimDepth ) * params.contrastIntensity );
+
+ float amount = 1.0 - min( 1.0, pow( depth * params.amounts.x + params.amounts.y, params.minDepth ) );
+
+
+ vec4 color = imageLoad( inputImage, xy );
+ float combinedAmount = max( 0.0, min( 1.0, amount * rimStrength * params.effectStrength ) );
+ color = mix( color, vec4( 1.0, 1.0, 1.0, 1.0 ), combinedAmount );
+
+ imageStore( outputImage, xy, color );
+}
\ No newline at end of file
diff --git a/Runtime/Rendering/RenderGraph/Nodes/Processors/Outlines/Rim/Rim.glsl.import b/Runtime/Rendering/RenderGraph/Nodes/Processors/Outlines/Rim/Rim.glsl.import
new file mode 100644
index 0000000..94c6373
--- /dev/null
+++ b/Runtime/Rendering/RenderGraph/Nodes/Processors/Outlines/Rim/Rim.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://ch4wusgsp13kv"
+path="res://.godot/imported/Rim.glsl-e1405808c377a23787701092e8f81d64.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/RenderGraph/Nodes/Processors/Outlines/Rim/Rim.glsl"
+dest_files=["res://.godot/imported/Rim.glsl-e1405808c377a23787701092e8f81d64.res"]
+
+[params]
+
diff --git a/Runtime/Rendering/RenderGraph/Nodes/Processors/Outlines/ZOutlines/ZOutlines.glsl b/Runtime/Rendering/RenderGraph/Nodes/Processors/Outlines/ZOutlines/ZOutlines.glsl
index 41decb6..5d53adf 100644
--- a/Runtime/Rendering/RenderGraph/Nodes/Processors/Outlines/ZOutlines/ZOutlines.glsl
+++ b/Runtime/Rendering/RenderGraph/Nodes/Processors/Outlines/ZOutlines/ZOutlines.glsl
@@ -21,8 +21,8 @@ uniform sampler2D edgeIntensitySampler;
layout( set = 5, binding = 0 )
uniform sampler2D normalRoughnessSampler;
-// layout( set = 6, binding = 0 )
-// uniform sampler2D shadowSampler;
+layout( set = 6, binding = 0 )
+uniform sampler2D outlineWidthSampler;
layout( push_constant, std430 )
uniform Parameters
@@ -54,8 +54,8 @@ uniform Parameters
float rimContrast;
float rimStrength;
- float p0;
- float p1;
+ float outlineWidth;
+ float edgeDistanceFade;
} parameters;
@@ -156,27 +156,36 @@ void main( )
- vec2 stepSize = vec2( 1.0 ) / vec2( size );
+ vec2 stepSize = vec2( 1.0 ) / vec2( size ) ;
vec2 uv = ( vec2( xy ) + vec2( 0.5 ) ) * stepSize;
-
- float z00 = sampleZ( uv, -1, -1, stepSize );
- float z10 = sampleZ( uv, 0, -1, stepSize );
- float z20 = sampleZ( uv, 1, -1, stepSize );
-
- float z01 = sampleZ( uv, -1, 0, stepSize );
float z11 = sampleNormalizedZ( uv, 0, 0, stepSize );
float zCenter = z11 * ( parameters.zMax * parameters.zMin ) + parameters.zMin;
- float z21 = sampleZ( uv, 1, 0, stepSize );
+ vec2 zUV = vec2( z11, 0.0 );
- float z02 = sampleZ( uv, -1, 1, stepSize );
- float z12 = sampleZ( uv, 0, 1, stepSize );
- float z22 = sampleZ( uv, 1, 1, stepSize );
+ float edgeDistanceFade = mix( 1.0, 1.0 - z11, parameters.edgeDistanceFade );
+
+ float outlineWidthCurve = pow( 10.0, textureLod( outlineWidthSampler, zUV, 0 ).r * 2.0 - 1.0 );
+
+ float outlineWidth = outlineWidthCurve * parameters.outlineWidth;
+
+ float z00 = sampleZ( uv, -1, -1, stepSize * outlineWidth );
+ float z10 = sampleZ( uv, 0, -1, stepSize * outlineWidth );
+ float z20 = sampleZ( uv, 1, -1, stepSize * outlineWidth );
+
+ float z01 = sampleZ( uv, -1, 0, stepSize * outlineWidth );
+
+ float z21 = sampleZ( uv, 1, 0, stepSize * outlineWidth );
+
+ float z02 = sampleZ( uv, -1, 1, stepSize * outlineWidth );
+ float z12 = sampleZ( uv, 0, 1, stepSize * outlineWidth );
+ float z22 = sampleZ( uv, 1, 1, stepSize * outlineWidth );
float gx = -z00 - 2.0 * z01 - z02 + z20 + 2.0 * z21 + z22;
float gy = -z00 - 2.0 * z10 - z20 + z02 + 2.0 * z12 + z22;
+
vec2 rimOffset = vec2( parameters.rimOffsetX, parameters.rimOffsetY );
float rimZ = sampleZ( uv + rimOffset, 0, 0, stepSize );
@@ -184,7 +193,7 @@ void main( )
rimStrength *= parameters.rimStrength;
- vec2 zUV = vec2( z11, 0.0 );
+
float zThresholdCurve = textureLod( zTresholdSampler, zUV, 0 ).r;
float edgeIntensityCurve = textureLod( edgeIntensitySampler, zUV, 0 ).r;
@@ -197,11 +206,11 @@ void main( )
zEdge = clamp( zEdge, 0.0, 1.0 );
- vec3 n10 = sampleNormal( uv, 0, -1, stepSize );
- vec3 n01 = sampleNormal( uv, -1, 0, stepSize );
- vec3 n11 = sampleNormal( uv, 0, 0, stepSize );
- vec3 n21 = sampleNormal( uv, 1, 0, stepSize );
- vec3 n12 = sampleNormal( uv, 0, 1, stepSize );
+ vec3 n10 = sampleNormal( uv, 0, -1, stepSize * outlineWidth );
+ vec3 n01 = sampleNormal( uv, -1, 0, stepSize * outlineWidth );
+ vec3 n11 = sampleNormal( uv, 0, 0, stepSize * outlineWidth );
+ vec3 n21 = sampleNormal( uv, 1, 0, stepSize * outlineWidth );
+ vec3 n12 = sampleNormal( uv, 0, 1, stepSize * outlineWidth );
vec3 centerNormal = normalize( 0.5 * n11 + 0.5 * ( n10 + n01 + n21 + n12 ) / 4.0 );
@@ -219,12 +228,16 @@ void main( )
float edgeWeight = smoothstep( parameters.normalEdgeZMin, parameters.normalEdgeZMax, normalEdge );
float edge = max( normalEdge * parameters.normalEdgeAmount, zEdge * parameters.zEdgeAmount * edgeWeight );
+ edge = clamp01( edge );
+
+ edge *= edgeDistanceFade;
vec4 originalColor = textureLod( inputImage, uv, 0 );
- originalColor = mix( originalColor, vec4( parameters.fillR, parameters.fillG, parameters.fillB, 1.0 ), parameters.fillA * parameters.amount );
+ vec4 fillColor = SRGBtoLINEAR( vec4( parameters.fillR, parameters.fillG, parameters.fillB, 1.0 ) );
+ originalColor = mix( originalColor, fillColor, parameters.fillA * parameters.amount );
originalColor = mix( originalColor, vec4( 1.0 ), rimStrength * parameters.amount );
- vec4 edgeColor = vec4( parameters.edgeR, parameters.edgeG, parameters.edgeB, 1.0 );
+ vec4 edgeColor = SRGBtoLINEAR( vec4( parameters.edgeR, parameters.edgeG, parameters.edgeB, 1.0 ) );
// originalColor.rgb = mix( originalColor.rgb, vec3( 0.0, 0.0, 0.0 ), shadowAmount );
vec4 mixedColor = mix( originalColor, edgeColor, parameters.amount * edge );
diff --git a/Runtime/Rendering/RenderGraph/Nodes/Processors/Overlays/Vignette/RG_Vignette.cs b/Runtime/Rendering/RenderGraph/Nodes/Processors/Overlays/Vignette/RG_Vignette.cs
new file mode 100644
index 0000000..88ea6c9
--- /dev/null
+++ b/Runtime/Rendering/RenderGraph/Nodes/Processors/Overlays/Vignette/RG_Vignette.cs
@@ -0,0 +1,18 @@
+
+using Godot;
+using System.Collections.Generic;
+
+namespace Rokojori
+{
+
+ public class RG_Vignette:CEG_ImageProcessor
+ {
+ public static readonly string shaderPath =
+ RDGraph.Path( "Nodes/Processors/Overlays/Vignette/Vignette.glsl" );
+
+ public RG_Vignette( RDGraph graph ):base( graph, shaderPath )
+ {}
+
+
+ }
+}
\ No newline at end of file
diff --git a/Runtime/Rendering/RenderGraph/Nodes/Processors/Overlays/Vignette/RG_Vignette.cs.uid b/Runtime/Rendering/RenderGraph/Nodes/Processors/Overlays/Vignette/RG_Vignette.cs.uid
new file mode 100644
index 0000000..5815692
--- /dev/null
+++ b/Runtime/Rendering/RenderGraph/Nodes/Processors/Overlays/Vignette/RG_Vignette.cs.uid
@@ -0,0 +1 @@
+uid://bn4mwvanaoq0i
diff --git a/Runtime/Rendering/Compositor/CompositorEffects/Vignette/VignetteShader.glsl b/Runtime/Rendering/RenderGraph/Nodes/Processors/Overlays/Vignette/Vignette.glsl
similarity index 94%
rename from Runtime/Rendering/Compositor/CompositorEffects/Vignette/VignetteShader.glsl
rename to Runtime/Rendering/RenderGraph/Nodes/Processors/Overlays/Vignette/Vignette.glsl
index 36cfb59..87c6b01 100644
--- a/Runtime/Rendering/Compositor/CompositorEffects/Vignette/VignetteShader.glsl
+++ b/Runtime/Rendering/RenderGraph/Nodes/Processors/Overlays/Vignette/Vignette.glsl
@@ -70,7 +70,10 @@ vec3 colorize( vec3 original, vec3 color )
layout( local_size_x = 16, local_size_y = 16, local_size_z = 1 ) in;
layout( rgba16f, set = 0, binding = 0)
-uniform image2D screenImage;
+uniform image2D inputImage;
+
+layout( rgba16f, set = 1, binding = 0)
+uniform image2D outputImage;
layout( push_constant, std430 )
uniform Parameters
@@ -104,7 +107,7 @@ void main()
return;
}
- vec4 color = imageLoad( screenImage, coordinate );
+ vec4 color = imageLoad( inputImage, coordinate );
// color = vec4( 0.0, 0.0, 0.0, 1.0 );
vec2 uv = ( vec2( coordinate ) + vec2( 0.5 ) ) / vec2( parameters.rasterSize ) ;
@@ -131,5 +134,5 @@ void main()
color.rgb = mix( color.rgb, mixed.rgb, vignetteColor.a * distanceAmount * parameters.amount );
// color.rgb = vignetteColor.rgb;
- imageStore( screenImage, coordinate, color );
+ imageStore( outputImage, coordinate, color );
}
\ No newline at end of file
diff --git a/Runtime/Rendering/RenderGraph/Nodes/Processors/Overlays/Vignette/Vignette.glsl.import b/Runtime/Rendering/RenderGraph/Nodes/Processors/Overlays/Vignette/Vignette.glsl.import
new file mode 100644
index 0000000..1c998ec
--- /dev/null
+++ b/Runtime/Rendering/RenderGraph/Nodes/Processors/Overlays/Vignette/Vignette.glsl.import
@@ -0,0 +1,14 @@
+[remap]
+
+importer="glsl"
+type="RDShaderFile"
+uid="uid://dmvfies00gky4"
+path="res://.godot/imported/Vignette.glsl-2a932caae33bd1f0b417d61eb5de4237.res"
+
+[deps]
+
+source_file="res://addons/rokojori_action_library/Runtime/Rendering/RenderGraph/Nodes/Processors/Overlays/Vignette/Vignette.glsl"
+dest_files=["res://.godot/imported/Vignette.glsl-2a932caae33bd1f0b417d61eb5de4237.res"]
+
+[params]
+
diff --git a/Runtime/Tools/Arrays.cs b/Runtime/Tools/Arrays.cs
index 713414b..8e14ff8 100644
--- a/Runtime/Tools/Arrays.cs
+++ b/Runtime/Tools/Arrays.cs
@@ -171,10 +171,15 @@ namespace Rokojori
}
- public static void ForEach( this T[] values, Action callback )
+ public static void ForEach( this T[] values, Action callback, bool skipNulls = true )
{
foreach ( var it in values )
{
+ if ( skipNulls && it == null )
+ {
+ continue;
+ }
+
callback( it );
}
}