diff --git a/Assets/Colorful FX/Changelog.txt b/Assets/Colorful FX/Changelog.txt new file mode 100644 index 0000000..5c085c8 --- /dev/null +++ b/Assets/Colorful FX/Changelog.txt @@ -0,0 +1,201 @@ +4.1.1 +- Added: "Vertical Scanlines" options to "Analog TV". +- Fixed: "Frost" not working correctly on iPhone 6/6S. +- Fixed: "Glitch" not working correctly on iPhone 6/6S. + +4.1 +- Added: A highly customizable "Comic Book" effect. Works great with untextured or low-poly scenes ! +- Added: "Letterbox", to add letter or pillarboxing to the render. Very handy for cinematics, can be animated as well. +- Added: "TV Vignette", a new ultra fast vignette with a more natural shape. Less customizable than the other vignette effects but looks great. +- Added: "Contrast Gain", a smart contrast adjustment effect. More limited than "S-Curve Contrast" but faster. +- Added: "Smart Saturation", a port of the "Sat vs Sat" operator from Davinci Resolve, where you control the saturation using a curve to saturate according to the current saturation. +- Added: "Luminance Contribution" to the "Noise" effect to reduce noise visibility in luminous areas. +- Added: "Amount" sliders to "Gaussian Blur" and "Bilateral Gaussian Blur". +- Modified: "Lookup Texture 3D", "Vintage (Fast)" and "LoFi Palette" now work on mobile platforms ! If you used any of them, please see the "Upgrade Guide" in the user manual. As a result, the slower "Lookup Filter" and "Vintage" effects have been deprecated. +- Fixed: "Noise" not working correctly on some mobile devices. +- Fixed: Small loss of detail with the "Hue, Saturation, Value" when HDR is enabled. +- Fixed: Compilation error on DirectX 9 for some of the blur shaders. +- Fixed: "Photo Filter" was broken. +- Misc: More editor UI optimizations & tweaks. +- Misc: Optimized the "Noise" effect ("RGB" mode). + +4.0.1 +- Fixed: Performance issue with "Lookup Filter (3D)", "Vintage (Fast)" and "LoFi Palette". + +4.0 +- Important: This major update breaks compatibility with previous versions. Please refer to the documentation if you need to update from an earlier version. +- Modified: Complete code refactoring, cleanup, fixes & tweaks. Makes use of new Unity 5 features when available. Some effects have been optimized as well. +- Modified: Re-organized the "Component -> Colorful" menu. +- Modified: Rewrote the "Halftone" effect from scratch. It looks way, way better now. +- Modified: Rewrote the "Levels" effect from scratch. +- Modified: The "Kuwahara" radius limit has been bumped to 6. +- Added: Tooltips (almost) everywhere. +- Added: Unity 5.1+ users, you can click the top-right help button on Colorful components at any time to jump to the documentation. +- Added: "LoFi Palette" effect, with 31 presets to give a retro look to your game. +- Added: "Shadows, Midtones, Highlights" effect (lift/gamma/gain or ASC CDL), also known as the ultimate color correction tool. +- Added: "Dynamic Lookup", a fast and powerful color corrector using a RGB cube. +- Added: "Gradient Ramp (Dynamic)", an alternative to "Gradient Ramp" using the builtin gradient editor instead of a texture ramp. +- Added: High quality "Gaussian Blur" effect. +- Added: Edge aware, "Bilateral Gaussian Blur" effect. +- Added: "Grainy Blur", where blur meets noise. +- Added: "Lens Distortion Blur", an alternative to "Radial Blur" with barrel distortion. +- Added: "Directional Blur" effect. +- Added: "Wave Distortion" effect. +- Added: "Lookup Filter 3D", faster LUT color grading for Shader Model 3.0+ compatible hardware. +- Added: "Vintage (Fast)", variant of the "Vintage" effect for Shader Model 3.0+ compatible hardware. +- Added: "Pixel Matrix" effect. +- Added: "Noise" (monochrome or colored) to add some fine grain to your renders. +- Added: "S-Curve Contrast", a powerful color correction operator. +- Added: "Dithering", a fast ordered dithering effect. +- Added: "Stroke", an artistic effect to turn your renders into brush strokes. +- Added: "Histogram", a debug graph with Luminance, RGB, Red, Green and Blue view modes. +- Added: "Vignette" option for "Radial Blur" so you can progressively blur toward the edges of the screen. +- Added: An alternative algorithm for the "Sharpen" filter. +- Added: "Wiggle" has been improved. You can now set the Amplitude and it also comes with a slightly slower but better looking mode (optional). +- Added: A "Shape" slider on the "LED" filter to adjust the LEDs look. +- Added: "Fast Vignette" now comes with a color mode. +- Added: "Amount" slider for the "Posterize" effect. +- Fixed: "Analog TV" and "Frost" not working correctly on some iOS devices. +- Fixed: "Negative" now works as expected in Linear color space. +- Fixed: Compilation error on PS4. +- Misc: Brand new, faster and more complete documentation, as well as a dedicated website ! + +3.2 +- Added: "IsActive" public property to the "Glitch" effect to detect when it's on or off. +- Misc: Better handling of shader includes. +- Misc: Made the components easier to extend / inherit. +- Fixed: Fixed a small "leak" in the "Vintage" effect. No more GC allocations on every frame. +- Fixed: Compilation issue when upgrading to Unity 5.1 from an earlier Unity version (UnityEditor API change). + +3.1 +- Added: "Hue Focus" to only display the colors in a given hue range and show the rest as black & white. Works great when used before a "Brightness / Contrast / Gamma" effect to give a sort of Sin City look, where only a few colors are visible and the rest is high-contrast black & white. +- Added: 3 Instagram filters to the "Vintage" effect : Lark, Juno, Reyes. +- Added: A "Random Activation" option to the "Glitch" effect with customizable time ranges. + +3.0.1 +- Fixed: The "Halftone" effect not using the correct aspect ratio for the dots. +- Fixed: Color-space error in the editor. +- Fixed: Issue with the startup dialog. + +3.0 +- Added: "Kuwahara", to give an oil painting look or simply soften the scene render. +- Added: "Glitch". Comes with three glitching modes (interference, tearing, complete). +- Added: "Technicolor", to mimic the classic coloring process from the early days of motion pictures. +- Added: "Channel Clamper", to clamp each color channel independently to a minimum and maximum value. +- Added: "Channel Swapper", to combine or swap color channels. +- Added: "White Balance", to remove unrealistic color cast and shift the neutral tone of the render. +- Added: A "Custom" quality mode to "Radial Blur". You can now put a custom sample count if you don't like the default presets. +- Fixed: Better internal file path control. You should now be able to move the Colorful folder safely. +- Misc: General UI fixes & usability tweaks. +- Misc: Documentation fixes & additions (+ videos for animated effects). +- Misc: Removed the documentation from the package, it's now online only. Benefits : the package size is a lot smaller and imports faster. +- Misc: Bumped the minimum Unity version to 4.5. + +2.2.3 +- Fixed: "Analog TV" failing on some platforms. +- Fixed: A bug introduced in 2.2.1 with "Lookup Filter" and "Vintage" when working in Linear color space. + +2.2.2 +- Fixed: Bug with "Led" and "Pixelate" in Unity 5. +- Misc: Unity 5 package. + +2.2.1 +- Added: An "Amount" slider to "Lookup Filter" and "Vintage" to allow blending on the effects. + +2.2 +- Added: 5 Instagram filters to the "Vintage" effect : Aden, Crema, Ludwig, Perpetua, Slumber. + +2.1.1 +- Added: A "Scanlines Offset" option to the "Analog TV" effect to scroll the scanlines upwards/downwards. + +2.1 +- Added: "Vintage" comes with 19 fast Instagram filters : 1977, Amaro, Brannan, Earlybird, Hefe, Hudson, Inkwell, Kelvin, LoFi, Mayfair, Nashville, Rise, Sierra, Sutro, Toaster, Valencia, Walden, Willow, X-Pro II. + +2.0.2 +- Fixed: Bug with "Lookup Filter" in linear mode. + +2.0.1 +- Fixed: HDR bug with the "Lookup Filter". +- Modified: The "Lookup Filter" documentation has been updated. Make sure the "Aniso Level" on your LUTs is set to 0. + +2.0 +- Added: A new quickstart launcher when you import or update Colorful. +- Added: "About Colorful" and "Colorful Manual" in the Help menu. +- Added: "Contrast Vignette". The old "Fast Vignette" plays on darkness and saturation, this new one focuses on darkness and contrast enhancement which results in a more photographic look. +- Added: A "Center" property to "Fast Vignette" to change the center point. +- Added: "Hue / Saturation / Value" now comes with an optional advanced mode. This mode is a bit slower but way more powerful as you can now work separately on reds, yellows, greens, cyans, blues and magentas (like Photoshop). +- Added: "Vibrance" now comes with an optional advanced mode which uses a different algorithm and let you tweak how channels (RGB) are affected. +- Modified: The "Levels" editor has been rewritten from scratch. It's now more efficient and comes with a new "Auto B&W" feature (see the doc). Its public API hasn't changed so it should be compatible with the old one. +- Modified: Bumped the minimum Unity version to 4.3. If for some reason you need a version compatible with Unity 3.5, please contact me. +- Misc: Massive optimizations to the "Hue / Saturation / Value" shader. +- Misc: Global cleanup pass and minor optimizations on all editor classes and shaders. +- Misc: Lots of UI fixes & usability tweaks. +- Misc: A few documentation fixes & additions. + +1.7.1 +- Added: "Auto Timer" & "Auto Phase" options to "Wiggle" and "Analog TV". +- Added: Icons for the components to make them easier to spot. +- Fixed: The LUT texture used with "Lookup Filter" now bypasses sRGB sampling so it works correctly with the Linear color space. +- Misc: A few documentation fixes & additions. + +1.7 +- Added: "Halftone" (CMYK and Black & White). +- Added: "Cross Stitch". +- Fixed: Serialization bug affecting all effects' custom inspectors. + +1.6.1 +- Added: Optional pixel perfect mode to the "Pixelate" and "LED" effects. +- Added: A ratio settings (can be set to automatic) to the "Pixelate" and "LED" effects to change the cell shape. +- Added: Optional noise pass on the Threshold effect. +- Added: HeatRamp.png in the resources folder (can be used to emulate a thermal vision with the Gradient Ramp effect). +- Misc: Documentation update. + +1.6 +- Added: "Convolution Matrix 3x3". +- Added: "Blend" (works with Texture2D and MovieTexture), featuring 21 blending modes : Darken, Multiply, Color Burn, Linear Burn, Darker Color, Lighten, Screen, Color Dodge, Linear Dodge (Add), Lighter Color, Overlay, Soft Light, Hard Light, Vivid Light, Linear Light, Pin Light, Hard Mix, Difference, Exclusion, Subtract, Divide. +- Added: New option to desaturate the "Fast Vignette". +- Misc: Refactoring, improvements and optimizations of the following effects : Analog TV, Fast Vignette, Frost, Grayscale, Radial Blur. + +1.5 +- Added: "Gradient Ramp". +- Added: "Lookup Filter" (advanced color grading). +- Added: "Negative" (with proper transition). +- Added: "Wiggle" (underwater distortion). +- Fixed: Unity 4.3 compatibility. +- Misc: General code cleaning, a few minor fixes and various optimizations. +- Misc: Full documentation. + +1.4.1 +- Fixed: A weird bug with "RGB Split" only working in Directx 11 mode in some setups. + +1.4 +- Added: "RGB Split". +- Added: "Sharpen". + +1.3.4 +- Fixed: Bug with Unity 4.1 preventing most shaders to work correctly. + +1.3.2 +- Added: A new slider to fade the "Double vision" effect. +- Fixed: Brightness bug in "Double vision". +- Fixed: A null pointer exception in "Levels" that could happen in the Editor. + +1.3.1 +- Misc: Performance improvements. +- Misc: Code cleaning. + +1.3 +- Fixed: Now compatible with Unity 4 and DirectX 11. +- Fixed: Lots of small bugs. + +1.2 +- Added: "Analog TV", emulates a CRT screen with scanlines, static noise and barrel distortion ! +- Added: "Double Vision". +- Added: "Frost", that looks like viewing through an ice-frosted glass (can be used as a vignette too, to "freeze" the screen progressively). + +1.1 +- Modified: "Photo Filter" now takes a Color as input instead of three floats. +- Added: "Radial Blur", also known as "Zoom" Blur. + +1.0 +- Misc: Initial release. \ No newline at end of file diff --git a/Assets/Colorful FX/Changelog.txt.meta b/Assets/Colorful FX/Changelog.txt.meta new file mode 100644 index 0000000..eba7f89 --- /dev/null +++ b/Assets/Colorful FX/Changelog.txt.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 9705500cced88874d82a6a2f1df3ac97 +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor.meta b/Assets/Colorful FX/Editor.meta new file mode 100644 index 0000000..a5197bf --- /dev/null +++ b/Assets/Colorful FX/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6ee6c3831e534a64583a1ac0ce6d2f68 +folderAsset: yes +timeCreated: 1466165647 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/BaseEffectEditor.cs b/Assets/Colorful FX/Editor/BaseEffectEditor.cs new file mode 100644 index 0000000..ff19185 --- /dev/null +++ b/Assets/Colorful FX/Editor/BaseEffectEditor.cs @@ -0,0 +1,71 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + using System.Collections.Generic; + + public class BaseEffectEditor : Editor + { + public static GUIStyle tabLeft; + public static GUIStyle tabMiddle; + public static GUIStyle tabRight; + public static GUIStyle tabLeftOn; + public static GUIStyle tabMiddleOn; + public static GUIStyle tabRightOn; + + public override void OnInspectorGUI() + { + if (tabLeft == null) + { + tabLeft = new GUIStyle(EditorStyles.miniButtonLeft); + tabMiddle = new GUIStyle(EditorStyles.miniButtonMid); + tabRight = new GUIStyle(EditorStyles.miniButtonRight); + + tabLeftOn = new GUIStyle(tabLeft); + tabLeftOn.active = tabLeft.onActive; + tabLeftOn.normal = tabLeft.onNormal; + tabLeftOn.hover = tabLeft.onHover; + + tabMiddleOn = new GUIStyle(tabMiddle); + tabMiddleOn.active = tabMiddle.onActive; + tabMiddleOn.normal = tabMiddle.onNormal; + tabMiddleOn.hover = tabMiddle.onHover; + + tabRightOn = new GUIStyle(tabRight); + tabRightOn.active = tabRight.onActive; + tabRightOn.normal = tabRight.onNormal; + tabRightOn.hover = tabRight.onHover; + } + } + + static Dictionary m_GUIContentCache; + + protected static GUIContent GetContent(string textAndTooltip) + { + if (string.IsNullOrEmpty(textAndTooltip)) + return GUIContent.none; + + if (m_GUIContentCache == null) + m_GUIContentCache = new Dictionary(); + + GUIContent content = null; + + if (!m_GUIContentCache.TryGetValue(textAndTooltip, out content)) + { + string[] s = textAndTooltip.Split('|'); + content = new GUIContent(s[0]); + + if (s.Length > 1 && !string.IsNullOrEmpty(s[1])) + content.tooltip = s[1]; + + m_GUIContentCache.Add(textAndTooltip, content); + } + + return content; + } + } +} diff --git a/Assets/Colorful FX/Editor/BaseEffectEditor.cs.meta b/Assets/Colorful FX/Editor/BaseEffectEditor.cs.meta new file mode 100644 index 0000000..4bfb31f --- /dev/null +++ b/Assets/Colorful FX/Editor/BaseEffectEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 51af486729aacac4a9de2f9e05dc5bb2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects.meta b/Assets/Colorful FX/Editor/Effects.meta new file mode 100644 index 0000000..cf2d698 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c1428167942535d44b60d64340ec3e3b +folderAsset: yes +timeCreated: 1466165647 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/AnalogTVEditor.cs b/Assets/Colorful FX/Editor/Effects/AnalogTVEditor.cs new file mode 100644 index 0000000..a81c559 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/AnalogTVEditor.cs @@ -0,0 +1,76 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(AnalogTV))] + public class AnalogTVEditor : BaseEffectEditor + { + SerializedProperty p_AutomaticPhase; + SerializedProperty p_Phase; + SerializedProperty p_ConvertToGrayscale; + SerializedProperty p_NoiseIntensity; + SerializedProperty p_ScanlinesIntensity; + SerializedProperty p_ScanlinesCount; + SerializedProperty p_ScanlinesOffset; + SerializedProperty p_VerticalScanlines; + SerializedProperty p_Distortion; + SerializedProperty p_CubicDistortion; + SerializedProperty p_Scale; + + void OnEnable() + { + p_AutomaticPhase = serializedObject.FindProperty("AutomaticPhase"); + p_Phase = serializedObject.FindProperty("Phase"); + p_ConvertToGrayscale = serializedObject.FindProperty("ConvertToGrayscale"); + p_NoiseIntensity = serializedObject.FindProperty("NoiseIntensity"); + p_ScanlinesIntensity = serializedObject.FindProperty("ScanlinesIntensity"); + p_ScanlinesCount = serializedObject.FindProperty("ScanlinesCount"); + p_ScanlinesOffset = serializedObject.FindProperty("ScanlinesOffset"); + p_VerticalScanlines = serializedObject.FindProperty("VerticalScanlines"); + p_Distortion = serializedObject.FindProperty("Distortion"); + p_CubicDistortion = serializedObject.FindProperty("CubicDistortion"); + p_Scale = serializedObject.FindProperty("Scale"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_AutomaticPhase); + EditorGUI.BeginDisabledGroup(p_AutomaticPhase.boolValue); + { + EditorGUILayout.PropertyField(p_Phase); + } + EditorGUI.EndDisabledGroup(); + + EditorGUILayout.PropertyField(p_ConvertToGrayscale); + + GUILayout.Label(GetContent("Analog Effect"), EditorStyles.boldLabel); + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_NoiseIntensity); + EditorGUILayout.PropertyField(p_ScanlinesIntensity); + EditorGUILayout.PropertyField(p_ScanlinesCount); + EditorGUILayout.PropertyField(p_ScanlinesOffset); + EditorGUILayout.PropertyField(p_VerticalScanlines); + } + EditorGUI.indentLevel--; + + GUILayout.Label(GetContent("Barrel Distortion"), EditorStyles.boldLabel); + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_Distortion); + EditorGUILayout.PropertyField(p_CubicDistortion); + EditorGUILayout.PropertyField(p_Scale, GetContent("Scale (Zoom)")); + } + EditorGUI.indentLevel--; + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/AnalogTVEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/AnalogTVEditor.cs.meta new file mode 100644 index 0000000..a6f6e50 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/AnalogTVEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: b50bbf63bbe2da2469b67479b47bf989 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/BilateralGaussianBlurEditor.cs b/Assets/Colorful FX/Editor/Effects/BilateralGaussianBlurEditor.cs new file mode 100644 index 0000000..87a0721 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/BilateralGaussianBlurEditor.cs @@ -0,0 +1,35 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(BilateralGaussianBlur))] + public class BilateralGaussianBlurEditor : BaseEffectEditor + { + SerializedProperty p_Passes; + SerializedProperty p_Threshold; + SerializedProperty p_Amount; + + void OnEnable() + { + p_Passes = serializedObject.FindProperty("Passes"); + p_Threshold = serializedObject.FindProperty("Threshold"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Passes); + EditorGUILayout.PropertyField(p_Threshold); + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/BilateralGaussianBlurEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/BilateralGaussianBlurEditor.cs.meta new file mode 100644 index 0000000..ffae8e8 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/BilateralGaussianBlurEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 66e81a5c475bf3c439b5a67027bc36fb +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/BleachBypassEditor.cs b/Assets/Colorful FX/Editor/Effects/BleachBypassEditor.cs new file mode 100644 index 0000000..0e6e33b --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/BleachBypassEditor.cs @@ -0,0 +1,29 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(BleachBypass))] + public class BleachBypassEditor : BaseEffectEditor + { + SerializedProperty p_Amount; + + void OnEnable() + { + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/BleachBypassEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/BleachBypassEditor.cs.meta new file mode 100644 index 0000000..5bb4088 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/BleachBypassEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: f4576dc4584db1b4f9f1d80bdae148f6 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/BlendEditor.cs b/Assets/Colorful FX/Editor/Effects/BlendEditor.cs new file mode 100644 index 0000000..a08db36 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/BlendEditor.cs @@ -0,0 +1,63 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Blend))] + public class BlendEditor : BaseEffectEditor + { + SerializedProperty p_Amount; + SerializedProperty p_Texture; + SerializedProperty p_Mode; + + static GUIContent[] modes = { + new GUIContent("Darken"), + new GUIContent("Multiply"), + new GUIContent("Color Burn"), + new GUIContent("Linear Burn"), + new GUIContent("Darker Color"), + new GUIContent(""), + new GUIContent("Lighten"), + new GUIContent("Screen"), + new GUIContent("Color Dodge"), + new GUIContent("Linear Dodge (Add)"), + new GUIContent("Lighter Color"), + new GUIContent(""), + new GUIContent("Overlay"), + new GUIContent("Soft Light"), + new GUIContent("Hard Light"), + new GUIContent("Vivid Light"), + new GUIContent("Linear Light"), + new GUIContent("Pin Light"), + new GUIContent("Hard Mix"), + new GUIContent(""), + new GUIContent("Difference"), + new GUIContent("Exclusion"), + new GUIContent("Subtract"), + new GUIContent("Divide") + }; + + void OnEnable() + { + p_Amount = serializedObject.FindProperty("Amount"); + p_Texture = serializedObject.FindProperty("Texture"); + p_Mode = serializedObject.FindProperty("Mode"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + // Using intValue, enumValueIndex seems broken in some versions of Unity + p_Mode.intValue = EditorGUILayout.Popup(GetContent("Mode|Blending Mode."), p_Mode.intValue, modes); + EditorGUILayout.PropertyField(p_Texture); + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/BlendEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/BlendEditor.cs.meta new file mode 100644 index 0000000..6260f2f --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/BlendEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 1e832d91494c75e458f49538da81924c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/BrightnessContrastGammaEditor.cs b/Assets/Colorful FX/Editor/Effects/BrightnessContrastGammaEditor.cs new file mode 100644 index 0000000..5bb1fc6 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/BrightnessContrastGammaEditor.cs @@ -0,0 +1,48 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(BrightnessContrastGamma))] + public class BrightnessContrastGammaEditor : BaseEffectEditor + { + SerializedProperty p_Brightness; + SerializedProperty p_Contrast; + SerializedProperty p_ContrastCoeff; + SerializedProperty p_Gamma; + + void OnEnable() + { + p_Brightness = serializedObject.FindProperty("Brightness"); + p_Contrast = serializedObject.FindProperty("Contrast"); + p_ContrastCoeff = serializedObject.FindProperty("ContrastCoeff"); + p_Gamma = serializedObject.FindProperty("Gamma"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Brightness); + + EditorGUILayout.PropertyField(p_Contrast); + EditorGUI.indentLevel++; + { + Vector3 coeff = p_ContrastCoeff.vector3Value; + coeff.x = EditorGUILayout.Slider(GetContent("Red Channel|Contrast factor on the red channel."), coeff.x, 0f, 1f); + coeff.y = EditorGUILayout.Slider(GetContent("Green Channel|Contrast factor on the green channel."), coeff.y, 0f, 1f); + coeff.z = EditorGUILayout.Slider(GetContent("Blue Channel|Contrast factor on the blue channel."), coeff.z, 0f, 1f); + p_ContrastCoeff.vector3Value = coeff; + } + EditorGUI.indentLevel--; + + EditorGUILayout.PropertyField(p_Gamma); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/BrightnessContrastGammaEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/BrightnessContrastGammaEditor.cs.meta new file mode 100644 index 0000000..9c28535 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/BrightnessContrastGammaEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 7d54a49fbdf254545a0f584279ba005b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/ChannelClamperEditor.cs b/Assets/Colorful FX/Editor/Effects/ChannelClamperEditor.cs new file mode 100644 index 0000000..cb9c149 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ChannelClamperEditor.cs @@ -0,0 +1,69 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(ChannelClamper))] + public class ChannelClamperEditor : BaseEffectEditor + { + SerializedProperty p_Red; + SerializedProperty p_Green; + SerializedProperty p_Blue; + + void OnEnable() + { + p_Red = serializedObject.FindProperty("Red"); + p_Green = serializedObject.FindProperty("Green"); + p_Blue = serializedObject.FindProperty("Blue"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + Vector2 red = p_Red.vector2Value; + Vector2 green = p_Green.vector2Value; + Vector2 blue = p_Blue.vector2Value; + + EditorGUILayout.MinMaxSlider(GetContent("Red Channel|Red channel limits."), ref red.x, ref red.y, 0f, 1f); + EditorGUILayout.BeginHorizontal(); + { + EditorGUILayout.PrefixLabel(" "); + red.x = EditorGUILayout.FloatField(red.x, GUILayout.Width(60)); + GUILayout.FlexibleSpace(); + red.y = EditorGUILayout.FloatField(red.y, GUILayout.Width(60)); + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.MinMaxSlider(GetContent("Green Channel|Green channel limits."), ref green.x, ref green.y, 0f, 1f); + EditorGUILayout.BeginHorizontal(); + { + EditorGUILayout.PrefixLabel(" "); + green.x = EditorGUILayout.FloatField(green.x, GUILayout.Width(60)); + GUILayout.FlexibleSpace(); + green.y = EditorGUILayout.FloatField(green.y, GUILayout.Width(60)); + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.MinMaxSlider(GetContent("Blue Channel|Blue channel limits."), ref blue.x, ref blue.y, 0f, 1f); + EditorGUILayout.BeginHorizontal(); + { + EditorGUILayout.PrefixLabel(" "); + blue.x = EditorGUILayout.FloatField(blue.x, GUILayout.Width(60)); + GUILayout.FlexibleSpace(); + blue.y = EditorGUILayout.FloatField(blue.y, GUILayout.Width(60)); + } + EditorGUILayout.EndHorizontal(); + + p_Red.vector2Value = red; + p_Green.vector2Value = green; + p_Blue.vector2Value = blue; + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/ChannelClamperEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/ChannelClamperEditor.cs.meta new file mode 100644 index 0000000..3194a6d --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ChannelClamperEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: dff6c3f440b091d42bc9c207fa8ca094 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/ChannelMixerEditor.cs b/Assets/Colorful FX/Editor/Effects/ChannelMixerEditor.cs new file mode 100644 index 0000000..6cfa1d0 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ChannelMixerEditor.cs @@ -0,0 +1,68 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(ChannelMixer))] + public class ChannelMixerEditor : BaseEffectEditor + { + SerializedProperty p_Red; + SerializedProperty p_Green; + SerializedProperty p_Blue; + SerializedProperty p_Constant; + + SerializedProperty p_CurrentChannel; + + void OnEnable() + { + p_Red = serializedObject.FindProperty("Red"); + p_Green = serializedObject.FindProperty("Green"); + p_Blue = serializedObject.FindProperty("Blue"); + p_Constant = serializedObject.FindProperty("Constant"); + + p_CurrentChannel = serializedObject.FindProperty("e_CurrentChannel"); + } + + public override void OnInspectorGUI() + { + base.OnInspectorGUI(); + + serializedObject.Update(); + + int currentChannel = p_CurrentChannel.intValue; + + GUILayout.BeginHorizontal(); + + if (GUILayout.Button(GetContent("Red"), (currentChannel == 0) ? tabLeftOn : tabLeft)) currentChannel = 0; + if (GUILayout.Button(GetContent("Green"), (currentChannel == 1) ? tabMiddleOn : tabMiddle)) currentChannel = 1; + if (GUILayout.Button(GetContent("Blue"), (currentChannel == 2) ? tabRightOn : tabRight)) currentChannel = 2; + + GUILayout.EndHorizontal(); + + Vector3 constant = p_Constant.vector3Value; + + if (currentChannel == 0) ChannelUI(p_Red, ref constant.x); + if (currentChannel == 1) ChannelUI(p_Green, ref constant.y); + if (currentChannel == 2) ChannelUI(p_Blue, ref constant.z); + + p_Constant.vector3Value = constant; + p_CurrentChannel.intValue = currentChannel; + + serializedObject.ApplyModifiedProperties(); + } + + void ChannelUI(SerializedProperty channel, ref float constant) + { + Vector3 c = channel.vector3Value; + c.x = EditorGUILayout.Slider(GetContent("% Red"), c.x, -200f, 200f); + c.y = EditorGUILayout.Slider(GetContent("% Green"), c.y, -200f, 200f); + c.z = EditorGUILayout.Slider(GetContent("% Blue"), c.z, -200f, 200f); + constant = EditorGUILayout.Slider(GetContent("Constant"), constant, -200f, 200f); + channel.vector3Value = c; + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/ChannelMixerEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/ChannelMixerEditor.cs.meta new file mode 100644 index 0000000..5726404 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ChannelMixerEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 5d45a191de515ea40bace7c61083bf36 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/ChannelSwapperEditor.cs b/Assets/Colorful FX/Editor/Effects/ChannelSwapperEditor.cs new file mode 100644 index 0000000..27088c3 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ChannelSwapperEditor.cs @@ -0,0 +1,35 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(ChannelSwapper))] + public class ChannelSwapperEditor : BaseEffectEditor + { + SerializedProperty p_RedSource; + SerializedProperty p_GreenSource; + SerializedProperty p_BlueSource; + + void OnEnable() + { + p_RedSource = serializedObject.FindProperty("RedSource"); + p_GreenSource = serializedObject.FindProperty("GreenSource"); + p_BlueSource = serializedObject.FindProperty("BlueSource"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_RedSource); + EditorGUILayout.PropertyField(p_GreenSource); + EditorGUILayout.PropertyField(p_BlueSource); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/ChannelSwapperEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/ChannelSwapperEditor.cs.meta new file mode 100644 index 0000000..955e2b5 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ChannelSwapperEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 58395e03ec9542e40ba5b4dc7c6e84c0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/ChromaticAberrationEditor.cs b/Assets/Colorful FX/Editor/Effects/ChromaticAberrationEditor.cs new file mode 100644 index 0000000..428a018 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ChromaticAberrationEditor.cs @@ -0,0 +1,38 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(ChromaticAberration))] + public class ChromaticAberrationEditor : BaseEffectEditor + { + SerializedProperty p_RedRefraction; + SerializedProperty p_GreenRefraction; + SerializedProperty p_BlueRefraction; + SerializedProperty p_PreserveAlpha; + + void OnEnable() + { + p_RedRefraction = serializedObject.FindProperty("RedRefraction"); + p_GreenRefraction = serializedObject.FindProperty("GreenRefraction"); + p_BlueRefraction = serializedObject.FindProperty("BlueRefraction"); + p_PreserveAlpha = serializedObject.FindProperty("PreserveAlpha"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_RedRefraction); + EditorGUILayout.PropertyField(p_GreenRefraction); + EditorGUILayout.PropertyField(p_BlueRefraction); + EditorGUILayout.PropertyField(p_PreserveAlpha); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/ChromaticAberrationEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/ChromaticAberrationEditor.cs.meta new file mode 100644 index 0000000..3e0ee89 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ChromaticAberrationEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: eec1e784f0174b44c891fdbfdb665931 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/ComicBookEditor.cs b/Assets/Colorful FX/Editor/Effects/ComicBookEditor.cs new file mode 100644 index 0000000..eefe230 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ComicBookEditor.cs @@ -0,0 +1,87 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(ComicBook))] + public class ComicBookEditor : BaseEffectEditor + { + SerializedProperty p_StripAngle; + SerializedProperty p_StripDensity; + SerializedProperty p_StripThickness; + SerializedProperty p_StripLimits; + SerializedProperty p_StripInnerColor; + SerializedProperty p_StripOuterColor; + + SerializedProperty p_FillColor; + SerializedProperty p_BackgroundColor; + + SerializedProperty p_EdgeDetection; + SerializedProperty p_EdgeThreshold; + SerializedProperty p_EdgeColor; + + SerializedProperty p_Amount; + + void OnEnable() + { + p_StripAngle = serializedObject.FindProperty("StripAngle"); + p_StripDensity = serializedObject.FindProperty("StripDensity"); + p_StripThickness = serializedObject.FindProperty("StripThickness"); + p_StripLimits = serializedObject.FindProperty("StripLimits"); + p_StripInnerColor = serializedObject.FindProperty("StripInnerColor"); + p_StripOuterColor = serializedObject.FindProperty("StripOuterColor"); + + p_FillColor = serializedObject.FindProperty("FillColor"); + p_BackgroundColor = serializedObject.FindProperty("BackgroundColor"); + + p_EdgeDetection = serializedObject.FindProperty("EdgeDetection"); + p_EdgeThreshold = serializedObject.FindProperty("EdgeThreshold"); + p_EdgeColor = serializedObject.FindProperty("EdgeColor"); + + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_FillColor); + EditorGUILayout.PropertyField(p_BackgroundColor); + + GUILayout.Label(GetContent("Strips"), EditorStyles.boldLabel); + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_StripAngle, GetContent("Angle")); + EditorGUILayout.PropertyField(p_StripDensity, GetContent("Density")); + EditorGUILayout.PropertyField(p_StripThickness, GetContent("Thickness")); + Vector2 l = p_StripLimits.vector2Value; + EditorGUILayout.MinMaxSlider(GetContent("Limits|Luminance limits used to draw the strips. Pixel under the lower bound will be filled with the Fill Color."), ref l.x, ref l.y, 0f, 1.01f); + p_StripLimits.vector2Value = l; + EditorGUILayout.PropertyField(p_StripInnerColor, GetContent("Inner Color")); + EditorGUILayout.PropertyField(p_StripOuterColor, GetContent("Outer Color")); + } + EditorGUI.indentLevel--; + + GUILayout.Label(GetContent("Edge Detection"), EditorStyles.boldLabel); + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_EdgeDetection, GetContent("Toggle")); + + if (p_EdgeDetection.boolValue) + { + EditorGUILayout.PropertyField(p_EdgeThreshold, GetContent("Threshold")); + EditorGUILayout.PropertyField(p_EdgeColor, GetContent("Color")); + } + } + EditorGUI.indentLevel--; + + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/ComicBookEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/ComicBookEditor.cs.meta new file mode 100644 index 0000000..67b296f --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ComicBookEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: d80d3ec9bf3002140a9db6278b1b0175 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/ContrastGainEditor.cs b/Assets/Colorful FX/Editor/Effects/ContrastGainEditor.cs new file mode 100644 index 0000000..dd460ac --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ContrastGainEditor.cs @@ -0,0 +1,29 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(ContrastGain))] + public class ContrastGainEditor : BaseEffectEditor + { + SerializedProperty p_Gain; + + void OnEnable() + { + p_Gain = serializedObject.FindProperty("Gain"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Gain); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/ContrastGainEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/ContrastGainEditor.cs.meta new file mode 100644 index 0000000..95a3c5f --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ContrastGainEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 5a6292e27063f6140b390ea247988848 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/ContrastVignetteEditor.cs b/Assets/Colorful FX/Editor/Effects/ContrastVignetteEditor.cs new file mode 100644 index 0000000..346d5c6 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ContrastVignetteEditor.cs @@ -0,0 +1,58 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(ContrastVignette))] + public class ContrastVignetteEditor : BaseEffectEditor + { + SerializedProperty p_Center; + SerializedProperty p_Sharpness; + SerializedProperty p_Darkness; + SerializedProperty p_Contrast; + SerializedProperty p_ContrastCoeff; + SerializedProperty p_EdgeBlending; + + void OnEnable() + { + p_Center = serializedObject.FindProperty("Center"); + p_Sharpness = serializedObject.FindProperty("Sharpness"); + p_Darkness = serializedObject.FindProperty("Darkness"); + p_Contrast = serializedObject.FindProperty("Contrast"); + p_ContrastCoeff = serializedObject.FindProperty("ContrastCoeff"); + p_EdgeBlending = serializedObject.FindProperty("EdgeBlending"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Center); + EditorGUILayout.PropertyField(p_Sharpness); + EditorGUILayout.PropertyField(p_Darkness); + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(p_Contrast); + EditorGUI.indentLevel++; + { + Vector3 coeff = p_ContrastCoeff.vector3Value; + coeff.x = EditorGUILayout.Slider(GetContent("Red Channel|Contrast factor on the red channel."), coeff.x, 0f, 1f); + coeff.y = EditorGUILayout.Slider(GetContent("Green Channel|Contrast factor on the green channel."), coeff.y, 0f, 1f); + coeff.z = EditorGUILayout.Slider(GetContent("Blue Channel|Contrast factor on the blue channel."), coeff.z, 0f, 1f); + p_ContrastCoeff.vector3Value = coeff; + } + EditorGUI.indentLevel--; + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(p_EdgeBlending); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/ContrastVignetteEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/ContrastVignetteEditor.cs.meta new file mode 100644 index 0000000..720441e --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ContrastVignetteEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: d01a95f6eb43e5442bd35d505c95e4eb +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/Convolution3x3Editor.cs b/Assets/Colorful FX/Editor/Effects/Convolution3x3Editor.cs new file mode 100644 index 0000000..b3cbf0e --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/Convolution3x3Editor.cs @@ -0,0 +1,103 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Convolution3x3))] + public class Convolution3x3Editor : BaseEffectEditor + { + SerializedProperty p_Divisor; + SerializedProperty p_KernelTop; + SerializedProperty p_KernelMiddle; + SerializedProperty p_KernelBottom; + SerializedProperty p_Amount; + + int selectedPreset = 0; + static GUIContent[] presets = { + new GUIContent("Default"), + new GUIContent("Sharpen"), + new GUIContent("Emboss"), + new GUIContent("Gaussian Blur"), + new GUIContent("Laplacian Edge Detection"), + new GUIContent("Prewitt Edge Detection"), + new GUIContent("Frei-Chen Edge Detection") + }; + static Vector3[,] presetsData = { { new Vector3(0f, 0f, 0f), new Vector3(0f, 1f, 0f), new Vector3(0f, 0f, 0f) }, + { new Vector3(0f, -1f, 0f), new Vector3(-1f, 5f, -1f), new Vector3(0f, -1f, 0f) }, + { new Vector3(-2f, -1f, 0f), new Vector3(-1f, 1f, 1f), new Vector3(0f, 1f, 2f) }, + { new Vector3(1f, 2f, 1f), new Vector3(2f, 4f, 2f), new Vector3(1f, 2f, 1f) }, + { new Vector3(0f, -1f, 0f), new Vector3(-1f, 4f, -1f), new Vector3(0f, -1f, 0f) }, + { new Vector3(0f, 1f, 1f), new Vector3(-1f, 0f, 1f), new Vector3(-1f, -1f, 0f) }, + { new Vector3(-1f, -1.4142f, -1f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1.4142f, 1f) } }; + static float[] presetsDiv = { 1f, 1f, 1f, 16f, 1f, 1f, 1f }; + + void OnEnable() + { + p_Divisor = serializedObject.FindProperty("Divisor"); + p_KernelTop = serializedObject.FindProperty("KernelTop"); + p_KernelMiddle = serializedObject.FindProperty("KernelMiddle"); + p_KernelBottom = serializedObject.FindProperty("KernelBottom"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Divisor); + p_Divisor.floatValue = Mathf.Max(1e-5f, p_Divisor.floatValue); + + Vector3 temp = p_KernelTop.vector3Value; + EditorGUILayout.BeginHorizontal(); + { + EditorGUILayout.PrefixLabel(GetContent("Kernel|The kernel matrix.")); + temp.x = EditorGUILayout.FloatField(temp.x); + temp.y = EditorGUILayout.FloatField(temp.y); + temp.z = EditorGUILayout.FloatField(temp.z); + } + EditorGUILayout.EndHorizontal(); + p_KernelTop.vector3Value = temp; + + temp = p_KernelMiddle.vector3Value; + EditorGUILayout.BeginHorizontal(); + { + EditorGUILayout.PrefixLabel(" "); + temp.x = EditorGUILayout.FloatField(temp.x); + temp.y = EditorGUILayout.FloatField(temp.y); + temp.z = EditorGUILayout.FloatField(temp.z); + } + EditorGUILayout.EndHorizontal(); + p_KernelMiddle.vector3Value = temp; + + temp = p_KernelBottom.vector3Value; + EditorGUILayout.BeginHorizontal(); + { + EditorGUILayout.PrefixLabel(" "); + temp.x = EditorGUILayout.FloatField(temp.x); + temp.y = EditorGUILayout.FloatField(temp.y); + temp.z = EditorGUILayout.FloatField(temp.z); + } + EditorGUILayout.EndHorizontal(); + p_KernelBottom.vector3Value = temp; + + EditorGUILayout.PropertyField(p_Amount); + + EditorGUI.BeginChangeCheck(); + selectedPreset = EditorGUILayout.Popup(GetContent("Preset"), selectedPreset, presets); + + if (EditorGUI.EndChangeCheck()) + { + p_KernelTop.vector3Value = presetsData[selectedPreset, 0]; + p_KernelMiddle.vector3Value = presetsData[selectedPreset, 1]; + p_KernelBottom.vector3Value = presetsData[selectedPreset, 2]; + p_Divisor.floatValue = presetsDiv[selectedPreset]; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/Convolution3x3Editor.cs.meta b/Assets/Colorful FX/Editor/Effects/Convolution3x3Editor.cs.meta new file mode 100644 index 0000000..d2606af --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/Convolution3x3Editor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: d3bc843f4e64761439439cd8247a8d37 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/CrossStitchEditor.cs b/Assets/Colorful FX/Editor/Effects/CrossStitchEditor.cs new file mode 100644 index 0000000..e948ddc --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/CrossStitchEditor.cs @@ -0,0 +1,38 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(CrossStitch))] + public class CrossStitchEditor : BaseEffectEditor + { + SerializedProperty p_Size; + SerializedProperty p_Brightness; + SerializedProperty p_Invert; + SerializedProperty p_Pixelize; + + void OnEnable() + { + p_Size = serializedObject.FindProperty("Size"); + p_Brightness = serializedObject.FindProperty("Brightness"); + p_Invert = serializedObject.FindProperty("Invert"); + p_Pixelize = serializedObject.FindProperty("Pixelize"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Size); + EditorGUILayout.PropertyField(p_Brightness); + EditorGUILayout.PropertyField(p_Invert); + EditorGUILayout.PropertyField(p_Pixelize); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/CrossStitchEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/CrossStitchEditor.cs.meta new file mode 100644 index 0000000..566c486 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/CrossStitchEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: f0b83e28ce69a184eb48e2606a945593 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/DirectionalBlurEditor.cs b/Assets/Colorful FX/Editor/Effects/DirectionalBlurEditor.cs new file mode 100644 index 0000000..c83152b --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/DirectionalBlurEditor.cs @@ -0,0 +1,41 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(DirectionalBlur))] + public class DirectionalBlurEditor : BaseEffectEditor + { + SerializedProperty p_Quality; + SerializedProperty p_Samples; + SerializedProperty p_Strength; + SerializedProperty p_Angle; + + void OnEnable() + { + p_Quality = serializedObject.FindProperty("Quality"); + p_Samples = serializedObject.FindProperty("Samples"); + p_Strength = serializedObject.FindProperty("Strength"); + p_Angle = serializedObject.FindProperty("Angle"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Quality); + + if (p_Quality.intValue == (int)DirectionalBlur.QualityPreset.Custom) + EditorGUILayout.PropertyField(p_Samples); + + EditorGUILayout.PropertyField(p_Strength); + EditorGUILayout.PropertyField(p_Angle); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/DirectionalBlurEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/DirectionalBlurEditor.cs.meta new file mode 100644 index 0000000..ec3c263 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/DirectionalBlurEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: d96b81a86df7fc64ea61a25c473a2d93 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/DitheringEditor.cs b/Assets/Colorful FX/Editor/Effects/DitheringEditor.cs new file mode 100644 index 0000000..5fad5b2 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/DitheringEditor.cs @@ -0,0 +1,53 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Dithering))] + public class DitheringEditor : BaseEffectEditor + { + SerializedProperty p_ShowOriginal; + SerializedProperty p_ConvertToGrayscale; + SerializedProperty p_RedLuminance; + SerializedProperty p_GreenLuminance; + SerializedProperty p_BlueLuminance; + SerializedProperty p_Amount; + + void OnEnable() + { + p_ShowOriginal = serializedObject.FindProperty("ShowOriginal"); + p_ConvertToGrayscale = serializedObject.FindProperty("ConvertToGrayscale"); + p_RedLuminance = serializedObject.FindProperty("RedLuminance"); + p_GreenLuminance = serializedObject.FindProperty("GreenLuminance"); + p_BlueLuminance = serializedObject.FindProperty("BlueLuminance"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_ShowOriginal); + EditorGUILayout.PropertyField(p_ConvertToGrayscale); + + if (p_ConvertToGrayscale.boolValue) + { + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_RedLuminance, GetContent("Red")); + EditorGUILayout.PropertyField(p_GreenLuminance, GetContent("Green")); + EditorGUILayout.PropertyField(p_BlueLuminance, GetContent("Blue")); + } + EditorGUI.indentLevel--; + } + + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/DitheringEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/DitheringEditor.cs.meta new file mode 100644 index 0000000..571b200 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/DitheringEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 43490eb5f605e514584169a9fcd414c8 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/DoubleVisionEditor.cs b/Assets/Colorful FX/Editor/Effects/DoubleVisionEditor.cs new file mode 100644 index 0000000..e4a64ac --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/DoubleVisionEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(DoubleVision))] + public class DoubleVisionEditor : BaseEffectEditor + { + SerializedProperty p_Displace; + SerializedProperty p_Amount; + + void OnEnable() + { + p_Displace = serializedObject.FindProperty("Displace"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Displace); + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/DoubleVisionEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/DoubleVisionEditor.cs.meta new file mode 100644 index 0000000..98afa2f --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/DoubleVisionEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 6ea8f17d16dc36b41b065f4aa0c4dcaf +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/DynamicLookupEditor.cs b/Assets/Colorful FX/Editor/Effects/DynamicLookupEditor.cs new file mode 100644 index 0000000..2149eee --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/DynamicLookupEditor.cs @@ -0,0 +1,227 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(DynamicLookup))] + public class DynamicLookupEditor : BaseEffectEditor + { + SerializedProperty p_Amount; + SerializedProperty p_White; + SerializedProperty p_Black; + SerializedProperty p_Red; + SerializedProperty p_Green; + SerializedProperty p_Blue; + SerializedProperty p_Yellow; + SerializedProperty p_Magenta; + SerializedProperty p_Cyan; + + static Material m_GraphMaterial; + static Texture2D m_CursorActive; + static Texture2D m_CursorInactive; + + SerializedProperty[] m_Colors; + SerializedProperty m_SelectedColor; + Rect[] m_ClickRectsWhite; + Rect[] m_ClickRectsBlack; + float m_InspectorWidth = 1f; + + void OnEnable() + { + p_Amount = serializedObject.FindProperty("Amount"); + p_White = serializedObject.FindProperty("White"); + p_Black = serializedObject.FindProperty("Black"); + p_Red = serializedObject.FindProperty("Red"); + p_Green = serializedObject.FindProperty("Green"); + p_Blue = serializedObject.FindProperty("Blue"); + p_Yellow = serializedObject.FindProperty("Yellow"); + p_Magenta = serializedObject.FindProperty("Magenta"); + p_Cyan = serializedObject.FindProperty("Cyan"); + + m_Colors = new SerializedProperty[] { p_White, p_Red, p_Magenta, p_Blue, p_Cyan, p_Green, p_Yellow }; + m_ClickRectsWhite = new Rect[7]; + m_ClickRectsBlack = new Rect[7]; + } + + void CheckResources() + { + if (m_GraphMaterial == null) + { + m_GraphMaterial = new Material(Shader.Find("Hidden/Colorful/Editor/_DynamicLookup")); + m_GraphMaterial.hideFlags = HideFlags.HideAndDontSave; + } + + if (m_CursorActive == null) + m_CursorActive = Resources.Load("UI/ColorCubeCursorActive"); + + if (m_CursorInactive == null) + m_CursorInactive = Resources.Load("UI/ColorCubeCursorInactive"); + } + + void DrawIsometricCube(Rect r, SerializedProperty centerColor, bool seeThrough) + { + CheckResources(); + m_Colors[0] = centerColor; + m_GraphMaterial.SetPass(0); + + // Events + Event e = Event.current; + Rect[] clickRects = seeThrough ? m_ClickRectsBlack : m_ClickRectsWhite; + + if (e.type == EventType.MouseDown) + { + Vector2 pos = e.mousePosition; + + for (int i = 0; i < m_ClickRectsWhite.Length; i++) + { + if (clickRects[i].Contains(pos)) + { + m_SelectedColor = m_Colors[i]; + e.Use(); + break; + } + } + } + + // Points + float size = Mathf.Min(r.height, r.width) - 30f; + float size_2 = size / 2f; + float size_4 = size / 4f; + float centerW = r.x + r.width / 2f; + float centerH = r.y + r.height / 2f + 5f; + + Vector3[] points = { + new Vector3(centerW, centerH), // White / Black + new Vector3(centerW, centerH - size_2), // Red + new Vector3(centerW + size_2, centerH - size_4), // Magenta + new Vector3(centerW + size_2, centerH + size_4), // Blue + new Vector3(centerW, centerH + size_2), // Cyan + new Vector3(centerW - size_2, centerH + size_4), // Green + new Vector3(centerW - size_2, centerH - size_4), // Yellow + }; + + // Fill + GL.PushMatrix(); + { + GL.Begin(GL.TRIANGLES); + { + // Top right + GL.Color(centerColor.colorValue); GL.Vertex(points[0]); + GL.Color(p_Red.colorValue); GL.Vertex(points[1]); + GL.Color(p_Magenta.colorValue); GL.Vertex(points[2]); + + // Right + GL.Color(centerColor.colorValue); GL.Vertex(points[0]); + GL.Color(p_Magenta.colorValue); GL.Vertex(points[2]); + GL.Color(p_Blue.colorValue); GL.Vertex(points[3]); + + // Bottom right + GL.Color(centerColor.colorValue); GL.Vertex(points[0]); + GL.Color(p_Blue.colorValue); GL.Vertex(points[3]); + GL.Color(p_Cyan.colorValue); GL.Vertex(points[4]); + + // Bottom left + GL.Color(centerColor.colorValue); GL.Vertex(points[0]); + GL.Color(p_Cyan.colorValue); GL.Vertex(points[4]); + GL.Color(p_Green.colorValue); GL.Vertex(points[5]); + + // Left + GL.Color(centerColor.colorValue); GL.Vertex(points[0]); + GL.Color(p_Green.colorValue); GL.Vertex(points[5]); + GL.Color(p_Yellow.colorValue); GL.Vertex(points[6]); + + // Top left + GL.Color(centerColor.colorValue); GL.Vertex(points[0]); + GL.Color(p_Yellow.colorValue); GL.Vertex(points[6]); + GL.Color(p_Red.colorValue); GL.Vertex(points[1]); + } + GL.End(); + } + GL.PopMatrix(); + + // Inlines + if (!seeThrough) + { + Handles.DrawAAPolyLine(1f, new Vector3[] { points[0], points[2] }); + Handles.DrawAAPolyLine(1f, new Vector3[] { points[0], points[4] }); + Handles.DrawAAPolyLine(1f, new Vector3[] { points[0], points[6] }); + } + else + { + Handles.DrawAAPolyLine(1f, new Vector3[] { points[0], points[1] }); + Handles.DrawAAPolyLine(1f, new Vector3[] { points[0], points[3] }); + Handles.DrawAAPolyLine(1f, new Vector3[] { points[0], points[5] }); + } + + // Outlines + Handles.color = new Color(1f, 1f, 1f, 2f); + Handles.DrawAAPolyLine(4f, new Vector3[] { + points[1], points[2], points[3], points[4], + points[5], points[6], points[1] + }); + + // Cursors + for (int i = 0; i < points.Length; i++) + { + Rect cursorRect = new Rect(points[i].x - 8f, points[i].y - 8f, 16f, 16f); + Texture2D cursor = m_CursorInactive; + + if (m_SelectedColor == m_Colors[i]) + cursor = m_CursorActive; + + GUI.DrawTexture(cursorRect, cursor); + cursorRect = new Rect(cursorRect.x - 6f, cursorRect.y - 6f, cursorRect.width + 12f, cursorRect.height + 12f); + + if (e.type == EventType.Repaint) + { + if (seeThrough) + m_ClickRectsBlack[i] = cursorRect; + else + m_ClickRectsWhite[i] = cursorRect; + } + } + } + + void ComputeInspectorWidth() + { + // Dirty trick to get the inspector width, works with scrollbars too + EditorGUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + EditorGUILayout.EndHorizontal(); + + float w = GUILayoutUtility.GetLastRect().width; + + if (Event.current.type == EventType.Repaint) + m_InspectorWidth = w; + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + ComputeInspectorWidth(); + + EditorGUILayout.BeginHorizontal(); + { + float h = Mathf.Min(m_InspectorWidth / 2f, 216f); + + DrawIsometricCube(GUILayoutUtility.GetRect(50f, h), p_White, false); + DrawIsometricCube(GUILayoutUtility.GetRect(50f, h), p_Black, true); + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.Space(); + + if (m_SelectedColor != null) + EditorGUILayout.PropertyField(m_SelectedColor); + + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/DynamicLookupEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/DynamicLookupEditor.cs.meta new file mode 100644 index 0000000..86bb8ab --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/DynamicLookupEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: a18b5e6e202496840a9d0e1e138a7fd8 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/FastVignetteEditor.cs b/Assets/Colorful FX/Editor/Effects/FastVignetteEditor.cs new file mode 100644 index 0000000..11b1782 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/FastVignetteEditor.cs @@ -0,0 +1,45 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + using ColorMode = FastVignette.ColorMode; + + [CustomEditor(typeof(FastVignette))] + public class FastVignetteEditor : BaseEffectEditor + { + SerializedProperty p_Mode; + SerializedProperty p_Color; + SerializedProperty p_Center; + SerializedProperty p_Sharpness; + SerializedProperty p_Darkness; + + void OnEnable() + { + p_Mode = serializedObject.FindProperty("Mode"); + p_Color = serializedObject.FindProperty("Color"); + p_Center = serializedObject.FindProperty("Center"); + p_Sharpness = serializedObject.FindProperty("Sharpness"); + p_Darkness = serializedObject.FindProperty("Darkness"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Mode); + + if (p_Mode.intValue == (int)ColorMode.Colored) + EditorGUILayout.PropertyField(p_Color); + + EditorGUILayout.PropertyField(p_Center); + EditorGUILayout.PropertyField(p_Sharpness); + EditorGUILayout.PropertyField(p_Darkness); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/FastVignetteEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/FastVignetteEditor.cs.meta new file mode 100644 index 0000000..ec9e87f --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/FastVignetteEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 3be4d3353f6c1c44d9a88d51e4782b5b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/FrostEditor.cs b/Assets/Colorful FX/Editor/Effects/FrostEditor.cs new file mode 100644 index 0000000..ea78427 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/FrostEditor.cs @@ -0,0 +1,44 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Frost))] + public class FrostEditor : BaseEffectEditor + { + SerializedProperty p_Scale; + SerializedProperty p_Sharpness; + SerializedProperty p_Darkness; + SerializedProperty p_EnableVignette; + + void OnEnable() + { + p_Scale = serializedObject.FindProperty("Scale"); + p_Sharpness = serializedObject.FindProperty("Sharpness"); + p_Darkness = serializedObject.FindProperty("Darkness"); + p_EnableVignette = serializedObject.FindProperty("EnableVignette"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Scale); + EditorGUILayout.PropertyField(p_EnableVignette, new GUIContent("Vignette")); + + if (p_EnableVignette.boolValue) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(p_Sharpness); + EditorGUILayout.PropertyField(p_Darkness); + EditorGUI.indentLevel--; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/FrostEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/FrostEditor.cs.meta new file mode 100644 index 0000000..da2ef01 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/FrostEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 4b789574aca839f4fb0bfcce638621ce +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/GaussianBlurEditor.cs b/Assets/Colorful FX/Editor/Effects/GaussianBlurEditor.cs new file mode 100644 index 0000000..43a33b0 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GaussianBlurEditor.cs @@ -0,0 +1,35 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(GaussianBlur))] + public class GaussianBlurEditor : BaseEffectEditor + { + SerializedProperty p_Passes; + SerializedProperty p_Downscaling; + SerializedProperty p_Amount; + + void OnEnable() + { + p_Passes = serializedObject.FindProperty("Passes"); + p_Downscaling = serializedObject.FindProperty("Downscaling"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Passes); + EditorGUILayout.PropertyField(p_Downscaling); + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/GaussianBlurEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/GaussianBlurEditor.cs.meta new file mode 100644 index 0000000..1fccc5f --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GaussianBlurEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: fcb034686274b6b45a17bf5fac223ad2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/GlitchEditor.cs b/Assets/Colorful FX/Editor/Effects/GlitchEditor.cs new file mode 100644 index 0000000..a6f15e0 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GlitchEditor.cs @@ -0,0 +1,142 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Glitch))] + public class GlitchEditor : BaseEffectEditor + { + SerializedProperty p_RandomActivation; + SerializedProperty p_RandomEvery; + SerializedProperty p_RandomDuration; + + SerializedProperty p_Mode; + SerializedProperty p_InterferencesSettings; + SerializedProperty p_TearingSettings; + + SerializedProperty p_InterferencesSpeed; + SerializedProperty p_InterferencesDensity; + SerializedProperty p_InterferencesMaxDisplacement; + + SerializedProperty p_TearingSpeed; + SerializedProperty p_TearingIntensity; + SerializedProperty p_TearingMaxDisplacement; + SerializedProperty p_TearingAllowFlipping; + SerializedProperty p_TearingYuvColorBleeding; + SerializedProperty p_TearingYuvOffset; + + void OnEnable() + { + p_RandomActivation = serializedObject.FindProperty("RandomActivation"); + p_RandomEvery = serializedObject.FindProperty("RandomEvery"); + p_RandomDuration = serializedObject.FindProperty("RandomDuration"); + + p_Mode = serializedObject.FindProperty("Mode"); + p_InterferencesSettings = serializedObject.FindProperty("SettingsInterferences"); + p_TearingSettings = serializedObject.FindProperty("SettingsTearing"); + + p_InterferencesSpeed = p_InterferencesSettings.FindPropertyRelative("Speed"); + p_InterferencesDensity = p_InterferencesSettings.FindPropertyRelative("Density"); + p_InterferencesMaxDisplacement = p_InterferencesSettings.FindPropertyRelative("MaxDisplacement"); + + p_TearingSpeed = p_TearingSettings.FindPropertyRelative("Speed"); + p_TearingIntensity = p_TearingSettings.FindPropertyRelative("Intensity"); + p_TearingMaxDisplacement = p_TearingSettings.FindPropertyRelative("MaxDisplacement"); + p_TearingAllowFlipping = p_TearingSettings.FindPropertyRelative("AllowFlipping"); + p_TearingYuvColorBleeding = p_TearingSettings.FindPropertyRelative("YuvColorBleeding"); + p_TearingYuvOffset = p_TearingSettings.FindPropertyRelative("YuvOffset"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_RandomActivation); + + if (p_RandomActivation.boolValue) + { + DoTimingUI(p_RandomEvery, GetContent("Every"), 50f); + DoTimingUI(p_RandomDuration, GetContent("For"), 50f); + EditorGUILayout.Space(); + } + + EditorGUILayout.PropertyField(p_Mode); + + if (p_Mode.enumValueIndex == (int)Glitch.GlitchingMode.Interferences) + { + DoInterferencesUI(); + } + else if (p_Mode.enumValueIndex == (int)Glitch.GlitchingMode.Tearing) + { + DoTearingUI(); + } + else // Complete + { + EditorGUILayout.LabelField(GetContent("Interferences"), EditorStyles.boldLabel); + + EditorGUI.indentLevel++; + { + DoInterferencesUI(); + } + EditorGUI.indentLevel--; + + EditorGUILayout.Space(); + EditorGUILayout.LabelField(GetContent("Tearing"), EditorStyles.boldLabel); + + EditorGUI.indentLevel++; + { + DoTearingUI(); + } + EditorGUI.indentLevel--; + } + + serializedObject.ApplyModifiedProperties(); + } + + void DoInterferencesUI() + { + EditorGUILayout.PropertyField(p_InterferencesSpeed); + EditorGUILayout.PropertyField(p_InterferencesDensity); + EditorGUILayout.PropertyField(p_InterferencesMaxDisplacement); + } + + void DoTearingUI() + { + EditorGUILayout.PropertyField(p_TearingSpeed); + EditorGUILayout.PropertyField(p_TearingIntensity); + EditorGUILayout.PropertyField(p_TearingMaxDisplacement); + EditorGUILayout.PropertyField(p_TearingYuvColorBleeding, GetContent("YUV Color Bleeding")); + + if (p_TearingYuvColorBleeding.boolValue) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(p_TearingYuvOffset, GetContent("Offset")); + EditorGUI.indentLevel--; + } + + EditorGUILayout.PropertyField(p_TearingAllowFlipping); + } + + void DoTimingUI(SerializedProperty prop, GUIContent label, float labelWidth) + { + Vector2 v = prop.vector2Value; + + EditorGUILayout.BeginHorizontal(); + { + GUILayout.Space(EditorGUIUtility.labelWidth - 3); + GUILayout.Label(label, GUILayout.ExpandWidth(false), GUILayout.Width(labelWidth)); + v.x = EditorGUILayout.FloatField(v.x, GUILayout.MaxWidth(75)); + GUILayout.Label(GetContent("to"), GUILayout.ExpandWidth(false)); + v.y = EditorGUILayout.FloatField(v.y, GUILayout.MaxWidth(75)); + GUILayout.Label(GetContent("second(s)"), GUILayout.ExpandWidth(false)); + } + EditorGUILayout.EndHorizontal(); + + prop.vector2Value = v; + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/GlitchEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/GlitchEditor.cs.meta new file mode 100644 index 0000000..f53368b --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GlitchEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 57e2ab7d58ca1e4458448984e8309f1f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/GradientRampDynamicEditor.cs b/Assets/Colorful FX/Editor/Effects/GradientRampDynamicEditor.cs new file mode 100644 index 0000000..15f2dff --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GradientRampDynamicEditor.cs @@ -0,0 +1,36 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(GradientRampDynamic))] + public class GradientRampDynamicEditor : BaseEffectEditor + { + SerializedProperty p_Ramp; + SerializedProperty p_Amount; + + void OnEnable() + { + p_Ramp = serializedObject.FindProperty("Ramp"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(p_Ramp); + if (EditorGUI.EndChangeCheck()) + (target as GradientRampDynamic).UpdateGradientCache(); + + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/GradientRampDynamicEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/GradientRampDynamicEditor.cs.meta new file mode 100644 index 0000000..b9b38ad --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GradientRampDynamicEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 8ee9d7d27f4dd3141955e9ad9da5626e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/GradientRampEditor.cs b/Assets/Colorful FX/Editor/Effects/GradientRampEditor.cs new file mode 100644 index 0000000..4b1bdd8 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GradientRampEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(GradientRamp))] + public class GradientRampEditor : BaseEffectEditor + { + SerializedProperty p_RampTexture; + SerializedProperty p_Amount; + + void OnEnable() + { + p_RampTexture = serializedObject.FindProperty("RampTexture"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_RampTexture); + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/GradientRampEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/GradientRampEditor.cs.meta new file mode 100644 index 0000000..5afa81b --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GradientRampEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c770ef3f88fef48469dc767603d7861d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/GrainyBlurEditor.cs b/Assets/Colorful FX/Editor/Effects/GrainyBlurEditor.cs new file mode 100644 index 0000000..bcf0c6c --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GrainyBlurEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(GrainyBlur))] + public class GrainyBlurEditor : BaseEffectEditor + { + SerializedProperty p_Radius; + SerializedProperty p_Samples; + + void OnEnable() + { + p_Radius = serializedObject.FindProperty("Radius"); + p_Samples = serializedObject.FindProperty("Samples"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Radius); + EditorGUILayout.PropertyField(p_Samples); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/GrainyBlurEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/GrainyBlurEditor.cs.meta new file mode 100644 index 0000000..a68026e --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GrainyBlurEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 6115c55fccefd0b4ab1c9ff4a54578c1 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/GrayscaleEditor.cs b/Assets/Colorful FX/Editor/Effects/GrayscaleEditor.cs new file mode 100644 index 0000000..9a77afd --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GrayscaleEditor.cs @@ -0,0 +1,65 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Grayscale))] + public class GrayscaleEditor : BaseEffectEditor + { + SerializedProperty p_RedLuminance; + SerializedProperty p_GreenLuminance; + SerializedProperty p_BlueLuminance; + SerializedProperty p_Amount; + + static GUIContent[] presets = { + new GUIContent("Choose a preset..."), + new GUIContent("Default"), + new GUIContent("Unity Default"), + new GUIContent("Naive") + }; + static float[,] presetsData = { { 0.299f, 0.587f, 0.114f }, { 0.222f, 0.707f, 0.071f }, { 0.333f, 0.334f, 0.333f } }; + + void OnEnable() + { + p_RedLuminance = serializedObject.FindProperty("RedLuminance"); + p_GreenLuminance = serializedObject.FindProperty("GreenLuminance"); + p_BlueLuminance = serializedObject.FindProperty("BlueLuminance"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + GUILayout.Label("Luminance", EditorStyles.boldLabel); + + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_RedLuminance, GetContent("Red")); + EditorGUILayout.PropertyField(p_GreenLuminance, GetContent("Green")); + EditorGUILayout.PropertyField(p_BlueLuminance, GetContent("Blue")); + } + EditorGUI.indentLevel--; + + EditorGUILayout.Separator(); + EditorGUILayout.PropertyField(p_Amount); + + EditorGUI.BeginChangeCheck(); + int selectedPreset = EditorGUILayout.Popup(GetContent("Preset"), 0, presets); + + if (EditorGUI.EndChangeCheck() && selectedPreset > 0) + { + selectedPreset--; + p_RedLuminance.floatValue = presetsData[selectedPreset, 0]; + p_GreenLuminance.floatValue = presetsData[selectedPreset, 1]; + p_BlueLuminance.floatValue = presetsData[selectedPreset, 2]; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/GrayscaleEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/GrayscaleEditor.cs.meta new file mode 100644 index 0000000..5798ffe --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/GrayscaleEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 2c77ef04cea05d44dad9f90afae3116d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/HalftoneEditor.cs b/Assets/Colorful FX/Editor/Effects/HalftoneEditor.cs new file mode 100644 index 0000000..3de9bf7 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/HalftoneEditor.cs @@ -0,0 +1,50 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Halftone))] + public class HalftoneEditor : BaseEffectEditor + { + SerializedProperty p_Scale; + SerializedProperty p_DotSize; + SerializedProperty p_Angle; + SerializedProperty p_Smoothness; + SerializedProperty p_Center; + SerializedProperty p_Desaturate; + + void OnEnable() + { + p_Scale = serializedObject.FindProperty("Scale"); + p_DotSize = serializedObject.FindProperty("DotSize"); + p_Angle = serializedObject.FindProperty("Angle"); + p_Smoothness = serializedObject.FindProperty("Smoothness"); + p_Center = serializedObject.FindProperty("Center"); + p_Desaturate = serializedObject.FindProperty("Desaturate"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Scale); + EditorGUILayout.PropertyField(p_DotSize); + EditorGUILayout.PropertyField(p_Smoothness); + EditorGUILayout.PropertyField(p_Angle); + + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_Center); + } + EditorGUI.indentLevel--; + + EditorGUILayout.PropertyField(p_Desaturate); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/HalftoneEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/HalftoneEditor.cs.meta new file mode 100644 index 0000000..6d9b382 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/HalftoneEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 0e071755be1eea74c9284b5b29cbcd26 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/HistogramEditor.cs b/Assets/Colorful FX/Editor/Effects/HistogramEditor.cs new file mode 100644 index 0000000..7a807dc --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/HistogramEditor.cs @@ -0,0 +1,342 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + using UnityEditorInternal; + using System; + using Channel = Histogram.Channel; + + [CustomEditor(typeof(Histogram))] + public class HistogramEditor : BaseEffectEditor + { + SerializedProperty p_CurrentChannel; + SerializedProperty p_Logarithmic; + SerializedProperty p_AutoRefresh; + + Histogram m_Target; + int[] m_Histogram = new int[256]; + int[] m_HistogramRGB = new int[256 * 3]; + Rect m_HistogramRect = new Rect(0f, 0f, 1f, 1f); + Texture2D m_TempTexture; + + Color MasterColor = new Color(1f, 1f, 1f, 2f); + Color RedColor = new Color(1f, 0f, 0f, 2f); + Color GreenColor = new Color(0f, 1f, 0f, 2f); + Color BlueColor = new Color(0f, 1f, 1f, 2f); + + void OnEnable() + { + p_CurrentChannel = serializedObject.FindProperty("e_CurrentChannel"); + p_Logarithmic = serializedObject.FindProperty("e_Logarithmic"); + p_AutoRefresh = serializedObject.FindProperty("e_AutoRefresh"); + + m_Target = target as Histogram; + m_Target.e_OnFrameEnd = UpdateHistogram; + m_Target.InternalForceRefresh(); + + InternalEditorUtility.RepaintAllViews(); + } + + void OnDisable() + { + m_Target.e_OnFrameEnd = null; + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + // Sizing + if (!EditorGUIUtility.isProSkin) + EditorGUILayout.Space(); + + EditorGUILayout.BeginHorizontal(); + { + Rect rect = GUILayoutUtility.GetRect(256f, 128f); + float width = Mathf.Min(512f, rect.width); + float height = Mathf.Min(128f, rect.height); + + if (Event.current.type == EventType.Repaint) + { + m_HistogramRect = new Rect( + Mathf.Floor(rect.x + rect.width / 2f - width / 2f), + Mathf.Floor(rect.y + rect.height / 2f - height / 2f), + width, height + ); + } + } + EditorGUILayout.EndHorizontal(); + + if (!EditorGUIUtility.isProSkin) + EditorGUILayout.Space(); + + // Histogram + if (!EditorGUIUtility.isProSkin) + { + Vector3[] verts = new Vector3[] { + new Vector3(m_HistogramRect.x - 4, m_HistogramRect.y - 4), + new Vector3(m_HistogramRect.xMax + 4, m_HistogramRect.y - 4), + new Vector3(m_HistogramRect.xMax + 4, m_HistogramRect.yMax + 4), + new Vector3(m_HistogramRect.x - 4, m_HistogramRect.yMax + 4) + }; + Handles.DrawSolidRectangleWithOutline(verts, new Color(0.21f, 0.21f, 0.21f, 2.0f), new Color(0.21f, 0.21f, 0.21f, 2.0f)); + } + + if (p_CurrentChannel.intValue == (int)Channel.RGB) + DrawHistogramRGB(m_HistogramRect); + else + DrawHistogram(m_HistogramRect); + + // UI + EditorGUI.BeginChangeCheck(); + + EditorGUILayout.BeginHorizontal(); + { + GUILayout.FlexibleSpace(); + EditorGUILayout.BeginHorizontal(GUILayout.Width(m_HistogramRect.width)); + { + Channel currentChannel = (Channel)p_CurrentChannel.intValue; + currentChannel = (Channel)EditorGUILayout.EnumPopup(currentChannel); + p_CurrentChannel.intValue = (int)currentChannel; + + GUILayout.FlexibleSpace(); + + p_Logarithmic.boolValue = GUILayout.Toggle(p_Logarithmic.boolValue, GetContent("Log"), EditorStyles.miniButtonLeft); + p_AutoRefresh.boolValue = GUILayout.Toggle(p_AutoRefresh.boolValue, GetContent("Auto Refresh"), EditorStyles.miniButtonMid); + + EditorGUI.BeginDisabledGroup(p_AutoRefresh.boolValue); + + if (GUILayout.Button(GetContent("Refresh"), EditorStyles.miniButtonRight)) + Refresh(); + + EditorGUI.EndDisabledGroup(); + } + EditorGUILayout.EndHorizontal(); + GUILayout.FlexibleSpace(); + } + EditorGUILayout.EndHorizontal(); + + if (EditorGUI.EndChangeCheck()) + Refresh(); + + serializedObject.ApplyModifiedProperties(); + } + + void Refresh() + { + m_Target.InternalForceRefresh(); + InternalEditorUtility.RepaintAllViews(); + } + + void UpdateHistogram(RenderTexture source) + { + if (m_TempTexture == null || m_TempTexture.width != source.width || m_TempTexture.height != source.height) + { + if (m_TempTexture != null) + DestroyImmediate(m_TempTexture); + + m_TempTexture = new Texture2D(source.width, source.height, TextureFormat.RGB24, false); + m_TempTexture.anisoLevel = 0; + m_TempTexture.wrapMode = TextureWrapMode.Clamp; + m_TempTexture.filterMode = FilterMode.Bilinear; + m_TempTexture.hideFlags = HideFlags.HideAndDontSave; + } + + // Grab the screen content for the camera + RenderTexture.active = source; + m_TempTexture.ReadPixels(new Rect(0, 0, source.width, source.height), 0, 0, false); + m_TempTexture.Apply(); + RenderTexture.active = null; + + // Raw histogram data + Color[] pixels = m_TempTexture.GetPixels(); + + switch (p_CurrentChannel.intValue) + { + case (int)Channel.RGB: + Array.Clear(m_HistogramRGB, 0, 256 * 3); + for (int i = 0; i < pixels.Length; i++) + { + Color c = pixels[i]; + m_HistogramRGB[(int)(c.r * 255)]++; + m_HistogramRGB[(int)(c.g * 255) + 256]++; + m_HistogramRGB[(int)(c.b * 255) + 512]++; + } + break; + case (int)Channel.Luminance: + Array.Clear(m_Histogram, 0, 256); + for (int i = 0; i < pixels.Length; i++) + { + Color c = pixels[i]; + m_Histogram[(int)((c.r * 0.2125f + c.g * 0.7154f + c.b * 0.0721f) * 255)]++; + } + break; + case (int)Channel.Red: + Array.Clear(m_Histogram, 0, 256); + for (int i = 0; i < pixels.Length; i++) + m_Histogram[(int)(pixels[i].r * 255)]++; + break; + case (int)Channel.Green: + Array.Clear(m_Histogram, 0, 256); + for (int i = 0; i < pixels.Length; i++) + m_Histogram[(int)(pixels[i].g * 255)]++; + break; + case (int)Channel.Blue: + Array.Clear(m_Histogram, 0, 256); + for (int i = 0; i < pixels.Length; i++) + m_Histogram[(int)(pixels[i].b * 255)]++; + break; + } + } + + void DrawHistogram(Rect rect) + { + // Scale histogram values + int[] scaledHistogram = new int[256]; + + int max = 0; + for (int i = 0; i < 256; i++) + max = (max < m_Histogram[i]) ? m_Histogram[i] : max; + + scaledHistogram = new int[256]; + + if (p_Logarithmic.boolValue) + { + float factor = rect.height / Mathf.Log10(max); + + for (int i = 0; i < 256; i++) + scaledHistogram[i] = (m_Histogram[i] == 0) ? 0 : Mathf.Max(Mathf.RoundToInt(Mathf.Log10(m_Histogram[i]) * factor), 1); + } + else + { + float factor = rect.height / max; + + for (int i = 0; i < 256; i++) + scaledHistogram[i] = Mathf.Max(Mathf.RoundToInt(m_Histogram[i] * factor), 1); + } + + // Color + if (p_CurrentChannel.intValue == (int)Channel.Luminance) + Handles.color = MasterColor; + else if (p_CurrentChannel.intValue == (int)Channel.Red) + Handles.color = RedColor; + else if (p_CurrentChannel.intValue == (int)Channel.Green) + Handles.color = GreenColor; + else + Handles.color = BlueColor; + + // Base line + Vector2 p1 = new Vector2(rect.x - 1, rect.yMax); + Vector2 p2 = new Vector2(rect.xMax - 1, rect.yMax); + Handles.DrawLine(p1, p2); + + // Histogram + for (int i = 0; i < (int)rect.width; i++) + { + float remapI = (float)i / rect.width * 255f; + int index = Mathf.FloorToInt(remapI); + float fract = remapI - (float)index; + float v1 = scaledHistogram[index]; + float v2 = scaledHistogram[Mathf.Min(index + 1, 255)]; + float h = v1 * (1.0f - fract) + v2 * fract; + Handles.DrawLine( + new Vector2(rect.x + i, rect.yMax), + new Vector2(rect.x + i, rect.yMin + (rect.height - h)) + ); + } + } + + void DrawHistogramRGB(Rect rect) + { + // Scale histogram values + Vector3 max = Vector3.zero; + for (int i = 0; i < 256; i++) + { + max.x = (max.x < m_HistogramRGB[i]) ? m_HistogramRGB[i] : max.x; + max.y = (max.y < m_HistogramRGB[i + 256]) ? m_HistogramRGB[i + 256] : max.y; + max.z = (max.z < m_HistogramRGB[i + 512]) ? m_HistogramRGB[i + 512] : max.z; + } + + Vector3[] scaledHistogramRGB = new Vector3[256]; + + if (p_Logarithmic.boolValue) + { + Vector3 factor = new Vector3( + rect.height / Mathf.Log10(max.x), + rect.height / Mathf.Log10(max.y), + rect.height / Mathf.Log10(max.z) + ); + + for (int i = 0; i < 256; i++) + { + scaledHistogramRGB[i] = new Vector3( + (m_HistogramRGB[i] == 0) ? 0 : Mathf.Max(Mathf.RoundToInt(Mathf.Log10(m_HistogramRGB[i]) * factor.x), 1), + (m_HistogramRGB[i + 256] == 0) ? 0 : Mathf.Max(Mathf.RoundToInt(Mathf.Log10(m_HistogramRGB[i + 256]) * factor.y), 1), + (m_HistogramRGB[i + 512] == 0) ? 0 : Mathf.Max(Mathf.RoundToInt(Mathf.Log10(m_HistogramRGB[i + 512]) * factor.z), 1) + ); + } + } + else + { + Vector3 factor = new Vector3(rect.height / max.x, rect.height / max.y, rect.height / max.z); + + for (int i = 0; i < 256; i++) + { + scaledHistogramRGB[i] = new Vector3( + Mathf.Max(Mathf.RoundToInt(m_HistogramRGB[i] * factor.x), 1), + Mathf.Max(Mathf.RoundToInt(m_HistogramRGB[i + 256] * factor.y), 1), + Mathf.Max(Mathf.RoundToInt(m_HistogramRGB[i + 512] * factor.z), 1) + ); + } + } + + // Base line + Handles.color = MasterColor; + Vector2 p1 = new Vector2(rect.x - 1, rect.yMax); + Vector2 p2 = new Vector2(rect.xMax - 1, rect.yMax); + Handles.DrawLine(p1, p2); + Color[] colors = { RedColor, GreenColor, BlueColor }; + + // Histogram + for (int i = 0; i < (int)rect.width; i++) + { + int[] heights = new int[3]; + + for (int j = 0; j < 3; j++) + { + float remapI = (float)i / rect.width * 255f; + int index = Mathf.FloorToInt(remapI); + float fract = remapI - (float)index; + float v1 = scaledHistogramRGB[index][j]; + float v2 = scaledHistogramRGB[Mathf.Min(index + 1, 255)][j]; + heights[j] = (int)(v1 * (1.0f - fract) + v2 * fract); + } + + int[] indices = { 0, 1, 2 }; + Array.Sort(indices, (a, b) => heights[a].CompareTo(heights[b])); + + Handles.color = MasterColor; + Handles.DrawLine( + new Vector2(rect.x + i, rect.yMax), + new Vector2(rect.x + i, rect.yMin + (rect.height - heights[indices[0]])) + ); + + Handles.color = colors[indices[2]] + colors[indices[1]]; + Handles.DrawLine( + new Vector2(rect.x + i, rect.yMin + (rect.height - heights[indices[0]])), + new Vector2(rect.x + i, rect.yMin + (rect.height - heights[indices[1]])) + ); + + Handles.color = colors[indices[2]]; + Handles.DrawLine( + new Vector2(rect.x + i, rect.yMin + (rect.height - heights[indices[1]])), + new Vector2(rect.x + i, rect.yMin + (rect.height - heights[indices[2]])) + ); + } + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/HistogramEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/HistogramEditor.cs.meta new file mode 100644 index 0000000..29456a3 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/HistogramEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 9d071f1f04ead6742938ba8b073f2740 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/HueFocusEditor.cs b/Assets/Colorful FX/Editor/Effects/HueFocusEditor.cs new file mode 100644 index 0000000..ac25676 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/HueFocusEditor.cs @@ -0,0 +1,53 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(HueFocus))] + public class HueFocusEditor : BaseEffectEditor + { + SerializedProperty p_Hue; + SerializedProperty p_Range; + SerializedProperty p_Boost; + SerializedProperty p_Amount; + Texture2D m_HueRamp; + + void OnEnable() + { + p_Hue = serializedObject.FindProperty("Hue"); + p_Range = serializedObject.FindProperty("Range"); + p_Boost = serializedObject.FindProperty("Boost"); + p_Amount = serializedObject.FindProperty("Amount"); + + m_HueRamp = Resources.Load("UI/HueRamp"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.Separator(); + + Rect rect = GUILayoutUtility.GetRect(0, 20); + GUI.DrawTextureWithTexCoords(rect, m_HueRamp, new Rect(0.5f + p_Hue.floatValue / 360f, 0f, 1f, 1f)); + + GUI.enabled = false; + float min = 180f - p_Range.floatValue; + float max = 180f + p_Range.floatValue; + EditorGUILayout.MinMaxSlider(ref min, ref max, 0f, 360f); + GUI.enabled = true; + + EditorGUILayout.Separator(); + EditorGUILayout.PropertyField(p_Hue); + EditorGUILayout.PropertyField(p_Range); + EditorGUILayout.PropertyField(p_Boost); + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/HueFocusEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/HueFocusEditor.cs.meta new file mode 100644 index 0000000..79ebb12 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/HueFocusEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 95c14fb8c2a52394f9dfe787cbf36a7e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/HueSaturationValueEditor.cs b/Assets/Colorful FX/Editor/Effects/HueSaturationValueEditor.cs new file mode 100644 index 0000000..e39b0d3 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/HueSaturationValueEditor.cs @@ -0,0 +1,125 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(HueSaturationValue))] + public class HueSaturationValueEditor : BaseEffectEditor + { + static string[] channels = { "Master", "Reds", "Yellows", "Greens", "Cyans", "Blues", "Magentas" }; + + SerializedProperty p_MasterHue; + SerializedProperty p_MasterSaturation; + SerializedProperty p_MasterValue; + + SerializedProperty p_RedsHue; + SerializedProperty p_RedsSaturation; + SerializedProperty p_RedsValue; + + SerializedProperty p_YellowsHue; + SerializedProperty p_YellowsSaturation; + SerializedProperty p_YellowsValue; + + SerializedProperty p_GreensHue; + SerializedProperty p_GreensSaturation; + SerializedProperty p_GreensValue; + + SerializedProperty p_CyansHue; + SerializedProperty p_CyansSaturation; + SerializedProperty p_CyansValue; + + SerializedProperty p_BluesHue; + SerializedProperty p_BluesSaturation; + SerializedProperty p_BluesValue; + + SerializedProperty p_MagentasHue; + SerializedProperty p_MagentasSaturation; + SerializedProperty p_MagentasValue; + + SerializedProperty p_AdvancedMode; + SerializedProperty p_CurrentChannel; + + void OnEnable() + { + p_MasterHue = serializedObject.FindProperty("MasterHue"); + p_MasterSaturation = serializedObject.FindProperty("MasterSaturation"); + p_MasterValue = serializedObject.FindProperty("MasterValue"); + + p_RedsHue = serializedObject.FindProperty("RedsHue"); + p_RedsSaturation = serializedObject.FindProperty("RedsSaturation"); + p_RedsValue = serializedObject.FindProperty("RedsValue"); + + p_YellowsHue = serializedObject.FindProperty("YellowsHue"); + p_YellowsSaturation = serializedObject.FindProperty("YellowsSaturation"); + p_YellowsValue = serializedObject.FindProperty("YellowsValue"); + + p_GreensHue = serializedObject.FindProperty("GreensHue"); + p_GreensSaturation = serializedObject.FindProperty("GreensSaturation"); + p_GreensValue = serializedObject.FindProperty("GreensValue"); + + p_CyansHue = serializedObject.FindProperty("CyansHue"); + p_CyansSaturation = serializedObject.FindProperty("CyansSaturation"); + p_CyansValue = serializedObject.FindProperty("CyansValue"); + + p_BluesHue = serializedObject.FindProperty("BluesHue"); + p_BluesSaturation = serializedObject.FindProperty("BluesSaturation"); + p_BluesValue = serializedObject.FindProperty("BluesValue"); + + p_MagentasHue = serializedObject.FindProperty("MagentasHue"); + p_MagentasSaturation = serializedObject.FindProperty("MagentasSaturation"); + p_MagentasValue = serializedObject.FindProperty("MagentasValue"); + + p_AdvancedMode = serializedObject.FindProperty("AdvancedMode"); + p_CurrentChannel = serializedObject.FindProperty("e_CurrentChannel"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + bool advanced = p_AdvancedMode.boolValue; + int channel = p_CurrentChannel.intValue; + + EditorGUILayout.BeginHorizontal(); + if (advanced) channel = EditorGUILayout.Popup(channel, channels); + else channel = 0; + + advanced = GUILayout.Toggle(advanced, GetContent("Advanced Mode"), EditorStyles.miniButton); + EditorGUILayout.EndHorizontal(); + + switch (channel) + { + case 1: Channel(p_RedsHue, p_RedsSaturation, p_RedsValue); + break; + case 2: Channel(p_YellowsHue, p_YellowsSaturation, p_YellowsValue); + break; + case 3: Channel(p_GreensHue, p_GreensSaturation, p_GreensValue); + break; + case 4: Channel(p_CyansHue, p_CyansSaturation, p_CyansValue); + break; + case 5: Channel(p_BluesHue, p_BluesSaturation, p_BluesValue); + break; + case 6: Channel(p_MagentasHue, p_MagentasSaturation, p_MagentasValue); + break; + default: Channel(p_MasterHue, p_MasterSaturation, p_MasterValue); + break; + } + + p_AdvancedMode.boolValue = advanced; + p_CurrentChannel.intValue = channel; + + serializedObject.ApplyModifiedProperties(); + } + + void Channel(SerializedProperty hue, SerializedProperty saturation, SerializedProperty value) + { + EditorGUILayout.PropertyField(hue, GetContent("Hue")); + EditorGUILayout.PropertyField(saturation, GetContent("Saturation")); + EditorGUILayout.PropertyField(value, GetContent("Value")); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/HueSaturationValueEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/HueSaturationValueEditor.cs.meta new file mode 100644 index 0000000..02c27da --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/HueSaturationValueEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 98648ea769b03bb4ea9a0f2fad531d98 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/KuwaharaEditor.cs b/Assets/Colorful FX/Editor/Effects/KuwaharaEditor.cs new file mode 100644 index 0000000..aacf4d4 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/KuwaharaEditor.cs @@ -0,0 +1,29 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Kuwahara))] + public class KuwaharaEditor : BaseEffectEditor + { + SerializedProperty p_Radius; + + void OnEnable() + { + p_Radius = serializedObject.FindProperty("Radius"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Radius); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/KuwaharaEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/KuwaharaEditor.cs.meta new file mode 100644 index 0000000..f5fe32a --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/KuwaharaEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ba3e4ad0653dd0b4eb0f1073baf77ad8 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/LedEditor.cs b/Assets/Colorful FX/Editor/Effects/LedEditor.cs new file mode 100644 index 0000000..b6b739f --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LedEditor.cs @@ -0,0 +1,53 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Led))] + public class LedEditor : BaseEffectEditor + { + SerializedProperty p_Scale; + SerializedProperty p_Ratio; + SerializedProperty p_AutomaticRatio; + SerializedProperty p_Brightness; + SerializedProperty p_Shape; + SerializedProperty p_Mode; + + void OnEnable() + { + p_Scale = serializedObject.FindProperty("Scale"); + p_Ratio = serializedObject.FindProperty("Ratio"); + p_AutomaticRatio = serializedObject.FindProperty("AutomaticRatio"); + p_Brightness = serializedObject.FindProperty("Brightness"); + p_Shape = serializedObject.FindProperty("Shape"); + p_Mode = serializedObject.FindProperty("Mode"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Mode); + EditorGUILayout.PropertyField(p_Scale); + EditorGUILayout.PropertyField(p_Shape); + EditorGUILayout.PropertyField(p_AutomaticRatio); + + if (!p_AutomaticRatio.boolValue) + { + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_Ratio); + } + EditorGUI.indentLevel--; + } + + EditorGUILayout.PropertyField(p_Brightness); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/LedEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/LedEditor.cs.meta new file mode 100644 index 0000000..15a3538 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LedEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 493055e70fc53814b9c9fdd92f38e641 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/LensDistortionBlurEditor.cs b/Assets/Colorful FX/Editor/Effects/LensDistortionBlurEditor.cs new file mode 100644 index 0000000..db915a5 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LensDistortionBlurEditor.cs @@ -0,0 +1,44 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(LensDistortionBlur))] + public class LensDistortionBlurEditor : BaseEffectEditor + { + SerializedProperty p_Quality; + SerializedProperty p_Samples; + SerializedProperty p_Distortion; + SerializedProperty p_CubicDistortion; + SerializedProperty p_Scale; + + void OnEnable() + { + p_Quality = serializedObject.FindProperty("Quality"); + p_Samples = serializedObject.FindProperty("Samples"); + p_Distortion = serializedObject.FindProperty("Distortion"); + p_CubicDistortion = serializedObject.FindProperty("CubicDistortion"); + p_Scale = serializedObject.FindProperty("Scale"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Quality); + + if (p_Quality.intValue == (int)LensDistortionBlur.QualityPreset.Custom) + EditorGUILayout.PropertyField(p_Samples); + + EditorGUILayout.PropertyField(p_Distortion); + EditorGUILayout.PropertyField(p_CubicDistortion); + EditorGUILayout.PropertyField(p_Scale, GetContent("Scale (Zoom)")); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/LensDistortionBlurEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/LensDistortionBlurEditor.cs.meta new file mode 100644 index 0000000..fb78b91 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LensDistortionBlurEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: db9b779b99d913b46942cfd97c31b5ba +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/LetterboxEditor.cs b/Assets/Colorful FX/Editor/Effects/LetterboxEditor.cs new file mode 100644 index 0000000..8f31a46 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LetterboxEditor.cs @@ -0,0 +1,53 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Letterbox))] + public class LetterboxEditor : BaseEffectEditor + { + SerializedProperty p_FillColor; + SerializedProperty p_Aspect; + + static GUIContent[] presets = { + new GUIContent("Choose a preset..."), + new GUIContent("1:1"), + new GUIContent("5:4"), + new GUIContent("4:3"), + new GUIContent("3:2"), + new GUIContent("16:9"), + new GUIContent("16:10"), + new GUIContent("21:9") + }; + static float[] presetsData = { 1f, 5f/4f, 4f/3f, 3f/2f, 16f/9f, 16f/10f, 21f/9f }; + + void OnEnable() + { + p_FillColor = serializedObject.FindProperty("FillColor"); + p_Aspect = serializedObject.FindProperty("Aspect"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_FillColor); + EditorGUILayout.PropertyField(p_Aspect, GetContent("Aspect Ratio")); + + EditorGUI.BeginChangeCheck(); + int selectedPreset = EditorGUILayout.Popup(GetContent("Preset"), 0, presets); + + if (EditorGUI.EndChangeCheck() && selectedPreset > 0) + { + selectedPreset--; + p_Aspect.floatValue = presetsData[selectedPreset]; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/LetterboxEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/LetterboxEditor.cs.meta new file mode 100644 index 0000000..53bfbea --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LetterboxEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: a5783bc33aba2c044bd202431145954a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/LevelsEditor.cs b/Assets/Colorful FX/Editor/Effects/LevelsEditor.cs new file mode 100644 index 0000000..992e7f3 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LevelsEditor.cs @@ -0,0 +1,428 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + using UnityEditorInternal; + using System; + using ColorMode = Levels.ColorMode; + using Channel = Levels.Channel; + + [CustomEditor(typeof(Levels))] + public class LevelsEditor : BaseEffectEditor + { + SerializedProperty p_Mode; + SerializedProperty p_InputL; + SerializedProperty p_InputR; + SerializedProperty p_InputG; + SerializedProperty p_InputB; + SerializedProperty p_OutputL; + SerializedProperty p_OutputR; + SerializedProperty p_OutputG; + SerializedProperty p_OutputB; + + SerializedProperty p_CurrentChannel; + SerializedProperty p_Logarithmic; + SerializedProperty p_AutoRefresh; + + Levels m_Target; + Texture2D m_TempTexture; + int[] m_Histogram = new int[256]; + Rect m_HistogramRect = new Rect(0f, 0f, 1f, 1f); + + Color MasterColor = EditorGUIUtility.isProSkin ? new Color(1f, 1f, 1f, 2f) : new Color(0.1f, 0.1f, 0.1f, 2f); + Color RedColor = new Color(1f, 0f, 0f, 2f); + Color GreenColor = EditorGUIUtility.isProSkin ? new Color(0f, 1f, 0f, 2f) : new Color(0.2f, 0.8f, 0.2f, 2f); + Color BlueColor = EditorGUIUtility.isProSkin ? new Color(0f, 1f, 1f, 2f) : new Color(0f, 0f, 1f, 2f); + Texture2D RampTexture; + + static GUIContent[] presets = { + new GUIContent("Choose a preset..."), + new GUIContent("Default"), + new GUIContent("Darker"), + new GUIContent("Increase Contrast 1"), + new GUIContent("Increase Contrast 2"), + new GUIContent("Increase Contrast 3"), + new GUIContent("Lighten Shadows"), + new GUIContent("Lighter"), + new GUIContent("Midtones Brighter"), + new GUIContent("Midtones Darker") + }; + + static float[,] presetsData = { { 0, 1, 255, 0, 255 }, { 15, 1, 255, 0, 255 }, { 10, 1, 245, 0, 255 }, + { 20, 1, 235, 0, 255 }, { 30, 1, 225, 0, 255 }, { 0, 1.6f, 255, 0, 255 }, + { 0, 1, 230, 0, 255 }, { 0, 1.25f, 255, 0, 255 }, { 0, 0.75f, 255, 0, 255 } }; + + void OnEnable() + { + p_Mode = serializedObject.FindProperty("Mode"); + p_InputL = serializedObject.FindProperty("InputL"); + p_InputR = serializedObject.FindProperty("InputR"); + p_InputG = serializedObject.FindProperty("InputG"); + p_InputB = serializedObject.FindProperty("InputB"); + p_OutputL = serializedObject.FindProperty("OutputL"); + p_OutputR = serializedObject.FindProperty("OutputR"); + p_OutputG = serializedObject.FindProperty("OutputG"); + p_OutputB = serializedObject.FindProperty("OutputB"); + + p_CurrentChannel = serializedObject.FindProperty("e_CurrentChannel"); + p_Logarithmic = serializedObject.FindProperty("e_Logarithmic"); + p_AutoRefresh = serializedObject.FindProperty("e_AutoRefresh"); + + RampTexture = Resources.Load(CLib.IsLinearColorSpace() ? "UI/GrayscaleRampLinear" : "UI/GrayscaleRamp"); + + m_Target = target as Levels; + m_Target.e_OnFrameEnd = UpdateHistogram; + m_Target.InternalForceRefresh(); + + InternalEditorUtility.RepaintAllViews(); + } + + void OnDisable() + { + m_Target.e_OnFrameEnd = null; + + if (m_TempTexture != null) + DestroyImmediate(m_TempTexture); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUI.BeginChangeCheck(); + + EditorGUILayout.BeginHorizontal(); + { + bool isRGB = p_Mode.intValue == (int)ColorMode.RGB; + Channel currentChannel = (Channel)p_CurrentChannel.intValue; + + if (isRGB) currentChannel = (Channel)EditorGUILayout.EnumPopup(currentChannel); + isRGB = GUILayout.Toggle(isRGB, GetContent("Multi-channel Mode"), EditorStyles.miniButton); + + p_Mode.intValue = isRGB ? (int)ColorMode.RGB : (int)ColorMode.Monochrome; + p_CurrentChannel.intValue = (int)currentChannel; + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + { + if (GUILayout.Button(GetContent("Auto B&W"), EditorStyles.miniButton)) + { + int min = 0, max = 255; + + for (int i = 0; i < 256; i++) + { + if (m_Histogram[255 - i] > 0) + min = 255 - i; + + if (m_Histogram[i] > 0) + max = i; + } + + if (p_Mode.intValue == (int)ColorMode.RGB) + { + if (p_CurrentChannel.intValue == (int)Channel.Red) + { + Vector3 input = p_InputR.vector3Value; + input.x = min; + input.y = max; + p_InputR.vector3Value = input; + } + else if (p_CurrentChannel.intValue == (int)Channel.Green) + { + Vector3 input = p_InputG.vector3Value; + input.x = min; + input.y = max; + p_InputG.vector3Value = input; + } + else if (p_CurrentChannel.intValue == (int)Channel.Blue) + { + Vector3 input = p_InputB.vector3Value; + input.x = min; + input.y = max; + p_InputB.vector3Value = input; + } + } + else + { + Vector3 input = p_InputL.vector3Value; + input.x = min; + input.y = max; + p_InputL.vector3Value = input; + } + } + + GUILayout.FlexibleSpace(); + + p_Logarithmic.boolValue = GUILayout.Toggle(p_Logarithmic.boolValue, GetContent("Log"), EditorStyles.miniButtonLeft); + p_AutoRefresh.boolValue = GUILayout.Toggle(p_AutoRefresh.boolValue, GetContent("Auto Refresh"), EditorStyles.miniButtonMid); + + EditorGUI.BeginDisabledGroup(p_AutoRefresh.boolValue); + + if (GUILayout.Button(GetContent("Refresh"), EditorStyles.miniButtonRight)) + Refresh(); + + EditorGUI.EndDisabledGroup(); + } + EditorGUILayout.EndHorizontal(); + + if (EditorGUI.EndChangeCheck()) + Refresh(); + + EditorGUILayout.Space(); + + // Sizing + EditorGUILayout.BeginHorizontal(); + { + Rect rect = GUILayoutUtility.GetRect(256f, 128f); + float width = Mathf.Min(512f, rect.width); + float height = Mathf.Min(128f, rect.height); + + if (Event.current.type == EventType.Repaint) + { + m_HistogramRect = new Rect( + Mathf.Floor(rect.x + rect.width / 2f - width / 2f), + Mathf.Floor(rect.y + rect.height / 2f - height / 2f), + width, height + ); + } + } + EditorGUILayout.EndHorizontal(); + + // Histogram + DrawHistogram(m_HistogramRect); + + // Selected Channel UI + if (p_Mode.intValue == (int)ColorMode.RGB) + { + if (p_CurrentChannel.intValue == (int)Channel.Red) ChannelUI(m_HistogramRect.width, p_InputR, p_OutputR); + else if (p_CurrentChannel.intValue == (int)Channel.Green) ChannelUI(m_HistogramRect.width, p_InputG, p_OutputG); + else if (p_CurrentChannel.intValue == (int)Channel.Blue) ChannelUI(m_HistogramRect.width, p_InputB, p_OutputB); + } + else + { + ChannelUI(m_HistogramRect.width, p_InputL, p_OutputL); + } + + // Presets + EditorGUI.BeginChangeCheck(); + int selectedPreset = EditorGUILayout.Popup(GetContent("Preset"), 0, presets); + if (EditorGUI.EndChangeCheck() && selectedPreset > 0) + { + selectedPreset--; + p_Mode.intValue = (int)ColorMode.Monochrome; + p_InputL.vector3Value = new Vector3( + presetsData[selectedPreset, 0], + presetsData[selectedPreset, 2], + presetsData[selectedPreset, 1] + ); + p_OutputL.vector2Value = new Vector2( + presetsData[selectedPreset, 3], + presetsData[selectedPreset, 4] + ); + } + + serializedObject.ApplyModifiedProperties(); + } + + void Refresh() + { + m_Target.InternalForceRefresh(); + InternalEditorUtility.RepaintAllViews(); + } + + void ChannelUI(float width, SerializedProperty input, SerializedProperty output) + { + float inputMin = input.vector3Value.x; + float inputGamma = input.vector3Value.z; + float inputMax = input.vector3Value.y; + float outputMin = output.vector2Value.x; + float outputMax = output.vector2Value.y; + + // Input + GUILayout.BeginHorizontal(); + { + GUILayout.FlexibleSpace(); + EditorGUILayout.MinMaxSlider(ref inputMin, ref inputMax, 0f, 255f, GUILayout.Width(width)); + GUILayout.FlexibleSpace(); + } + GUILayout.EndHorizontal(); + + GUILayout.BeginHorizontal(); + { + GUILayout.FlexibleSpace(); + GUILayout.BeginHorizontal(GUILayout.Width(width)); + { + inputMin = EditorGUILayout.FloatField((int)inputMin, GUILayout.Width(50)); + GUILayout.FlexibleSpace(); + inputGamma = EditorGUILayout.FloatField(inputGamma, GUILayout.Width(50)); + GUILayout.FlexibleSpace(); + inputMax = EditorGUILayout.FloatField((int)inputMax, GUILayout.Width(50)); + } + GUILayout.EndHorizontal(); + GUILayout.FlexibleSpace(); + } + GUILayout.EndHorizontal(); + + EditorGUILayout.Space(); + + // Ramp + GUILayout.BeginHorizontal(); + { + GUILayout.FlexibleSpace(); + GUI.DrawTexture(GUILayoutUtility.GetRect(width, 20f), RampTexture, ScaleMode.StretchToFill); + GUILayout.FlexibleSpace(); + } + GUILayout.EndHorizontal(); + + // Output + GUILayout.BeginHorizontal(); + { + GUILayout.FlexibleSpace(); + EditorGUILayout.MinMaxSlider(ref outputMin, ref outputMax, 0f, 255f, GUILayout.Width(width)); + GUILayout.FlexibleSpace(); + } + GUILayout.EndHorizontal(); + + GUILayout.BeginHorizontal(); + { + GUILayout.FlexibleSpace(); + GUILayout.BeginHorizontal(GUILayout.Width(width)); + { + outputMin = EditorGUILayout.FloatField((int)outputMin, GUILayout.Width(50)); + GUILayout.FlexibleSpace(); + outputMax = EditorGUILayout.FloatField((int)outputMax, GUILayout.Width(50)); + } + GUILayout.EndHorizontal(); + GUILayout.FlexibleSpace(); + } + GUILayout.EndHorizontal(); + + input.vector3Value = new Vector3(inputMin, inputMax, Mathf.Clamp(inputGamma, 0.1f, 9.99f)); + output.vector2Value = new Vector2(outputMin, outputMax); + + EditorGUILayout.Separator(); + } + + void DrawHistogram(Rect rect) + { + // Scale histogram values + int[] scaledHistogram = new int[256]; + + int max = 0; + for (int i = 0; i < 256; i++) + max = (max < m_Histogram[i]) ? m_Histogram[i] : max; + + scaledHistogram = new int[256]; + + if (p_Logarithmic.boolValue) + { + float factor = rect.height / Mathf.Log10(max); + + for (int i = 0; i < 256; i++) + scaledHistogram[i] = (m_Histogram[i] == 0) ? 0 : Mathf.Max(Mathf.RoundToInt(Mathf.Log10(m_Histogram[i]) * factor), 1); + } + else + { + float factor = rect.height / max; + + for (int i = 0; i < 256; i++) + scaledHistogram[i] = Mathf.Max(Mathf.RoundToInt(m_Histogram[i] * factor), 1); + } + + // Color + if (p_Mode.intValue == (int)ColorMode.RGB) + { + if (p_CurrentChannel.intValue == (int)Channel.Red) + Handles.color = RedColor; + else if (p_CurrentChannel.intValue == (int)Channel.Green) + Handles.color = GreenColor; + else if (p_CurrentChannel.intValue == (int)Channel.Blue) + Handles.color = BlueColor; + } + else + { + Handles.color = MasterColor; + } + + // Base line + Vector2 p1 = new Vector2(rect.x - 1, rect.yMax); + Vector2 p2 = new Vector2(rect.xMax - 1, rect.yMax); + Handles.DrawLine(p1, p2); + + // Histogram + for (int i = 0; i < (int)rect.width; i++) + { + float remapI = (float)i / rect.width * 255f; + int index = Mathf.FloorToInt(remapI); + float fract = remapI - (float)index; + float v1 = scaledHistogram[index]; + float v2 = scaledHistogram[Mathf.Min(index + 1, 255)]; + float h = v1 * (1.0f - fract) + v2 * fract; + Handles.DrawLine( + new Vector2(rect.x + i, rect.yMax), + new Vector2(rect.x + i, rect.yMin + (rect.height - h)) + ); + } + } + + void UpdateHistogram(RenderTexture source) + { + if (m_TempTexture == null || m_TempTexture.width != source.width || m_TempTexture.height != source.height) + { + if (m_TempTexture != null) + DestroyImmediate(m_TempTexture); + + m_TempTexture = new Texture2D(source.width, source.height, TextureFormat.RGB24, false); + m_TempTexture.anisoLevel = 0; + m_TempTexture.wrapMode = TextureWrapMode.Clamp; + m_TempTexture.filterMode = FilterMode.Bilinear; + m_TempTexture.hideFlags = HideFlags.HideAndDontSave; + } + + // Grab the screen content for the camera + RenderTexture.active = source; + m_TempTexture.ReadPixels(new Rect(0, 0, source.width, source.height), 0, 0, false); + m_TempTexture.Apply(); + RenderTexture.active = null; + + // Raw histogram data + Color[] pixels = m_TempTexture.GetPixels(); + + if (m_Target.Mode == ColorMode.Monochrome) + { + Array.Clear(m_Histogram, 0, 256); + for (int i = 0; i < pixels.Length; i++) + { + Color c = pixels[i]; + m_Histogram[(int)((c.r * 0.2125f + c.g * 0.7154f + c.b * 0.0721f) * 255)]++; + } + } + else + { + switch (m_Target.e_CurrentChannel) + { + case Channel.Red: + Array.Clear(m_Histogram, 0, 256); + for (int i = 0; i < pixels.Length; i++) + m_Histogram[(int)(pixels[i].r * 255)]++; + break; + case Channel.Green: + Array.Clear(m_Histogram, 0, 256); + for (int i = 0; i < pixels.Length; i++) + m_Histogram[(int)(pixels[i].g * 255)]++; + break; + case Channel.Blue: + Array.Clear(m_Histogram, 0, 256); + for (int i = 0; i < pixels.Length; i++) + m_Histogram[(int)(pixels[i].b * 255)]++; + break; + } + } + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/LevelsEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/LevelsEditor.cs.meta new file mode 100644 index 0000000..9f54f8d --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LevelsEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ac5d17dae0d68ac4fae73a57b0b964b8 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/LoFiPaletteEditor.cs b/Assets/Colorful FX/Editor/Effects/LoFiPaletteEditor.cs new file mode 100644 index 0000000..9c6d23e --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LoFiPaletteEditor.cs @@ -0,0 +1,85 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(LoFiPalette))] + public class LoFiPaletteEditor : BaseEffectEditor + { + SerializedProperty p_Palette; + SerializedProperty p_Amount; + SerializedProperty p_ForceCompatibility; + SerializedProperty p_Pixelize; + SerializedProperty p_PixelSize; + + static GUIContent[] palettes = { + new GUIContent("None"), + new GUIContent(""), + new GUIContent("Amstrad CPC"), + new GUIContent("CGA"), + new GUIContent("Commodore 64"), + new GUIContent("Commodore Plus"), + new GUIContent("EGA"), + new GUIContent("GameBoy"), + new GUIContent("MacOS 16"), + new GUIContent("MacOS 256"), + new GUIContent("Master System"), + new GUIContent("RiscOS 16"), + new GUIContent("Teletex"), + new GUIContent("Windows 16"), + new GUIContent("Windows 256"), + new GUIContent("ZX Spectrum"), + new GUIContent(""), + new GUIContent("Andrae"), + new GUIContent("Anodomani"), + new GUIContent("Crayolo"), + new GUIContent("DB16"), + new GUIContent("DB32"), + new GUIContent("DJinn"), + new GUIContent("Drazile A"), + new GUIContent("Drazile B"), + new GUIContent("Drazile C"), + new GUIContent("Eggy"), + new GUIContent("Finlal A"), + new GUIContent("Finlal B"), + new GUIContent("Hapiel"), + new GUIContent("Pavanz A"), + new GUIContent("Pavanz B"), + new GUIContent("Peyton"), + new GUIContent("SpeedyCube") + }; + + void OnEnable() + { + p_Palette = serializedObject.FindProperty("Palette"); + p_Amount = serializedObject.FindProperty("Amount"); + p_ForceCompatibility = serializedObject.FindProperty("ForceCompatibility"); + p_Pixelize = serializedObject.FindProperty("Pixelize"); + p_PixelSize = serializedObject.FindProperty("PixelSize"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + // Using intValue, enumValueIndex seems broken + p_Palette.intValue = EditorGUILayout.Popup(GetContent("Palette"), p_Palette.intValue, palettes); + EditorGUILayout.PropertyField(p_Amount); + EditorGUILayout.PropertyField(p_ForceCompatibility); + EditorGUILayout.PropertyField(p_Pixelize); + + if (p_Pixelize.boolValue) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(p_PixelSize); + EditorGUI.indentLevel--; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/LoFiPaletteEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/LoFiPaletteEditor.cs.meta new file mode 100644 index 0000000..9f0d2e8 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LoFiPaletteEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 13a2b41bc1dfa8b45b0aa7806eedb14a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/LookupFilter3DEditor.cs b/Assets/Colorful FX/Editor/Effects/LookupFilter3DEditor.cs new file mode 100644 index 0000000..11b9f67 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LookupFilter3DEditor.cs @@ -0,0 +1,35 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(LookupFilter3D))] + public class LookupFilter3DEditor : BaseEffectEditor + { + SerializedProperty p_LookupTexture; + SerializedProperty p_Amout; + SerializedProperty p_ForceCompatibility; + + void OnEnable() + { + p_LookupTexture = serializedObject.FindProperty("LookupTexture"); + p_Amout = serializedObject.FindProperty("Amount"); + p_ForceCompatibility = serializedObject.FindProperty("ForceCompatibility"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_LookupTexture); + EditorGUILayout.PropertyField(p_Amout); + EditorGUILayout.PropertyField(p_ForceCompatibility); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/LookupFilter3DEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/LookupFilter3DEditor.cs.meta new file mode 100644 index 0000000..b94b135 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LookupFilter3DEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 2185476e9656d32409b69f8792dccd82 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/LookupFilterEditor.cs b/Assets/Colorful FX/Editor/Effects/LookupFilterEditor.cs new file mode 100644 index 0000000..e7f1fe3 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LookupFilterEditor.cs @@ -0,0 +1,34 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(LookupFilter))] + public class LookupFilterEditor : BaseEffectEditor + { + SerializedProperty p_LookupTexture; + SerializedProperty p_Amout; + + void OnEnable() + { + p_LookupTexture = serializedObject.FindProperty("LookupTexture"); + p_Amout = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.HelpBox("This effect is deprecated. Use \"Lookup Filter 3D\" instead for better performances!", MessageType.Warning); + + EditorGUILayout.PropertyField(p_LookupTexture); + EditorGUILayout.PropertyField(p_Amout); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/LookupFilterEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/LookupFilterEditor.cs.meta new file mode 100644 index 0000000..e6fbc68 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/LookupFilterEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: d6489f28835764f49bc726c7bc74e89b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/NegativeEditor.cs b/Assets/Colorful FX/Editor/Effects/NegativeEditor.cs new file mode 100644 index 0000000..0b80332 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/NegativeEditor.cs @@ -0,0 +1,29 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Negative))] + public class NegativeEditor : BaseEffectEditor + { + SerializedProperty p_Amount; + + void OnEnable() + { + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/NegativeEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/NegativeEditor.cs.meta new file mode 100644 index 0000000..a23677a --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/NegativeEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c46e42cb6ddd5ff48832385a30fba226 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/NoiseEditor.cs b/Assets/Colorful FX/Editor/Effects/NoiseEditor.cs new file mode 100644 index 0000000..c72bbf6 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/NoiseEditor.cs @@ -0,0 +1,47 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Noise))] + public class NoiseEditor : BaseEffectEditor + { + SerializedProperty p_Mode; + SerializedProperty p_Animate; + SerializedProperty p_Seed; + SerializedProperty p_Strength; + SerializedProperty p_LumContribution; + + void OnEnable() + { + p_Mode = serializedObject.FindProperty("Mode"); + p_Animate = serializedObject.FindProperty("Animate"); + p_Seed = serializedObject.FindProperty("Seed"); + p_Strength = serializedObject.FindProperty("Strength"); + p_LumContribution = serializedObject.FindProperty("LumContribution"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Mode); + EditorGUILayout.PropertyField(p_Animate); + + EditorGUI.BeginDisabledGroup(p_Animate.boolValue); + { + EditorGUILayout.PropertyField(p_Seed); + } + EditorGUI.EndDisabledGroup(); + + EditorGUILayout.PropertyField(p_Strength); + EditorGUILayout.PropertyField(p_LumContribution, GetContent("Luminance Contribution")); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/NoiseEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/NoiseEditor.cs.meta new file mode 100644 index 0000000..c7c5454 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/NoiseEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c675525fd1d05714ba52aae6a1da5e8c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/PhotoFilterEditor.cs b/Assets/Colorful FX/Editor/Effects/PhotoFilterEditor.cs new file mode 100644 index 0000000..308a0be --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/PhotoFilterEditor.cs @@ -0,0 +1,77 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(PhotoFilter))] + public class PhotoFilterEditor : BaseEffectEditor + { + SerializedProperty p_Color; + SerializedProperty p_Density; + + static GUIContent[] presets = { + new GUIContent("Choose a preset..."), + new GUIContent("Warming Filter (85)"), + new GUIContent("Warming Filter (LBA)"), + new GUIContent("Warming Filter (81)"), + new GUIContent("Cooling Filter (80)"), + new GUIContent("Cooling Filter (LBB)"), + new GUIContent("Cooling Filter (82)"), + new GUIContent("Red"), + new GUIContent("Orange"), + new GUIContent("Yellow"), + new GUIContent("Green"), + new GUIContent("Cyan"), + new GUIContent("Blue"), + new GUIContent("Violet"), + new GUIContent("Magenta"), + new GUIContent("Sepia"), + new GUIContent("Deep Red"), + new GUIContent("Deep Blue"), + new GUIContent("Deep Emerald"), + new GUIContent("Deep Yellow"), + new GUIContent("Underwater") + }; + + static float[,] presetsData = { { 0.925f, 0.541f, 0.0f }, { 0.98f, 0.541f, 0.0f }, { 0.922f, 0.694f, 0.075f }, + { 0.0f, 0.427f, 1.0f }, { 0.0f, 0.365f, 1.0f }, { 0.0f, 0.71f, 1.0f }, + { 0.918f, 0.102f, 0.102f }, { 0.956f, 0.518f, 0.09f }, { 0.976f, 0.89f, 0.11f }, + { 0.098f, 0.788f, 0.098f }, { 0.114f, 0.796f, 0.918f }, { 0.114f, 0.209f, 0.918f }, + { 0.608f, 0.114f, 0.918f }, { 0.89f, 0.094f, 0.89f }, { 0.675f, 0.478f, 0.2f }, + { 1.0f, 0.0f, 0.0f }, { 0.0f, 0.133f, 0.804f }, { 0.0f, 0.553f, 0.0f }, + { 1.0f, 0.835f, 0.0f }, { 0.0f, 0.761f, 0.694f } }; + + void OnEnable() + { + p_Color = serializedObject.FindProperty("Color"); + p_Density = serializedObject.FindProperty("Density"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Color); + EditorGUILayout.PropertyField(p_Density); + + EditorGUI.BeginChangeCheck(); + int selectedPreset = EditorGUILayout.Popup(GetContent("Preset"), 0, presets); + + if (EditorGUI.EndChangeCheck() && selectedPreset > 0) + { + selectedPreset--; + p_Color.colorValue = new Color( + presetsData[selectedPreset, 0], + presetsData[selectedPreset, 1], + presetsData[selectedPreset, 2] + ); + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/PhotoFilterEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/PhotoFilterEditor.cs.meta new file mode 100644 index 0000000..aff6f36 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/PhotoFilterEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 8aa05227668c2ff45a1ddf5b714fb64c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/PixelMatrixEditor.cs b/Assets/Colorful FX/Editor/Effects/PixelMatrixEditor.cs new file mode 100644 index 0000000..2b3fdb1 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/PixelMatrixEditor.cs @@ -0,0 +1,35 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(PixelMatrix))] + public class PixelMatrixEditor : BaseEffectEditor + { + SerializedProperty p_Size; + SerializedProperty p_Brightness; + SerializedProperty p_BlackBorder; + + void OnEnable() + { + p_Size = serializedObject.FindProperty("Size"); + p_Brightness = serializedObject.FindProperty("Brightness"); + p_BlackBorder = serializedObject.FindProperty("BlackBorder"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Size); + EditorGUILayout.PropertyField(p_Brightness); + EditorGUILayout.PropertyField(p_BlackBorder); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/PixelMatrixEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/PixelMatrixEditor.cs.meta new file mode 100644 index 0000000..c59ccd1 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/PixelMatrixEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: b5ade3fe502dc404b91a45c95c4896d6 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/PixelateEditor.cs b/Assets/Colorful FX/Editor/Effects/PixelateEditor.cs new file mode 100644 index 0000000..b6e209e --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/PixelateEditor.cs @@ -0,0 +1,46 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Pixelate))] + public class PixelateEditor : BaseEffectEditor + { + SerializedProperty p_Scale; + SerializedProperty p_Ratio; + SerializedProperty p_AutomaticRatio; + SerializedProperty p_Mode; + + void OnEnable() + { + p_Scale = serializedObject.FindProperty("Scale"); + p_Ratio = serializedObject.FindProperty("Ratio"); + p_AutomaticRatio = serializedObject.FindProperty("AutomaticRatio"); + p_Mode = serializedObject.FindProperty("Mode"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Mode); + EditorGUILayout.PropertyField(p_Scale); + EditorGUILayout.PropertyField(p_AutomaticRatio); + + if (!p_AutomaticRatio.boolValue) + { + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_Ratio); + } + EditorGUI.indentLevel--; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/PixelateEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/PixelateEditor.cs.meta new file mode 100644 index 0000000..ba0dbd5 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/PixelateEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 284d28bd27c885c4fad7bdb289e4b404 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/PosterizeEditor.cs b/Assets/Colorful FX/Editor/Effects/PosterizeEditor.cs new file mode 100644 index 0000000..5e97e84 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/PosterizeEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Posterize))] + public class PosterizeEditor : BaseEffectEditor + { + SerializedProperty p_Levels; + SerializedProperty p_Amount; + + void OnEnable() + { + p_Levels = serializedObject.FindProperty("Levels"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Levels); + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/PosterizeEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/PosterizeEditor.cs.meta new file mode 100644 index 0000000..983c45b --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/PosterizeEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 0869f3e787781f645b6a50d951749c8d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/RGBSplitEditor.cs b/Assets/Colorful FX/Editor/Effects/RGBSplitEditor.cs new file mode 100644 index 0000000..78ebd86 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/RGBSplitEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(RGBSplit))] + public class RGBSplitEditor : BaseEffectEditor + { + SerializedProperty p_Amount; + SerializedProperty p_Angle; + + void OnEnable() + { + p_Amount = serializedObject.FindProperty("Amount"); + p_Angle = serializedObject.FindProperty("Angle"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Amount); + EditorGUILayout.PropertyField(p_Angle); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/RGBSplitEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/RGBSplitEditor.cs.meta new file mode 100644 index 0000000..230165b --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/RGBSplitEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: aa0746a6353353f4a9dbf1d9d1115ab0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/RadialBlurEditor.cs b/Assets/Colorful FX/Editor/Effects/RadialBlurEditor.cs new file mode 100644 index 0000000..75bf227 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/RadialBlurEditor.cs @@ -0,0 +1,56 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(RadialBlur))] + public class RadialBlurEditor : BaseEffectEditor + { + SerializedProperty p_Strength; + SerializedProperty p_Samples; + SerializedProperty p_Center; + SerializedProperty p_Quality; + SerializedProperty p_Sharpness; + SerializedProperty p_Darkness; + SerializedProperty p_EnableVignette; + + void OnEnable() + { + p_Strength = serializedObject.FindProperty("Strength"); + p_Samples = serializedObject.FindProperty("Samples"); + p_Center = serializedObject.FindProperty("Center"); + p_Quality = serializedObject.FindProperty("Quality"); + p_Sharpness = serializedObject.FindProperty("Sharpness"); + p_Darkness = serializedObject.FindProperty("Darkness"); + p_EnableVignette = serializedObject.FindProperty("EnableVignette"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Quality); + + if (p_Quality.intValue == (int)RadialBlur.QualityPreset.Custom) + EditorGUILayout.PropertyField(p_Samples); + + EditorGUILayout.PropertyField(p_Strength); + EditorGUILayout.PropertyField(p_Center, GetContent("Center Point")); + EditorGUILayout.PropertyField(p_EnableVignette, GetContent("Vignette")); + + if (p_EnableVignette.boolValue) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(p_Sharpness); + EditorGUILayout.PropertyField(p_Darkness); + EditorGUI.indentLevel--; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/RadialBlurEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/RadialBlurEditor.cs.meta new file mode 100644 index 0000000..b67cf48 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/RadialBlurEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: aafd9c0e42cf95a4789cc0560efc6726 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/SCurveContrastEditor.cs b/Assets/Colorful FX/Editor/Effects/SCurveContrastEditor.cs new file mode 100644 index 0000000..9431319 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/SCurveContrastEditor.cs @@ -0,0 +1,114 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(SCurveContrast))] + public class SCurveContrastEditor : BaseEffectEditor + { + SerializedProperty p_RedSteepness; + SerializedProperty p_RedGamma; + SerializedProperty p_GreenSteepness; + SerializedProperty p_GreenGamma; + SerializedProperty p_BlueSteepness; + SerializedProperty p_BlueGamma; + SerializedProperty p_ShowCurves; + + void OnEnable() + { + p_RedSteepness = serializedObject.FindProperty("RedSteepness"); + p_RedGamma = serializedObject.FindProperty("RedGamma"); + p_GreenSteepness = serializedObject.FindProperty("GreenSteepness"); + p_GreenGamma = serializedObject.FindProperty("GreenGamma"); + p_BlueSteepness = serializedObject.FindProperty("BlueSteepness"); + p_BlueGamma = serializedObject.FindProperty("BlueGamma"); + p_ShowCurves = serializedObject.FindProperty("e_ShowCurves"); + } + + public override void OnInspectorGUI() + { + base.OnInspectorGUI(); + + serializedObject.Update(); + + EditorGUILayout.LabelField(GetContent("Red"), EditorStyles.boldLabel); + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_RedSteepness, GetContent("Steepness")); + EditorGUILayout.PropertyField(p_RedGamma, GetContent("Gamma")); + } + EditorGUI.indentLevel--; + + EditorGUILayout.LabelField(GetContent("Green"), EditorStyles.boldLabel); + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_GreenSteepness, GetContent("Steepness")); + EditorGUILayout.PropertyField(p_GreenGamma, GetContent("Gamma")); + } + EditorGUI.indentLevel--; + + EditorGUILayout.LabelField(GetContent("Blue"), EditorStyles.boldLabel); + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_BlueSteepness, GetContent("Steepness")); + EditorGUILayout.PropertyField(p_BlueGamma, GetContent("Gamma")); + } + EditorGUI.indentLevel--; + + EditorGUILayout.Space(); + EditorGUILayout.PropertyField(p_ShowCurves, GetContent("Show Curves")); + + if (p_ShowCurves.boolValue) + DrawCurve(); + + serializedObject.ApplyModifiedProperties(); + } + + void DrawCurve() + { + int h = 200; + int h_1 = h - 1; + Rect r = GUILayoutUtility.GetRect(256f, h); + GUI.Box(r, GUIContent.none); + + float rs = p_RedSteepness.floatValue; + float rg = p_RedGamma.floatValue; + float gs = p_GreenSteepness.floatValue; + float gg = p_GreenGamma.floatValue; + float bs = p_BlueSteepness.floatValue; + float bg = p_BlueGamma.floatValue; + + int w = Mathf.FloorToInt(r.width); + Vector3[] red = new Vector3[w]; + Vector3[] green = new Vector3[w]; + Vector3[] blue = new Vector3[w]; + + for (int i = 0; i < w; i++) + { + float v = (float)i / (w - 1); + red[i] = new Vector3(r.x + i, r.y + (h - curve(v, rs, rg) * h_1), 0f); + green[i] = new Vector3(r.x + i, r.y + (h - curve(v, gs, gg) * h_1), 0f); + blue[i] = new Vector3(r.x + i, r.y + (h - curve(v, bs, bg) * h_1), 0f); + } + + Handles.color = EditorGUIUtility.isProSkin ? new Color(0f, 1f, 1f, 2f) : new Color(0f, 0f, 1f, 2f); + Handles.DrawAAPolyLine(1f, blue); + Handles.color = EditorGUIUtility.isProSkin ? new Color(0f, 1f, 0f, 2f) : new Color(0.2f, 0.8f, 0.2f, 2f); + Handles.DrawAAPolyLine(1f, green); + Handles.color = new Color(1f, 0f, 0f, 2f); + Handles.DrawAAPolyLine(1f, red); + Handles.color = Color.white; + } + + float curve(float o, float steepness, float gamma) + { + float g = Mathf.Pow(2f, steepness) * 0.5f; + float c = (o < 0.5f) ? Mathf.Pow(o, steepness) * g : 1f - Mathf.Pow(1f - o, steepness) * g; + return Mathf.Clamp01(Mathf.Pow(c, gamma)); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/SCurveContrastEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/SCurveContrastEditor.cs.meta new file mode 100644 index 0000000..2fa8ca8 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/SCurveContrastEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 7a6954c6ece9836479f4d43d821ff8e9 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/ShadowsMidtonesHighlightsEditor.cs b/Assets/Colorful FX/Editor/Effects/ShadowsMidtonesHighlightsEditor.cs new file mode 100644 index 0000000..6dc1ea8 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ShadowsMidtonesHighlightsEditor.cs @@ -0,0 +1,276 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +#if !(UNITY_4_5 || UNITY_4_6 || UNITY_5_0) +#define UNITY_5_1_PLUS +#endif + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(ShadowsMidtonesHighlights))] + public class ShadowsMidtonesHighlightsEditor : BaseEffectEditor + { + SerializedProperty p_Mode; + SerializedProperty p_Shadows; + SerializedProperty p_Midtones; + SerializedProperty p_Highlights; + SerializedProperty p_Amount; + + ColorWheel m_ShadowsWheel; + ColorWheel m_MidtonesWheel; + ColorWheel m_HighlightsWheel; + + void OnEnable() + { + p_Mode = serializedObject.FindProperty("Mode"); + p_Shadows = serializedObject.FindProperty("Shadows"); + p_Midtones = serializedObject.FindProperty("Midtones"); + p_Highlights = serializedObject.FindProperty("Highlights"); + p_Amount = serializedObject.FindProperty("Amount"); + + m_ShadowsWheel = new ColorWheel("Shadows"); + m_MidtonesWheel = new ColorWheel("Midtones"); + m_HighlightsWheel = new ColorWheel("Highlights"); + } + + void OnDisable() + { + m_ShadowsWheel.Destroy(); + m_MidtonesWheel.Destroy(); + m_HighlightsWheel.Destroy(); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Mode); + + int size = Mathf.FloorToInt((EditorGUIUtility.currentViewWidth - 100f) / 3); + + EditorGUILayout.Space(); + EditorGUILayout.BeginHorizontal(); + { + GUILayout.FlexibleSpace(); + p_Shadows.colorValue = m_ShadowsWheel.DoGUI(p_Shadows.colorValue, size); + EditorGUILayout.Space(); + p_Midtones.colorValue = m_MidtonesWheel.DoGUI(p_Midtones.colorValue, size); + EditorGUILayout.Space(); + p_Highlights.colorValue = m_HighlightsWheel.DoGUI(p_Highlights.colorValue, size); + GUILayout.FlexibleSpace(); + } + EditorGUILayout.EndHorizontal(); + EditorGUILayout.Space(); + + EditorGUILayout.PropertyField(p_Shadows); + EditorGUILayout.PropertyField(p_Midtones); + EditorGUILayout.PropertyField(p_Highlights); + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + + class ColorWheel + { + // Constants + const int kMinSize = 60; + const int kMaxSize = 150; + + // Hue Wheel + Texture2D m_WheelTexture; + int m_Diameter; + float m_Radius; + GUIContent m_Title; + + // UI + Texture2D m_ThumbTexture; + + // Input utils + Vector2 m_Cursor; + ColorWheel m_Dragging; + + internal ColorWheel(string title) + { + m_Title = GetContent(title); + m_Diameter = -1; + m_ThumbTexture = Resources.Load("UI/WheelThumb"); + } + + // Cleanup + internal void Destroy() + { + CleanTexture(m_WheelTexture); + } + + internal Color DoGUI(Color color, int diameter) + { + float alpha = color.a; + diameter = Mathf.Clamp(diameter, kMinSize, kMaxSize); + Vector3 hsv; + Color.RGBToHSV(color, out hsv.x, out hsv.y, out hsv.z); + + if (diameter != m_Diameter) + { + m_Diameter = diameter; + m_Radius = diameter / 2f; + UpdateHueWheel(true); + } + + EditorGUILayout.BeginVertical(); + { + // Title + EditorGUILayout.BeginHorizontal(GUILayout.Width(m_Diameter - 1)); + { + var centeredStyle = new GUIStyle(GUI.skin.GetStyle("Label")); + centeredStyle.alignment = TextAnchor.UpperCenter; + GUILayout.Label(m_Title, centeredStyle); + } + EditorGUILayout.EndHorizontal(); + + // Hue wheel + EditorGUILayout.BeginHorizontal(GUILayout.Width(m_Diameter)); + { + Rect wheelRect = GUILayoutUtility.GetRect(m_Diameter, m_Diameter); + wheelRect.x += 3; + + if (Event.current.type == EventType.Repaint) + { + // Wheel + GUI.DrawTexture(wheelRect, m_WheelTexture); + + // Thumb + Vector2 thumbPos = Vector2.zero; + float theta = hsv.x * CLib.PI2; + float len = hsv.y * m_Radius; + thumbPos.x = Mathf.Cos(theta + CLib.PI_2); + thumbPos.y = Mathf.Sin(theta - CLib.PI_2); + thumbPos *= len; + GUI.DrawTexture(new Rect(wheelRect.x + m_Radius + thumbPos.x - 4f, wheelRect.y + m_Radius + thumbPos.y - 4f, 8f, 8f), m_ThumbTexture); + } + + hsv = GetInput(wheelRect, hsv); + } + EditorGUILayout.EndHorizontal(); + + color = Color.HSVToRGB(hsv.x, hsv.y, hsv.z); + color.a = GUILayout.HorizontalSlider(alpha, 0f, 1f); + } + EditorGUILayout.EndVertical(); + + return color; + } + + Vector3 GetInput(Rect bounds, Vector3 hsv) + { + Event e = Event.current; + + if (e.type == EventType.MouseDown && e.button == 0) + { + Vector2 mousePos = e.mousePosition; + + if (bounds.Contains(mousePos)) + { + Vector2 center = new Vector2(bounds.x + m_Radius, bounds.y + m_Radius); + float dist = Vector2.Distance(center, mousePos); + + if (dist <= m_Radius) + { + e.Use(); + Vector2 relativePos = mousePos - new Vector2(bounds.x, bounds.y); + m_Cursor = relativePos; + GetWheelHueSaturation(m_Cursor.x, m_Cursor.y, ref hsv.x, ref hsv.y); + m_Dragging = this; + } + } + } + else if (m_Dragging == this && e.type == EventType.MouseDrag && e.button == 0) + { + e.Use(); + float precision = e.alt ? 0.5f : 1f; + m_Cursor += e.delta * precision; + GetWheelHueSaturation(Mathf.Clamp(m_Cursor.x, 0f, m_Diameter), Mathf.Clamp(m_Cursor.y, 0f, m_Diameter), ref hsv.x, ref hsv.y); + } + else if (m_Dragging == this && e.type == EventType.MouseUp && e.button == 0) + { + e.Use(); + m_Dragging = null; + } + + return hsv; + } + + void GetWheelHueSaturation(float x, float y, ref float hue, ref float saturation) + { + float dx = (float)(x - m_Radius) / m_Radius; + float dy = (float)(y - m_Radius) / m_Radius; + float d = Mathf.Sqrt((dx * dx + dy * dy)); + hue = Mathf.Atan2(dx, -dy); + hue = 1f - ((hue > 0) ? hue : CLib.PI2 + hue) / CLib.PI2; + saturation = Mathf.Clamp01(d); + } + + void UpdateHueWheel(bool sizeChanged) + { + if (sizeChanged) + { + CleanTexture(m_WheelTexture); + m_WheelTexture = MakeTexture(m_Diameter, m_Diameter); + } + + Color[] pixels = m_WheelTexture.GetPixels(); + + for (int y = 0; y < m_Diameter; y++) + { + for (int x = 0; x < m_Diameter; x++) + { + int index = y * m_Diameter + x; + float dx = (float)(x - m_Radius) / m_Radius; + float dy = (float)(y - m_Radius) / m_Radius; + float d = Mathf.Sqrt(dx * dx + dy * dy); + + // Out of the wheel, early exit + if (d >= 1f) + { + pixels[index] = new Color(0f, 0f, 0f, 0f); + continue; + } + + // Red (0) on top, counter-clockwise (industry standard) + float saturation = d; + float hue = Mathf.Atan2(dx, dy); + hue = 1f - ((hue > 0) ? hue : CLib.PI2 + hue) / CLib.PI2; + Color color = Color.HSVToRGB(hue, saturation, 1f); + + // Quick & dirty antialiasing + color.a = (saturation > 0.99) ? (1f - saturation) * 100f : 1f; + + pixels[index] = color; + } + } + + m_WheelTexture.SetPixels(pixels); + m_WheelTexture.Apply(); + } + + Texture2D MakeTexture(int width, int height) + { + Texture2D tex = new Texture2D(width, height, TextureFormat.ARGB32, false, true); + tex.filterMode = FilterMode.Point; + tex.wrapMode = TextureWrapMode.Clamp; + tex.hideFlags = HideFlags.HideAndDontSave; + tex.alphaIsTransparency = true; // Used for cheap AA + return tex; + } + + void CleanTexture(Texture2D texture) + { + if (texture != null) + DestroyImmediate(texture); + } + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/ShadowsMidtonesHighlightsEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/ShadowsMidtonesHighlightsEditor.cs.meta new file mode 100644 index 0000000..d104daa --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ShadowsMidtonesHighlightsEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: cb87bcb4233abe24d88485369a6ffcee +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/SharpenEditor.cs b/Assets/Colorful FX/Editor/Effects/SharpenEditor.cs new file mode 100644 index 0000000..3feee06 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/SharpenEditor.cs @@ -0,0 +1,37 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Sharpen))] + public class SharpenEditor : BaseEffectEditor + { + SerializedProperty p_Mode; + SerializedProperty p_Strength; + SerializedProperty p_Clamp; + + void OnEnable() + { + p_Mode = serializedObject.FindProperty("Mode"); + p_Strength = serializedObject.FindProperty("Strength"); + p_Clamp = serializedObject.FindProperty("Clamp"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Mode); + EditorGUILayout.PropertyField(p_Strength); + + if (p_Mode.intValue == (int)Sharpen.Algorithm.TypeA) + EditorGUILayout.PropertyField(p_Clamp); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/SharpenEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/SharpenEditor.cs.meta new file mode 100644 index 0000000..db7e832 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/SharpenEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 1d7c1a6357b196747a42ecfca1e2dd4c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/SmartSaturationEditor.cs b/Assets/Colorful FX/Editor/Effects/SmartSaturationEditor.cs new file mode 100644 index 0000000..bf7bd6e --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/SmartSaturationEditor.cs @@ -0,0 +1,36 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(SmartSaturation))] + public class SmartSaturationEditor : BaseEffectEditor + { + SerializedProperty p_Curve; + SerializedProperty p_Boost; + + void OnEnable() + { + p_Curve = serializedObject.FindProperty("Curve"); + p_Boost = serializedObject.FindProperty("Boost"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUI.BeginChangeCheck(); + p_Curve.animationCurveValue = EditorGUILayout.CurveField(new GUIContent("Curve", "Selective saturation curve. Refer to the documentation for more information."), p_Curve.animationCurveValue, Color.white, new Rect(0f, 0f, 1f, 1f)); + if (EditorGUI.EndChangeCheck()) + (target as SmartSaturation).UpdateCurve(); + + EditorGUILayout.PropertyField(p_Boost); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/SmartSaturationEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/SmartSaturationEditor.cs.meta new file mode 100644 index 0000000..abacb50 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/SmartSaturationEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 0a6927d42e0c5df44af1517cdfe1d205 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/StrokesEditor.cs b/Assets/Colorful FX/Editor/Effects/StrokesEditor.cs new file mode 100644 index 0000000..fd39761 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/StrokesEditor.cs @@ -0,0 +1,70 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Strokes))] + public class StrokesEditor : BaseEffectEditor + { + SerializedProperty p_Mode; + SerializedProperty p_Amplitude; + SerializedProperty p_Frequency; + SerializedProperty p_Scaling; + SerializedProperty p_MaxThickness; + SerializedProperty p_RedLuminance; + SerializedProperty p_GreenLuminance; + SerializedProperty p_BlueLuminance; + SerializedProperty p_Threshold; + SerializedProperty p_Harshness; + + void OnEnable() + { + p_Mode = serializedObject.FindProperty("Mode"); + p_Amplitude = serializedObject.FindProperty("Amplitude"); + p_Frequency = serializedObject.FindProperty("Frequency"); + p_Scaling = serializedObject.FindProperty("Scaling"); + p_MaxThickness = serializedObject.FindProperty("MaxThickness"); + p_RedLuminance = serializedObject.FindProperty("RedLuminance"); + p_GreenLuminance = serializedObject.FindProperty("GreenLuminance"); + p_BlueLuminance = serializedObject.FindProperty("BlueLuminance"); + p_Threshold = serializedObject.FindProperty("Threshold"); + p_Harshness = serializedObject.FindProperty("Harshness"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Mode); + + EditorGUILayout.Space(); + + EditorGUILayout.PropertyField(p_Amplitude); + EditorGUILayout.PropertyField(p_Frequency); + EditorGUILayout.PropertyField(p_Scaling); + EditorGUILayout.PropertyField(p_MaxThickness); + + EditorGUILayout.Space(); + + EditorGUILayout.PropertyField(p_Threshold); + EditorGUILayout.PropertyField(p_Harshness); + + EditorGUILayout.Space(); + + EditorGUILayout.LabelField(GetContent("Contribution"), EditorStyles.boldLabel); + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_RedLuminance, GetContent("Red")); + EditorGUILayout.PropertyField(p_GreenLuminance, GetContent("Green")); + EditorGUILayout.PropertyField(p_BlueLuminance, GetContent("Blue")); + } + EditorGUI.indentLevel--; + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/StrokesEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/StrokesEditor.cs.meta new file mode 100644 index 0000000..6a0c930 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/StrokesEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ac3e745b3dc1d3d4789beeb8f8716c2b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/TVVignetteEditor.cs b/Assets/Colorful FX/Editor/Effects/TVVignetteEditor.cs new file mode 100644 index 0000000..9f92f5c --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/TVVignetteEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(TVVignette))] + public class TVVignetteEditor : BaseEffectEditor + { + SerializedProperty p_Size; + SerializedProperty p_Offset; + + void OnEnable() + { + p_Size = serializedObject.FindProperty("Size"); + p_Offset = serializedObject.FindProperty("Offset"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Size); + EditorGUILayout.PropertyField(p_Offset); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/TVVignetteEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/TVVignetteEditor.cs.meta new file mode 100644 index 0000000..33a9d09 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/TVVignetteEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 1ee34ac38f0bf77459a674b14201857c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/TechnicolorEditor.cs b/Assets/Colorful FX/Editor/Effects/TechnicolorEditor.cs new file mode 100644 index 0000000..0ec4b70 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/TechnicolorEditor.cs @@ -0,0 +1,47 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Technicolor))] + public class TechnicolorEditor : BaseEffectEditor + { + SerializedProperty p_Exposure; + SerializedProperty p_Balance; + SerializedProperty p_Amount; + + void OnEnable() + { + p_Exposure = serializedObject.FindProperty("Exposure"); + p_Balance = serializedObject.FindProperty("Balance"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Exposure); + + EditorGUILayout.LabelField("Balance", EditorStyles.boldLabel); + + EditorGUI.indentLevel++; + { + Vector3 balance = p_Balance.vector3Value; + balance.x = EditorGUILayout.Slider(GetContent("Red"), balance.x, 0f, 1f); + balance.y = EditorGUILayout.Slider(GetContent("Green"), balance.y, 0f, 1f); + balance.z = EditorGUILayout.Slider(GetContent("Blue"), balance.z, 0f, 1f); + p_Balance.vector3Value = balance; + } + EditorGUI.indentLevel--; + + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/TechnicolorEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/TechnicolorEditor.cs.meta new file mode 100644 index 0000000..695c260 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/TechnicolorEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 43efb79f0a55f8a47827948320de5d5e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/ThresholdEditor.cs b/Assets/Colorful FX/Editor/Effects/ThresholdEditor.cs new file mode 100644 index 0000000..1ea37a2 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ThresholdEditor.cs @@ -0,0 +1,43 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Threshold))] + public class ThresholdEditor : BaseEffectEditor + { + SerializedProperty p_Value; + SerializedProperty p_UseNoise; + SerializedProperty p_NoiseRange; + + void OnEnable() + { + p_Value = serializedObject.FindProperty("Value"); + p_UseNoise = serializedObject.FindProperty("UseNoise"); + p_NoiseRange = serializedObject.FindProperty("NoiseRange"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Value); + EditorGUILayout.PropertyField(p_UseNoise, GetContent("Noise")); + + if (p_UseNoise.boolValue) + { + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_NoiseRange, GetContent("Range")); + } + EditorGUI.indentLevel--; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/ThresholdEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/ThresholdEditor.cs.meta new file mode 100644 index 0000000..d91de15 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/ThresholdEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: b8aefb8ad76f1e046905ad3be8bc49d3 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/VibranceEditor.cs b/Assets/Colorful FX/Editor/Effects/VibranceEditor.cs new file mode 100644 index 0000000..2f8722e --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/VibranceEditor.cs @@ -0,0 +1,50 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Vibrance))] + public class VibranceEditor : BaseEffectEditor + { + SerializedProperty p_Amount; + SerializedProperty p_RedChannel; + SerializedProperty p_GreenChannel; + SerializedProperty p_BlueChannel; + SerializedProperty p_AdvancedMode; + + void OnEnable() + { + p_Amount = serializedObject.FindProperty("Amount"); + p_RedChannel = serializedObject.FindProperty("RedChannel"); + p_GreenChannel = serializedObject.FindProperty("GreenChannel"); + p_BlueChannel = serializedObject.FindProperty("BlueChannel"); + p_AdvancedMode = serializedObject.FindProperty("AdvancedMode"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + p_AdvancedMode.boolValue = GUILayout.Toggle(p_AdvancedMode.boolValue, GetContent("Advanced Mode"), EditorStyles.miniButton); + + EditorGUILayout.PropertyField(p_Amount, GetContent("Vibrance")); + + if (p_AdvancedMode.boolValue) + { + EditorGUI.indentLevel++; + { + EditorGUILayout.PropertyField(p_RedChannel); + EditorGUILayout.PropertyField(p_GreenChannel); + EditorGUILayout.PropertyField(p_BlueChannel); + } + EditorGUI.indentLevel--; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/VibranceEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/VibranceEditor.cs.meta new file mode 100644 index 0000000..d4997a3 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/VibranceEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 1d93ddc03cf697348b70c15f15bce28d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/VintageEditor.cs b/Assets/Colorful FX/Editor/Effects/VintageEditor.cs new file mode 100644 index 0000000..10a37b4 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/VintageEditor.cs @@ -0,0 +1,34 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Vintage))] + public class VintageEditor : BaseEffectEditor + { + SerializedProperty p_Filter; + SerializedProperty p_Amount; + + void OnEnable() + { + p_Filter = serializedObject.FindProperty("Filter"); + p_Amount = serializedObject.FindProperty("Amount"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.HelpBox("This effect is deprecated. Use \"Vintage (Fast)\" instead for better performances!", MessageType.Warning); + + EditorGUILayout.PropertyField(p_Filter); + EditorGUILayout.PropertyField(p_Amount); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/VintageEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/VintageEditor.cs.meta new file mode 100644 index 0000000..babc50e --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/VintageEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 5ea04c212030eaa47881ee0caedd2856 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/VintageFastEditor.cs b/Assets/Colorful FX/Editor/Effects/VintageFastEditor.cs new file mode 100644 index 0000000..de3a8c9 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/VintageFastEditor.cs @@ -0,0 +1,35 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(VintageFast))] + public class VintageFastEditor : BaseEffectEditor + { + SerializedProperty p_Filter; + SerializedProperty p_Amount; + SerializedProperty p_ForceCompatibility; + + void OnEnable() + { + p_Filter = serializedObject.FindProperty("Filter"); + p_Amount = serializedObject.FindProperty("Amount"); + p_ForceCompatibility = serializedObject.FindProperty("ForceCompatibility"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Filter); + EditorGUILayout.PropertyField(p_Amount); + EditorGUILayout.PropertyField(p_ForceCompatibility); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/VintageFastEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/VintageFastEditor.cs.meta new file mode 100644 index 0000000..bca817c --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/VintageFastEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 51e43aaf9dea6414685f60a22730e7aa +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/WaveDistortionEditor.cs b/Assets/Colorful FX/Editor/Effects/WaveDistortionEditor.cs new file mode 100644 index 0000000..095d1a5 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/WaveDistortionEditor.cs @@ -0,0 +1,38 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(WaveDistortion))] + public class WaveDistortionEditor : BaseEffectEditor + { + SerializedProperty p_Amplitude; + SerializedProperty p_Waves; + SerializedProperty p_ColorGlitch; + SerializedProperty p_Phase; + + void OnEnable() + { + p_Amplitude = serializedObject.FindProperty("Amplitude"); + p_Waves = serializedObject.FindProperty("Waves"); + p_ColorGlitch = serializedObject.FindProperty("ColorGlitch"); + p_Phase = serializedObject.FindProperty("Phase"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Phase); + EditorGUILayout.PropertyField(p_Amplitude); + EditorGUILayout.PropertyField(p_Waves); + EditorGUILayout.PropertyField(p_ColorGlitch); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/WaveDistortionEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/WaveDistortionEditor.cs.meta new file mode 100644 index 0000000..c28fe75 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/WaveDistortionEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 7d6761cdf66f9e641aa362d78cfb226f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/WhiteBalanceEditor.cs b/Assets/Colorful FX/Editor/Effects/WhiteBalanceEditor.cs new file mode 100644 index 0000000..ffa0004 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/WhiteBalanceEditor.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(WhiteBalance))] + public class WhiteBalanceEditor : BaseEffectEditor + { + SerializedProperty p_White; + SerializedProperty p_Mode; + + void OnEnable() + { + p_White = serializedObject.FindProperty("White"); + p_Mode = serializedObject.FindProperty("Mode"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Mode); + EditorGUILayout.PropertyField(p_White, GetContent("White Point")); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/WhiteBalanceEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/WhiteBalanceEditor.cs.meta new file mode 100644 index 0000000..55ac0c1 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/WhiteBalanceEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 07588eab913e957498c2da231bf9198d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Effects/WiggleEditor.cs b/Assets/Colorful FX/Editor/Effects/WiggleEditor.cs new file mode 100644 index 0000000..7b578d9 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/WiggleEditor.cs @@ -0,0 +1,48 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(Wiggle))] + public class WiggleEditor : BaseEffectEditor + { + SerializedProperty p_Mode; + SerializedProperty p_Timer; + SerializedProperty p_Speed; + SerializedProperty p_Frequency; + SerializedProperty p_Amplitude; + SerializedProperty p_AutomaticTimer; + + void OnEnable() + { + p_Mode = serializedObject.FindProperty("Mode"); + p_Timer = serializedObject.FindProperty("Timer"); + p_Speed = serializedObject.FindProperty("Speed"); + p_Frequency = serializedObject.FindProperty("Frequency"); + p_Amplitude = serializedObject.FindProperty("Amplitude"); + p_AutomaticTimer = serializedObject.FindProperty("AutomaticTimer"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.PropertyField(p_Mode); + EditorGUILayout.PropertyField(p_AutomaticTimer); + + if (p_AutomaticTimer.boolValue) + EditorGUILayout.PropertyField(p_Speed); + else + EditorGUILayout.PropertyField(p_Timer); + + EditorGUILayout.PropertyField(p_Frequency); + EditorGUILayout.PropertyField(p_Amplitude); + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/Colorful FX/Editor/Effects/WiggleEditor.cs.meta b/Assets/Colorful FX/Editor/Effects/WiggleEditor.cs.meta new file mode 100644 index 0000000..5ea40e7 --- /dev/null +++ b/Assets/Colorful FX/Editor/Effects/WiggleEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 69a21a616d85b3e4a9c5a82e60c55132 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/PropertyDrawer.meta b/Assets/Colorful FX/Editor/PropertyDrawer.meta new file mode 100644 index 0000000..b7fe4a9 --- /dev/null +++ b/Assets/Colorful FX/Editor/PropertyDrawer.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e3759202104281b439682bcff63f7bca +folderAsset: yes +timeCreated: 1466165648 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/PropertyDrawer/MinDrawer.cs b/Assets/Colorful FX/Editor/PropertyDrawer/MinDrawer.cs new file mode 100644 index 0000000..897fcfc --- /dev/null +++ b/Assets/Colorful FX/Editor/PropertyDrawer/MinDrawer.cs @@ -0,0 +1,33 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful.Editors +{ + using UnityEngine; + using UnityEditor; + + [CustomPropertyDrawer(typeof(MinAttribute))] + internal sealed class MinDrawer : PropertyDrawer + { + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + MinAttribute attribute = (MinAttribute)base.attribute; + + if (property.propertyType == SerializedPropertyType.Integer) + { + int v = EditorGUI.IntField(position, label, property.intValue); + property.intValue = (int)Mathf.Max(v, attribute.Min); + } + else if (property.propertyType == SerializedPropertyType.Float) + { + float v = EditorGUI.FloatField(position, label, property.floatValue); + property.floatValue = Mathf.Max(v, attribute.Min); + } + else + { + EditorGUI.LabelField(position, label.text, "Use Min with float or int."); + } + } + } +} diff --git a/Assets/Colorful FX/Editor/PropertyDrawer/MinDrawer.cs.meta b/Assets/Colorful FX/Editor/PropertyDrawer/MinDrawer.cs.meta new file mode 100644 index 0000000..9b6c356 --- /dev/null +++ b/Assets/Colorful FX/Editor/PropertyDrawer/MinDrawer.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: a89104df11f6a3e448d68d949cd522fd +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Shaders.meta b/Assets/Colorful FX/Editor/Shaders.meta new file mode 100644 index 0000000..90944ed --- /dev/null +++ b/Assets/Colorful FX/Editor/Shaders.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 73501cadf2e40434f88af3004a704537 +folderAsset: yes +timeCreated: 1466165647 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Shaders/_DynamicLookup.shader b/Assets/Colorful FX/Editor/Shaders/_DynamicLookup.shader new file mode 100644 index 0000000..ffec975 --- /dev/null +++ b/Assets/Colorful FX/Editor/Shaders/_DynamicLookup.shader @@ -0,0 +1,46 @@ +// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' + +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Editor/_DynamicLookup" +{ + SubShader + { + Pass + { + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + struct vInput + { + float4 pos : POSITION; + float4 color : COLOR; + }; + + struct fInput + { + float4 pos : SV_POSITION; + float4 color : COLOR; + }; + + fInput vert(vInput i) + { + fInput o; + o.pos = UnityObjectToClipPos(i.pos); + o.color = i.color; + return o; + } + + half4 frag(fInput i) : SV_Target + { + return half4(i.color.rgb, 1.0); + } + + ENDCG + } + } +} diff --git a/Assets/Colorful FX/Editor/Shaders/_DynamicLookup.shader.meta b/Assets/Colorful FX/Editor/Shaders/_DynamicLookup.shader.meta new file mode 100644 index 0000000..02f7b4a --- /dev/null +++ b/Assets/Colorful FX/Editor/Shaders/_DynamicLookup.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c3c7978226799a44bb5f79a0c901ff94 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Startup.meta b/Assets/Colorful FX/Editor/Startup.meta new file mode 100644 index 0000000..1c5a331 --- /dev/null +++ b/Assets/Colorful FX/Editor/Startup.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8503754b33acf6b448baa1f7ec781e16 +folderAsset: yes +timeCreated: 1466165647 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Startup/ColorfulFX_StartupWindow.cs b/Assets/Colorful FX/Editor/Startup/ColorfulFX_StartupWindow.cs new file mode 100644 index 0000000..2a59392 --- /dev/null +++ b/Assets/Colorful FX/Editor/Startup/ColorfulFX_StartupWindow.cs @@ -0,0 +1,235 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +#if !(UNITY_4_5 || UNITY_4_6 || UNITY_5_0) +#define UNITY_5_1_PLUS +#endif + +using UnityEngine; +using UnityEditor; +using System; +using System.IO; +using System.Text.RegularExpressions; + +public class Colorful_StartupWindowProcessor : AssetPostprocessor +{ + static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) + { + string[] entries = Array.FindAll(importedAssets, name => name.Contains("ColorfulFX_StartupWindow") && !name.EndsWith(".meta")); + + for (int i = 0; i < entries.Length; i++) + if (ColorfulFX_StartupWindow.Init(false)) + break; + } +} + +public sealed class ColorfulFX_StartupWindow : EditorWindow +{ + public static string identifier = "TH_Colorful_FX"; + static string pathChangelog = "Assets/Colorful FX/Changelog.txt"; + static string pathImages = "Assets/Colorful FX/Editor/Startup/Images/"; + + Texture2D headerPic; + string changelogText = ""; + Vector2 changelogScroll = Vector2.zero; + GUIStyle richLabelStyle; + GUIStyle richButtonStyle; + GUIStyle iconButtonStyle; + Texture2D iconColorful; + Texture2D iconChromatica; + Texture2D iconSSAOPro; + Texture2D iconLutify; + + [MenuItem("Help/Colorful FX/About", false, 0)] + public static void MenuInit() + { + ColorfulFX_StartupWindow.Init(true); + } + + [MenuItem("Help/Colorful FX/User Manual", false, 0)] + public static void MenuManual() + { + Application.OpenURL("http://thomashourdel.com/colorful/doc/"); + } + + public static void FindAssets() + { + // Get the relative data path + string[] results = AssetDatabase.FindAssets("ColorfulFX_StartupWindow t:Script", null); + if (results.Length > 0) + { + string p = AssetDatabase.GUIDToAssetPath(results[0]); + p = Path.GetDirectoryName(p); + p = p.Substring(0, p.LastIndexOf('/')); + p = p.Substring(0, p.LastIndexOf('/')); + pathChangelog = p + "/Changelog.txt"; + pathImages = p + "/Editor/Startup/Images/"; + } + } + + public static T LoadAssetAt(string path) where T : UnityEngine.Object + { +#if UNITY_5_1_PLUS + return AssetDatabase.LoadAssetAtPath(path); +#else + return Resources.LoadAssetAtPath(path); +#endif + } + + public static bool Init(bool forceOpen) + { + FindAssets(); + + // First line in the changelog is the version string + TextAsset textAsset = LoadAssetAt(pathChangelog); + + if (textAsset == null && forceOpen == false) + forceOpen = true; // Changelog.txt hasn't been imported yet (???) + else if (textAsset == null) + return false; // Something's wrong, should never happen + + if (forceOpen || EditorPrefs.GetString(identifier) != GetVersion()) + { + ColorfulFX_StartupWindow window; + window = EditorWindow.GetWindow(true, "About Colorful FX", true); + Vector2 size = new Vector2(530, 670); + window.minSize = size; + window.maxSize = size; + window.ShowUtility(); + return true; + } + + return false; + } + + static string GetVersion() + { + TextAsset textAsset = LoadAssetAt(pathChangelog); + string version = textAsset.text.Split('\n')[0]; + return version; + } + + void OnEnable() + { + FindAssets(); + + EditorPrefs.SetString(identifier, GetVersion()); + + string versionColor = EditorGUIUtility.isProSkin ? "#ffffffee" : "#000000ee"; + changelogText = LoadAssetAt(pathChangelog).text; + int maxLength = 10200; + bool tooLong = changelogText.Length > maxLength; + + if (tooLong) + { + changelogText = changelogText.Substring(0, maxLength); + changelogText += "...\n\n[See the online changelog for more]"; + } + + changelogText = Regex.Replace(changelogText, @"^[0-9].*", "Version $0", RegexOptions.Multiline); + changelogText = Regex.Replace(changelogText, @"^- (\w+:)", " $0", RegexOptions.Multiline); + + headerPic = LoadAssetAt(pathImages + "header.jpg"); + iconColorful = LoadAssetAt(pathImages + "icon-colorful.png"); + iconChromatica = LoadAssetAt(pathImages + "icon-chromatica.png"); + iconSSAOPro = LoadAssetAt(pathImages + "icon-ssaopro.png"); + iconLutify = LoadAssetAt(pathImages + "icon-lutify.png"); + } + + void OnGUI() + { + if (richLabelStyle == null) + { + richLabelStyle = new GUIStyle(GUI.skin.label); + richLabelStyle.richText = true; + richLabelStyle.wordWrap = true; + richButtonStyle = new GUIStyle(GUI.skin.button); + richButtonStyle.richText = true; + iconButtonStyle = new GUIStyle(GUI.skin.button); + iconButtonStyle.normal.background = null; + iconButtonStyle.imagePosition = ImagePosition.ImageOnly; + iconButtonStyle.fixedWidth = 96; + iconButtonStyle.fixedHeight = 96; + } + + Rect headerRect = new Rect(0, 0, 530, 207); + GUI.DrawTexture(headerRect, headerPic, ScaleMode.ScaleAndCrop, false); + + GUILayout.Space(214); + + GUILayout.BeginVertical(); + { + HR(0, 2); + + // Doc + GUILayout.BeginHorizontal(); + { + if (GUILayout.Button("Documentation\nComplete manual, examples, tips & tricks", richButtonStyle, GUILayout.MaxWidth(260), GUILayout.Height(36))) + Application.OpenURL("http://thomashourdel.com/colorful/doc/"); + + if (GUILayout.Button("Rate it\nLeave a review on the Asset Store", richButtonStyle, GUILayout.Height(36))) + Application.OpenURL("com.unity3d.kharma:content/44845"); + } + GUILayout.EndHorizontal(); + + // Contact + HR(4, 2); + + GUILayout.BeginHorizontal(); + { + if (GUILayout.Button("E-mail\nthomas@hourdel.com", richButtonStyle, GUILayout.MaxWidth(172), GUILayout.Height(36))) + Application.OpenURL("mailto:thomas@hourdel"); + + if (GUILayout.Button("Twitter\n@Chman", richButtonStyle, GUILayout.Height(36))) + Application.OpenURL("http://twitter.com/Chman"); + + if (GUILayout.Button("Support Forum\nUnity Community", richButtonStyle, GUILayout.MaxWidth(172), GUILayout.Height(36))) + Application.OpenURL("http://forum.unity3d.com/threads/colorful-post-fx-photoshop-like-color-correction-tools.143417/"); + } + GUILayout.EndHorizontal(); + + // Changelog + HR(4, 0); + + changelogScroll = GUILayout.BeginScrollView(changelogScroll); + GUILayout.Label(changelogText, richLabelStyle); + GUILayout.EndScrollView(); + + // Promo + HR(0, 0); + + GUILayout.BeginHorizontal(); + { + GUILayout.FlexibleSpace(); + + if (GUILayout.Button(iconColorful, iconButtonStyle)) + Application.OpenURL("com.unity3d.kharma:content/44845"); + + if (GUILayout.Button(iconChromatica, iconButtonStyle)) + Application.OpenURL("com.unity3d.kharma:content/20743"); + + if (GUILayout.Button(iconSSAOPro, iconButtonStyle)) + Application.OpenURL("com.unity3d.kharma:content/22369"); + + if (GUILayout.Button(iconLutify, iconButtonStyle)) + Application.OpenURL("com.unity3d.kharma:content/46012"); + + GUILayout.FlexibleSpace(); + } + GUILayout.EndHorizontal(); + } + GUILayout.EndVertical(); + } + + void HR(int prevSpace, int nextSpace) + { + GUILayout.Space(prevSpace); + Rect r = GUILayoutUtility.GetRect(Screen.width, 2); + Color og = GUI.backgroundColor; + GUI.backgroundColor = Color.black; + GUI.Box(r, ""); + GUI.backgroundColor = og; + GUILayout.Space(nextSpace); + } +} diff --git a/Assets/Colorful FX/Editor/Startup/ColorfulFX_StartupWindow.cs.meta b/Assets/Colorful FX/Editor/Startup/ColorfulFX_StartupWindow.cs.meta new file mode 100644 index 0000000..738afd9 --- /dev/null +++ b/Assets/Colorful FX/Editor/Startup/ColorfulFX_StartupWindow.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 1b65b98459368bf4fb6663ba8aa5216d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Startup/Images.meta b/Assets/Colorful FX/Editor/Startup/Images.meta new file mode 100644 index 0000000..935ca6e --- /dev/null +++ b/Assets/Colorful FX/Editor/Startup/Images.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 46fe6ec45cba7dd4d93a3ad794ade55a +folderAsset: yes +timeCreated: 1466165648 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Startup/Images/header.jpg b/Assets/Colorful FX/Editor/Startup/Images/header.jpg new file mode 100644 index 0000000..61dd160 Binary files /dev/null and b/Assets/Colorful FX/Editor/Startup/Images/header.jpg differ diff --git a/Assets/Colorful FX/Editor/Startup/Images/header.jpg.meta b/Assets/Colorful FX/Editor/Startup/Images/header.jpg.meta new file mode 100644 index 0000000..499d08a --- /dev/null +++ b/Assets/Colorful FX/Editor/Startup/Images/header.jpg.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 25181b7d9db23b44a964af66029f7361 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Startup/Images/icon-chromatica.png b/Assets/Colorful FX/Editor/Startup/Images/icon-chromatica.png new file mode 100644 index 0000000..cd9f33a Binary files /dev/null and b/Assets/Colorful FX/Editor/Startup/Images/icon-chromatica.png differ diff --git a/Assets/Colorful FX/Editor/Startup/Images/icon-chromatica.png.meta b/Assets/Colorful FX/Editor/Startup/Images/icon-chromatica.png.meta new file mode 100644 index 0000000..b5aebba --- /dev/null +++ b/Assets/Colorful FX/Editor/Startup/Images/icon-chromatica.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 51f0cc904e1da584dbda9f961d7ce6a1 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 128 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 128 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Startup/Images/icon-colorful.png b/Assets/Colorful FX/Editor/Startup/Images/icon-colorful.png new file mode 100644 index 0000000..62fb7e9 Binary files /dev/null and b/Assets/Colorful FX/Editor/Startup/Images/icon-colorful.png differ diff --git a/Assets/Colorful FX/Editor/Startup/Images/icon-colorful.png.meta b/Assets/Colorful FX/Editor/Startup/Images/icon-colorful.png.meta new file mode 100644 index 0000000..7c4b339 --- /dev/null +++ b/Assets/Colorful FX/Editor/Startup/Images/icon-colorful.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 869bdc44d126e274c98ad67e9d6b719b +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 128 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 128 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Startup/Images/icon-lutify.png b/Assets/Colorful FX/Editor/Startup/Images/icon-lutify.png new file mode 100644 index 0000000..998bf10 Binary files /dev/null and b/Assets/Colorful FX/Editor/Startup/Images/icon-lutify.png differ diff --git a/Assets/Colorful FX/Editor/Startup/Images/icon-lutify.png.meta b/Assets/Colorful FX/Editor/Startup/Images/icon-lutify.png.meta new file mode 100644 index 0000000..2fe3a7e --- /dev/null +++ b/Assets/Colorful FX/Editor/Startup/Images/icon-lutify.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 2bcf7d509a532e84483047d6d62ada4f +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 128 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 128 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/Startup/Images/icon-ssaopro.png b/Assets/Colorful FX/Editor/Startup/Images/icon-ssaopro.png new file mode 100644 index 0000000..4f622c0 Binary files /dev/null and b/Assets/Colorful FX/Editor/Startup/Images/icon-ssaopro.png differ diff --git a/Assets/Colorful FX/Editor/Startup/Images/icon-ssaopro.png.meta b/Assets/Colorful FX/Editor/Startup/Images/icon-ssaopro.png.meta new file mode 100644 index 0000000..eca2885 --- /dev/null +++ b/Assets/Colorful FX/Editor/Startup/Images/icon-ssaopro.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: a93a9f31d87592944ab49cffe727e831 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 128 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 128 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Editor/icon.png b/Assets/Colorful FX/Editor/icon.png new file mode 100644 index 0000000..a2086d3 Binary files /dev/null and b/Assets/Colorful FX/Editor/icon.png differ diff --git a/Assets/Colorful FX/Editor/icon.png.meta b/Assets/Colorful FX/Editor/icon.png.meta new file mode 100644 index 0000000..637f097 --- /dev/null +++ b/Assets/Colorful FX/Editor/icon.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: e7f8a1ed59e3e914f8e50295c1130bc1 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 32 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Readme.txt b/Assets/Colorful FX/Readme.txt new file mode 100644 index 0000000..4fd1843 --- /dev/null +++ b/Assets/Colorful FX/Readme.txt @@ -0,0 +1,20 @@ +Thank you for buying Colorful FX, I hope it'll fit your needs ! Full documentation is available in the Help menu. + +E-mail + thomas@hourdel.com +Twitter + http://www.twitter.com/Chman +Unity Community + http://forum.unity3d.com/members/15388-Chman + +Website + http://www.thomashourdel.com/colorful/ +Asset Store + https://www.assetstore.unity3d.com/#/content/44845 (leave a review!) +Itch.io + http://chman.itch.io/colorful +Support Forum + http://forum.unity3d.com/threads/143417 + +Like Colorful FX ? Check out my other Unity assets: + https://www.assetstore.unity3d.com/en/#!/publisher/1627 diff --git a/Assets/Colorful FX/Readme.txt.meta b/Assets/Colorful FX/Readme.txt.meta new file mode 100644 index 0000000..fa8f7f6 --- /dev/null +++ b/Assets/Colorful FX/Readme.txt.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: ac8646fcf379b164c9ce37d26c16bcdd +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources.meta b/Assets/Colorful FX/Resources.meta new file mode 100644 index 0000000..d4a0b86 --- /dev/null +++ b/Assets/Colorful FX/Resources.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8ad2837e5675d0848b2f476d71f7fa28 +folderAsset: yes +timeCreated: 1466165647 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram.meta b/Assets/Colorful FX/Resources/Instagram.meta new file mode 100644 index 0000000..897ea4e --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c345d887bb5e15e4d9adef0f8274853d +folderAsset: yes +timeCreated: 1466165648 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Aden.png b/Assets/Colorful FX/Resources/Instagram/Aden.png new file mode 100644 index 0000000..05fcf80 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Aden.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Aden.png.meta b/Assets/Colorful FX/Resources/Instagram/Aden.png.meta new file mode 100644 index 0000000..8a055e2 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Aden.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 71bb60f95cb866c458d7bc194a88d79a +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Amaro.png b/Assets/Colorful FX/Resources/Instagram/Amaro.png new file mode 100644 index 0000000..94fbbf1 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Amaro.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Amaro.png.meta b/Assets/Colorful FX/Resources/Instagram/Amaro.png.meta new file mode 100644 index 0000000..5c91263 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Amaro.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 492bfb06acc0e704097ddd34878f4c01 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Brannan.png b/Assets/Colorful FX/Resources/Instagram/Brannan.png new file mode 100644 index 0000000..5ea8a25 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Brannan.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Brannan.png.meta b/Assets/Colorful FX/Resources/Instagram/Brannan.png.meta new file mode 100644 index 0000000..9635c5b --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Brannan.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: a4a883b00d5a03c4191f41d61ff430fe +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Crema.png b/Assets/Colorful FX/Resources/Instagram/Crema.png new file mode 100644 index 0000000..0a47d71 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Crema.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Crema.png.meta b/Assets/Colorful FX/Resources/Instagram/Crema.png.meta new file mode 100644 index 0000000..98b509a --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Crema.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 8cfad23925d468e42a4b069b9bada02d +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Earlybird.png b/Assets/Colorful FX/Resources/Instagram/Earlybird.png new file mode 100644 index 0000000..d5a4f5b Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Earlybird.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Earlybird.png.meta b/Assets/Colorful FX/Resources/Instagram/Earlybird.png.meta new file mode 100644 index 0000000..8f832d6 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Earlybird.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 7a78f67526578ab409a01e0672fa5d35 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/F1977.png b/Assets/Colorful FX/Resources/Instagram/F1977.png new file mode 100644 index 0000000..44c91de Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/F1977.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/F1977.png.meta b/Assets/Colorful FX/Resources/Instagram/F1977.png.meta new file mode 100644 index 0000000..aa1ce79 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/F1977.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 54e6dfcbbe85e8043b8f7b9b304339f5 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Hefe.png b/Assets/Colorful FX/Resources/Instagram/Hefe.png new file mode 100644 index 0000000..4c87afb Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Hefe.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Hefe.png.meta b/Assets/Colorful FX/Resources/Instagram/Hefe.png.meta new file mode 100644 index 0000000..6f2c980 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Hefe.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: cb854b0a14b9eea4f8e9d47004dcb242 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Hudson.png b/Assets/Colorful FX/Resources/Instagram/Hudson.png new file mode 100644 index 0000000..c6a6a22 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Hudson.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Hudson.png.meta b/Assets/Colorful FX/Resources/Instagram/Hudson.png.meta new file mode 100644 index 0000000..b4055e6 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Hudson.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: a28ebc0416ad1c9469a75c8fddd80498 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Inkwell.png b/Assets/Colorful FX/Resources/Instagram/Inkwell.png new file mode 100644 index 0000000..c570e4f Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Inkwell.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Inkwell.png.meta b/Assets/Colorful FX/Resources/Instagram/Inkwell.png.meta new file mode 100644 index 0000000..a67198a --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Inkwell.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 69c4d69080457a447a8f114a3d172927 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Juno.png b/Assets/Colorful FX/Resources/Instagram/Juno.png new file mode 100644 index 0000000..8c82a3d Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Juno.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Juno.png.meta b/Assets/Colorful FX/Resources/Instagram/Juno.png.meta new file mode 100644 index 0000000..d489515 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Juno.png.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: db967af71da0c1f40aa19ba96bc60664 +timeCreated: 1430926065 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Kelvin.png b/Assets/Colorful FX/Resources/Instagram/Kelvin.png new file mode 100644 index 0000000..c75c19e Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Kelvin.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Kelvin.png.meta b/Assets/Colorful FX/Resources/Instagram/Kelvin.png.meta new file mode 100644 index 0000000..3cf3cf5 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Kelvin.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 8302ec815182af74bb21ebf76a4643e1 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Lark.png b/Assets/Colorful FX/Resources/Instagram/Lark.png new file mode 100644 index 0000000..b2b311f Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Lark.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Lark.png.meta b/Assets/Colorful FX/Resources/Instagram/Lark.png.meta new file mode 100644 index 0000000..8769206 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Lark.png.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 95b0eae7d4e35f4469715f6c3022fff8 +timeCreated: 1430926065 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/LoFi.png b/Assets/Colorful FX/Resources/Instagram/LoFi.png new file mode 100644 index 0000000..a78f237 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/LoFi.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/LoFi.png.meta b/Assets/Colorful FX/Resources/Instagram/LoFi.png.meta new file mode 100644 index 0000000..ceaac19 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/LoFi.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 70ed4587272042e45a86405a1536651f +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Ludwig.png b/Assets/Colorful FX/Resources/Instagram/Ludwig.png new file mode 100644 index 0000000..501802e Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Ludwig.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Ludwig.png.meta b/Assets/Colorful FX/Resources/Instagram/Ludwig.png.meta new file mode 100644 index 0000000..6939dab --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Ludwig.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: c0aa2cffa31cfed4a8f5c569e7172065 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Mayfair.png b/Assets/Colorful FX/Resources/Instagram/Mayfair.png new file mode 100644 index 0000000..c1c8e63 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Mayfair.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Mayfair.png.meta b/Assets/Colorful FX/Resources/Instagram/Mayfair.png.meta new file mode 100644 index 0000000..2d55674 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Mayfair.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: aa0093754890d1d4982197dedc160551 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Nashville.png b/Assets/Colorful FX/Resources/Instagram/Nashville.png new file mode 100644 index 0000000..efc60d9 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Nashville.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Nashville.png.meta b/Assets/Colorful FX/Resources/Instagram/Nashville.png.meta new file mode 100644 index 0000000..8a57b84 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Nashville.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 566675071db986148847d88f5a91ca63 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Perpetua.png b/Assets/Colorful FX/Resources/Instagram/Perpetua.png new file mode 100644 index 0000000..1394d10 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Perpetua.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Perpetua.png.meta b/Assets/Colorful FX/Resources/Instagram/Perpetua.png.meta new file mode 100644 index 0000000..0efad83 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Perpetua.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 4016620c77806cc49ba9b406afabe797 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Reyes.png b/Assets/Colorful FX/Resources/Instagram/Reyes.png new file mode 100644 index 0000000..53178c3 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Reyes.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Reyes.png.meta b/Assets/Colorful FX/Resources/Instagram/Reyes.png.meta new file mode 100644 index 0000000..dede06c --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Reyes.png.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 35befae6315042a489cca37f35cda560 +timeCreated: 1430926065 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Rise.png b/Assets/Colorful FX/Resources/Instagram/Rise.png new file mode 100644 index 0000000..f8c44c5 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Rise.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Rise.png.meta b/Assets/Colorful FX/Resources/Instagram/Rise.png.meta new file mode 100644 index 0000000..d93f87c --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Rise.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 65799e06397ba314c842b80c9b80c3cb +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Sierra.png b/Assets/Colorful FX/Resources/Instagram/Sierra.png new file mode 100644 index 0000000..cd3a167 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Sierra.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Sierra.png.meta b/Assets/Colorful FX/Resources/Instagram/Sierra.png.meta new file mode 100644 index 0000000..b0fc83a --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Sierra.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: e008073026fa76d43a47c376ff6c3aa4 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Slumber.png b/Assets/Colorful FX/Resources/Instagram/Slumber.png new file mode 100644 index 0000000..220f90a Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Slumber.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Slumber.png.meta b/Assets/Colorful FX/Resources/Instagram/Slumber.png.meta new file mode 100644 index 0000000..b907a13 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Slumber.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 2f559a345557ed24eb6cc977b34b1f0e +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Sutro.png b/Assets/Colorful FX/Resources/Instagram/Sutro.png new file mode 100644 index 0000000..c4ba647 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Sutro.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Sutro.png.meta b/Assets/Colorful FX/Resources/Instagram/Sutro.png.meta new file mode 100644 index 0000000..05e0db5 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Sutro.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: addfa6fc5c2d56641b5ebed82ce633cd +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Toaster.png b/Assets/Colorful FX/Resources/Instagram/Toaster.png new file mode 100644 index 0000000..986a143 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Toaster.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Toaster.png.meta b/Assets/Colorful FX/Resources/Instagram/Toaster.png.meta new file mode 100644 index 0000000..14731a8 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Toaster.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: f7a1319a0d3863c4788319a3210510a2 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Valencia.png b/Assets/Colorful FX/Resources/Instagram/Valencia.png new file mode 100644 index 0000000..c6ca64d Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Valencia.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Valencia.png.meta b/Assets/Colorful FX/Resources/Instagram/Valencia.png.meta new file mode 100644 index 0000000..2b37300 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Valencia.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 27f38c2393d5cc64881d0ebc28644b5b +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Walden.png b/Assets/Colorful FX/Resources/Instagram/Walden.png new file mode 100644 index 0000000..2cf5e3b Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Walden.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Walden.png.meta b/Assets/Colorful FX/Resources/Instagram/Walden.png.meta new file mode 100644 index 0000000..daac337 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Walden.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: ed7300bee0a313f4f8b879723666d20e +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/Willow.png b/Assets/Colorful FX/Resources/Instagram/Willow.png new file mode 100644 index 0000000..cef6070 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/Willow.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/Willow.png.meta b/Assets/Colorful FX/Resources/Instagram/Willow.png.meta new file mode 100644 index 0000000..67714c3 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/Willow.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 12a3fb1b1c5b0274b8b2e0e629fc8577 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Instagram/XProII.png b/Assets/Colorful FX/Resources/Instagram/XProII.png new file mode 100644 index 0000000..9bac781 Binary files /dev/null and b/Assets/Colorful FX/Resources/Instagram/XProII.png differ diff --git a/Assets/Colorful FX/Resources/Instagram/XProII.png.meta b/Assets/Colorful FX/Resources/Instagram/XProII.png.meta new file mode 100644 index 0000000..3ae3b62 --- /dev/null +++ b/Assets/Colorful FX/Resources/Instagram/XProII.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: ab366828b8a7ca5499aa7dcfbd5d695d +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast.meta b/Assets/Colorful FX/Resources/InstagramFast.meta new file mode 100644 index 0000000..53ea726 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 21493ff2515af60428488c7d7df4f309 +folderAsset: yes +timeCreated: 1466165647 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Aden.png b/Assets/Colorful FX/Resources/InstagramFast/Aden.png new file mode 100644 index 0000000..6fe7a1f Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Aden.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Aden.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Aden.png.meta new file mode 100644 index 0000000..8cdfe4a --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Aden.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 2254a0e5c700e144c8d0b251773586df +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Amaro.png b/Assets/Colorful FX/Resources/InstagramFast/Amaro.png new file mode 100644 index 0000000..508851b Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Amaro.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Amaro.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Amaro.png.meta new file mode 100644 index 0000000..8a181c5 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Amaro.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 8d477e8a90eb6384882420ca937e62b2 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Brannan.png b/Assets/Colorful FX/Resources/InstagramFast/Brannan.png new file mode 100644 index 0000000..6612367 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Brannan.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Brannan.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Brannan.png.meta new file mode 100644 index 0000000..7e16956 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Brannan.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 68d50d8f366bfdf45b50c222e496a18d +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Crema.png b/Assets/Colorful FX/Resources/InstagramFast/Crema.png new file mode 100644 index 0000000..fbbdacc Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Crema.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Crema.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Crema.png.meta new file mode 100644 index 0000000..2fe1ebf --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Crema.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 15262d436ecc1d94495b2b362c66b715 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Earlybird.png b/Assets/Colorful FX/Resources/InstagramFast/Earlybird.png new file mode 100644 index 0000000..93a3871 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Earlybird.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Earlybird.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Earlybird.png.meta new file mode 100644 index 0000000..3020eb1 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Earlybird.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 8b3ad70d6777ecb4182ce811852c1b36 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/F1977.png b/Assets/Colorful FX/Resources/InstagramFast/F1977.png new file mode 100644 index 0000000..f55591a Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/F1977.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/F1977.png.meta b/Assets/Colorful FX/Resources/InstagramFast/F1977.png.meta new file mode 100644 index 0000000..49f1a47 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/F1977.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 5af78601c28168c44a6b65d7d7cfb9b9 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Hefe.png b/Assets/Colorful FX/Resources/InstagramFast/Hefe.png new file mode 100644 index 0000000..c08b45f Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Hefe.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Hefe.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Hefe.png.meta new file mode 100644 index 0000000..d3e2467 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Hefe.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: ad8ec17e194f9114aa054c91edd0acb4 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Hudson.png b/Assets/Colorful FX/Resources/InstagramFast/Hudson.png new file mode 100644 index 0000000..ef2bea8 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Hudson.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Hudson.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Hudson.png.meta new file mode 100644 index 0000000..efe3dd9 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Hudson.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 3c654de0a221cc84db32f82f8f2afef2 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Inkwell.png b/Assets/Colorful FX/Resources/InstagramFast/Inkwell.png new file mode 100644 index 0000000..6a946e0 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Inkwell.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Inkwell.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Inkwell.png.meta new file mode 100644 index 0000000..c4706ee --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Inkwell.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 61952d79b0552f74fa48a9c38ac66cfa +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Juno.png b/Assets/Colorful FX/Resources/InstagramFast/Juno.png new file mode 100644 index 0000000..2e839d4 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Juno.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Juno.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Juno.png.meta new file mode 100644 index 0000000..ed7efde --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Juno.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 802ada9f676280e469941c886fda1acc +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Kelvin.png b/Assets/Colorful FX/Resources/InstagramFast/Kelvin.png new file mode 100644 index 0000000..d174335 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Kelvin.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Kelvin.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Kelvin.png.meta new file mode 100644 index 0000000..07ae77e --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Kelvin.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 69a3d025b33ca1c479da87d948e75f43 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Lark.png b/Assets/Colorful FX/Resources/InstagramFast/Lark.png new file mode 100644 index 0000000..0edca2f Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Lark.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Lark.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Lark.png.meta new file mode 100644 index 0000000..4e19f7a --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Lark.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 4118a023d7fc21d4dbe8e400b6e0d420 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/LoFi.png b/Assets/Colorful FX/Resources/InstagramFast/LoFi.png new file mode 100644 index 0000000..d6c51e4 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/LoFi.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/LoFi.png.meta b/Assets/Colorful FX/Resources/InstagramFast/LoFi.png.meta new file mode 100644 index 0000000..795c056 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/LoFi.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 9d1e8c8488c33e243b7975ac76e81c52 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Ludwig.png b/Assets/Colorful FX/Resources/InstagramFast/Ludwig.png new file mode 100644 index 0000000..4f1719e Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Ludwig.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Ludwig.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Ludwig.png.meta new file mode 100644 index 0000000..ac550a8 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Ludwig.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: a1931bf8a1579944dbb313c72ee8a8a9 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Mayfair.png b/Assets/Colorful FX/Resources/InstagramFast/Mayfair.png new file mode 100644 index 0000000..f1d9ac7 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Mayfair.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Mayfair.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Mayfair.png.meta new file mode 100644 index 0000000..d8b4096 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Mayfair.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 6d8afa97defbd3c4da531126311f040a +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Nashville.png b/Assets/Colorful FX/Resources/InstagramFast/Nashville.png new file mode 100644 index 0000000..4fe4b56 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Nashville.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Nashville.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Nashville.png.meta new file mode 100644 index 0000000..2ecf32f --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Nashville.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: c3fdaef179f0ad0448d330d74232e520 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Perpetua.png b/Assets/Colorful FX/Resources/InstagramFast/Perpetua.png new file mode 100644 index 0000000..8094c49 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Perpetua.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Perpetua.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Perpetua.png.meta new file mode 100644 index 0000000..0cce04b --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Perpetua.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 06b3773ea97279445ace9cc180276028 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Reyes.png b/Assets/Colorful FX/Resources/InstagramFast/Reyes.png new file mode 100644 index 0000000..5d9b718 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Reyes.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Reyes.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Reyes.png.meta new file mode 100644 index 0000000..a59bb95 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Reyes.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: d54a7866c9cbb244983b5ac8a4658c0c +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Rise.png b/Assets/Colorful FX/Resources/InstagramFast/Rise.png new file mode 100644 index 0000000..ef7c087 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Rise.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Rise.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Rise.png.meta new file mode 100644 index 0000000..30a5c45 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Rise.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: c05f77e0152817e4f83f592110846dbb +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Sierra.png b/Assets/Colorful FX/Resources/InstagramFast/Sierra.png new file mode 100644 index 0000000..97f4ae2 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Sierra.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Sierra.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Sierra.png.meta new file mode 100644 index 0000000..ef88a56 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Sierra.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 819a037846f8f8041b5aee0b125616c6 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Slumber.png b/Assets/Colorful FX/Resources/InstagramFast/Slumber.png new file mode 100644 index 0000000..78da851 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Slumber.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Slumber.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Slumber.png.meta new file mode 100644 index 0000000..57d7ee4 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Slumber.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 95be40883626e6c4b82ff9226e71a902 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Sutro.png b/Assets/Colorful FX/Resources/InstagramFast/Sutro.png new file mode 100644 index 0000000..f8ef8b4 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Sutro.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Sutro.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Sutro.png.meta new file mode 100644 index 0000000..bd5c14d --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Sutro.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 804ddb2aaa670b14a8a4b471b304d5af +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Toaster.png b/Assets/Colorful FX/Resources/InstagramFast/Toaster.png new file mode 100644 index 0000000..ecfd597 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Toaster.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Toaster.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Toaster.png.meta new file mode 100644 index 0000000..31bec0e --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Toaster.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 7735aa00f73d0e64e9931be9610bc892 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Valencia.png b/Assets/Colorful FX/Resources/InstagramFast/Valencia.png new file mode 100644 index 0000000..dc800f9 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Valencia.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Valencia.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Valencia.png.meta new file mode 100644 index 0000000..8528a05 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Valencia.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 4e1927657ed4ac845b44125b5df98321 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Walden.png b/Assets/Colorful FX/Resources/InstagramFast/Walden.png new file mode 100644 index 0000000..39d2da9 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Walden.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Walden.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Walden.png.meta new file mode 100644 index 0000000..eaadcb2 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Walden.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: c8cc5a4b42ff80a4682b226de98bf249 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/Willow.png b/Assets/Colorful FX/Resources/InstagramFast/Willow.png new file mode 100644 index 0000000..d12aa84 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/Willow.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/Willow.png.meta b/Assets/Colorful FX/Resources/InstagramFast/Willow.png.meta new file mode 100644 index 0000000..b5314a4 --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/Willow.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 5a90642ad30e41a46897efac1aa642da +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/InstagramFast/XProII.png b/Assets/Colorful FX/Resources/InstagramFast/XProII.png new file mode 100644 index 0000000..afd1459 Binary files /dev/null and b/Assets/Colorful FX/Resources/InstagramFast/XProII.png differ diff --git a/Assets/Colorful FX/Resources/InstagramFast/XProII.png.meta b/Assets/Colorful FX/Resources/InstagramFast/XProII.png.meta new file mode 100644 index 0000000..1aa05ef --- /dev/null +++ b/Assets/Colorful FX/Resources/InstagramFast/XProII.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: c1c17bd83afe202429954e1b34d86faa +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes.meta b/Assets/Colorful FX/Resources/LoFiPalettes.meta new file mode 100644 index 0000000..1ea47f1 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f2831d1cfeb2fe04db8475fe03c7f26d +folderAsset: yes +timeCreated: 1466165648 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/AmstradCPC.png b/Assets/Colorful FX/Resources/LoFiPalettes/AmstradCPC.png new file mode 100644 index 0000000..83df521 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/AmstradCPC.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/AmstradCPC.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/AmstradCPC.png.meta new file mode 100644 index 0000000..33ca1df --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/AmstradCPC.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: efd6c963b96631a428461d5f3957acb7 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Andrae.png b/Assets/Colorful FX/Resources/LoFiPalettes/Andrae.png new file mode 100644 index 0000000..c41b27c Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Andrae.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Andrae.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Andrae.png.meta new file mode 100644 index 0000000..e9d6036 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Andrae.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: e1c1ea046134cc44ea7eed7b158219e9 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Anodomani.png b/Assets/Colorful FX/Resources/LoFiPalettes/Anodomani.png new file mode 100644 index 0000000..dd811af Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Anodomani.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Anodomani.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Anodomani.png.meta new file mode 100644 index 0000000..495466c --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Anodomani.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 2ac3863d175db3e4e83fa99b623116c5 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/CGA.png b/Assets/Colorful FX/Resources/LoFiPalettes/CGA.png new file mode 100644 index 0000000..f5daceb Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/CGA.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/CGA.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/CGA.png.meta new file mode 100644 index 0000000..6264f75 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/CGA.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: e32c6243426d1774e8caacaf20433a7f +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Commodore64.png b/Assets/Colorful FX/Resources/LoFiPalettes/Commodore64.png new file mode 100644 index 0000000..aefc073 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Commodore64.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Commodore64.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Commodore64.png.meta new file mode 100644 index 0000000..5096f7b --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Commodore64.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 55644c5b205da68408b2b3b21cb2a766 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/CommodorePlus.png b/Assets/Colorful FX/Resources/LoFiPalettes/CommodorePlus.png new file mode 100644 index 0000000..abe72e1 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/CommodorePlus.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/CommodorePlus.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/CommodorePlus.png.meta new file mode 100644 index 0000000..a2e343b --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/CommodorePlus.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: b9c6457e1974458429cfceea9e50b063 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Crayolo.png b/Assets/Colorful FX/Resources/LoFiPalettes/Crayolo.png new file mode 100644 index 0000000..6cbca63 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Crayolo.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Crayolo.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Crayolo.png.meta new file mode 100644 index 0000000..859a3dc --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Crayolo.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 36435693a5c13ad45aee44ebeb29b689 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DB16.png b/Assets/Colorful FX/Resources/LoFiPalettes/DB16.png new file mode 100644 index 0000000..91e8402 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/DB16.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DB16.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/DB16.png.meta new file mode 100644 index 0000000..c4c730b --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/DB16.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 45f5e400febb6b94397415240321f588 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DB32.png b/Assets/Colorful FX/Resources/LoFiPalettes/DB32.png new file mode 100644 index 0000000..ad865d7 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/DB32.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DB32.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/DB32.png.meta new file mode 100644 index 0000000..f52d5c7 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/DB32.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: aadf6a8ae2ed13c409159fb3c7554fe3 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DJinn.png b/Assets/Colorful FX/Resources/LoFiPalettes/DJinn.png new file mode 100644 index 0000000..3e19093 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/DJinn.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DJinn.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/DJinn.png.meta new file mode 100644 index 0000000..133b360 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/DJinn.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 31252f05c22479f42ae9e4935dc52036 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DrazileA.png b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileA.png new file mode 100644 index 0000000..3a44ec4 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileA.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DrazileA.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileA.png.meta new file mode 100644 index 0000000..7cc7ccd --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileA.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 9a639820556503347ad0d4727ba857b9 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DrazileB.png b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileB.png new file mode 100644 index 0000000..a94bfdf Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileB.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DrazileB.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileB.png.meta new file mode 100644 index 0000000..177d72c --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileB.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 912b780ca52bdd34cb09f7658661f283 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DrazileC.png b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileC.png new file mode 100644 index 0000000..a9957ac Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileC.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/DrazileC.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileC.png.meta new file mode 100644 index 0000000..46399e9 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/DrazileC.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: fbca2e0a43ca84a4399e4cfdb286a717 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/EGA.png b/Assets/Colorful FX/Resources/LoFiPalettes/EGA.png new file mode 100644 index 0000000..62ebd16 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/EGA.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/EGA.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/EGA.png.meta new file mode 100644 index 0000000..4a51122 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/EGA.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 729896902ffea864486da3135d057ea6 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Eggy.png b/Assets/Colorful FX/Resources/LoFiPalettes/Eggy.png new file mode 100644 index 0000000..5b70be9 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Eggy.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Eggy.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Eggy.png.meta new file mode 100644 index 0000000..fca902b --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Eggy.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 5a54055f67af5fe4480d99335d9795c3 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/FinlalA.png b/Assets/Colorful FX/Resources/LoFiPalettes/FinlalA.png new file mode 100644 index 0000000..e8dc905 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/FinlalA.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/FinlalA.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/FinlalA.png.meta new file mode 100644 index 0000000..d81cbe6 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/FinlalA.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 8d381da33753b2246bbc5dcdc7740e4b +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/FinlalB.png b/Assets/Colorful FX/Resources/LoFiPalettes/FinlalB.png new file mode 100644 index 0000000..f414b61 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/FinlalB.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/FinlalB.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/FinlalB.png.meta new file mode 100644 index 0000000..223e017 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/FinlalB.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 9f35a23ff16561247a1faf0a33167694 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/GameBoy.png b/Assets/Colorful FX/Resources/LoFiPalettes/GameBoy.png new file mode 100644 index 0000000..3d7598b Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/GameBoy.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/GameBoy.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/GameBoy.png.meta new file mode 100644 index 0000000..1279482 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/GameBoy.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 778b25d4a5a99264eb10bedacf474461 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Hapiel.png b/Assets/Colorful FX/Resources/LoFiPalettes/Hapiel.png new file mode 100644 index 0000000..8e25ece Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Hapiel.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Hapiel.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Hapiel.png.meta new file mode 100644 index 0000000..def7889 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Hapiel.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 58153d503800254489a046f901eafe82 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/MacOS16.png b/Assets/Colorful FX/Resources/LoFiPalettes/MacOS16.png new file mode 100644 index 0000000..befd456 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/MacOS16.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/MacOS16.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/MacOS16.png.meta new file mode 100644 index 0000000..fd003f1 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/MacOS16.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 24cdcc62a1347e24fa38e9af90dced76 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/MacOS256.png b/Assets/Colorful FX/Resources/LoFiPalettes/MacOS256.png new file mode 100644 index 0000000..d1a48e9 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/MacOS256.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/MacOS256.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/MacOS256.png.meta new file mode 100644 index 0000000..73c6854 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/MacOS256.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 65d1aa5febef85a48a00b75ba7abb20c +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/MasterSystem.png b/Assets/Colorful FX/Resources/LoFiPalettes/MasterSystem.png new file mode 100644 index 0000000..22b5600 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/MasterSystem.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/MasterSystem.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/MasterSystem.png.meta new file mode 100644 index 0000000..3751588 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/MasterSystem.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: fd6527219677b0d48ae862178f17916f +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/PavanzA.png b/Assets/Colorful FX/Resources/LoFiPalettes/PavanzA.png new file mode 100644 index 0000000..10e3483 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/PavanzA.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/PavanzA.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/PavanzA.png.meta new file mode 100644 index 0000000..4116d5c --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/PavanzA.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: de74900b4eed83546b1891fcbfaf62bd +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/PavanzB.png b/Assets/Colorful FX/Resources/LoFiPalettes/PavanzB.png new file mode 100644 index 0000000..41336e2 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/PavanzB.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/PavanzB.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/PavanzB.png.meta new file mode 100644 index 0000000..5011526 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/PavanzB.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: a69699f941db39148aed187a0ef90381 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Peyton.png b/Assets/Colorful FX/Resources/LoFiPalettes/Peyton.png new file mode 100644 index 0000000..2067be8 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Peyton.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Peyton.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Peyton.png.meta new file mode 100644 index 0000000..2655c4d --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Peyton.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: d6c0182cddef7a546bbd9006d25a16c1 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/RiscOS16.png b/Assets/Colorful FX/Resources/LoFiPalettes/RiscOS16.png new file mode 100644 index 0000000..8e976bf Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/RiscOS16.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/RiscOS16.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/RiscOS16.png.meta new file mode 100644 index 0000000..f43fbee --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/RiscOS16.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 193fe1cf1a44fb34998c29e7dca7f6b0 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/SpeedyCube.png b/Assets/Colorful FX/Resources/LoFiPalettes/SpeedyCube.png new file mode 100644 index 0000000..f019f28 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/SpeedyCube.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/SpeedyCube.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/SpeedyCube.png.meta new file mode 100644 index 0000000..f7b1bd9 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/SpeedyCube.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: e19afc45b761cab4ab6f587f51f841e9 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Teletex.png b/Assets/Colorful FX/Resources/LoFiPalettes/Teletex.png new file mode 100644 index 0000000..cee2ce8 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Teletex.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Teletex.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Teletex.png.meta new file mode 100644 index 0000000..1ea9aa4 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Teletex.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 90a7127d04aedcf448351fe62cf9185c +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Windows16.png b/Assets/Colorful FX/Resources/LoFiPalettes/Windows16.png new file mode 100644 index 0000000..3d85c76 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Windows16.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Windows16.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Windows16.png.meta new file mode 100644 index 0000000..8f8f661 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Windows16.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 345927dde3348c841874afc67ad34e69 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Windows256.png b/Assets/Colorful FX/Resources/LoFiPalettes/Windows256.png new file mode 100644 index 0000000..60beebc Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/Windows256.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/Windows256.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/Windows256.png.meta new file mode 100644 index 0000000..7abe64d --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/Windows256.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: bb922ebadcf76e448ab80c022bb9d6fc +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/ZXSpectrum.png b/Assets/Colorful FX/Resources/LoFiPalettes/ZXSpectrum.png new file mode 100644 index 0000000..b343b22 Binary files /dev/null and b/Assets/Colorful FX/Resources/LoFiPalettes/ZXSpectrum.png differ diff --git a/Assets/Colorful FX/Resources/LoFiPalettes/ZXSpectrum.png.meta b/Assets/Colorful FX/Resources/LoFiPalettes/ZXSpectrum.png.meta new file mode 100644 index 0000000..55cf552 --- /dev/null +++ b/Assets/Colorful FX/Resources/LoFiPalettes/ZXSpectrum.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: b0597b3e0426cc7488a941293f399493 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Misc.meta b/Assets/Colorful FX/Resources/Misc.meta new file mode 100644 index 0000000..8c56875 --- /dev/null +++ b/Assets/Colorful FX/Resources/Misc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: de0d972fa4bd8da4b9dfdb29b0239363 +folderAsset: yes +timeCreated: 1466165648 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/Misc/DitherPattern.png b/Assets/Colorful FX/Resources/Misc/DitherPattern.png new file mode 100644 index 0000000..0228e59 Binary files /dev/null and b/Assets/Colorful FX/Resources/Misc/DitherPattern.png differ diff --git a/Assets/Colorful FX/Resources/Misc/DitherPattern.png.meta b/Assets/Colorful FX/Resources/Misc/DitherPattern.png.meta new file mode 100644 index 0000000..206b58f --- /dev/null +++ b/Assets/Colorful FX/Resources/Misc/DitherPattern.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: b00839345fed0ae4ca256ab2142e13fa +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 1 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 32 + textureSettings: + filterMode: 0 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 2 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 10 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/UI.meta b/Assets/Colorful FX/Resources/UI.meta new file mode 100644 index 0000000..1fdf047 --- /dev/null +++ b/Assets/Colorful FX/Resources/UI.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9248488f0ddf81c48bccf0faf115de37 +folderAsset: yes +timeCreated: 1466165647 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/UI/ColorCubeCursorActive.png b/Assets/Colorful FX/Resources/UI/ColorCubeCursorActive.png new file mode 100644 index 0000000..46b3479 Binary files /dev/null and b/Assets/Colorful FX/Resources/UI/ColorCubeCursorActive.png differ diff --git a/Assets/Colorful FX/Resources/UI/ColorCubeCursorActive.png.meta b/Assets/Colorful FX/Resources/UI/ColorCubeCursorActive.png.meta new file mode 100644 index 0000000..882ee18 --- /dev/null +++ b/Assets/Colorful FX/Resources/UI/ColorCubeCursorActive.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 992a968e1853db640b4003d82c777e5b +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/UI/ColorCubeCursorInactive.png b/Assets/Colorful FX/Resources/UI/ColorCubeCursorInactive.png new file mode 100644 index 0000000..a893d00 Binary files /dev/null and b/Assets/Colorful FX/Resources/UI/ColorCubeCursorInactive.png differ diff --git a/Assets/Colorful FX/Resources/UI/ColorCubeCursorInactive.png.meta b/Assets/Colorful FX/Resources/UI/ColorCubeCursorInactive.png.meta new file mode 100644 index 0000000..50ae0c8 --- /dev/null +++ b/Assets/Colorful FX/Resources/UI/ColorCubeCursorInactive.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 2feb5b71ce700ab4c9be55913f772453 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/UI/GrayscaleRamp.png b/Assets/Colorful FX/Resources/UI/GrayscaleRamp.png new file mode 100644 index 0000000..ba2c791 Binary files /dev/null and b/Assets/Colorful FX/Resources/UI/GrayscaleRamp.png differ diff --git a/Assets/Colorful FX/Resources/UI/GrayscaleRamp.png.meta b/Assets/Colorful FX/Resources/UI/GrayscaleRamp.png.meta new file mode 100644 index 0000000..c933961 --- /dev/null +++ b/Assets/Colorful FX/Resources/UI/GrayscaleRamp.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: e2c1011f5ce9e074d80c9b708c4f5727 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/UI/GrayscaleRampLinear.png b/Assets/Colorful FX/Resources/UI/GrayscaleRampLinear.png new file mode 100644 index 0000000..eb96cce Binary files /dev/null and b/Assets/Colorful FX/Resources/UI/GrayscaleRampLinear.png differ diff --git a/Assets/Colorful FX/Resources/UI/GrayscaleRampLinear.png.meta b/Assets/Colorful FX/Resources/UI/GrayscaleRampLinear.png.meta new file mode 100644 index 0000000..db1672b --- /dev/null +++ b/Assets/Colorful FX/Resources/UI/GrayscaleRampLinear.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 4707472814fc4f846b0d3f36182861e6 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/UI/HueRamp.png b/Assets/Colorful FX/Resources/UI/HueRamp.png new file mode 100644 index 0000000..d2147ca Binary files /dev/null and b/Assets/Colorful FX/Resources/UI/HueRamp.png differ diff --git a/Assets/Colorful FX/Resources/UI/HueRamp.png.meta b/Assets/Colorful FX/Resources/UI/HueRamp.png.meta new file mode 100644 index 0000000..c9e7c7c --- /dev/null +++ b/Assets/Colorful FX/Resources/UI/HueRamp.png.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 7923d23155439434784e9755d1e60812 +timeCreated: 1430213342 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Resources/UI/WheelThumb.png b/Assets/Colorful FX/Resources/UI/WheelThumb.png new file mode 100644 index 0000000..c43602b Binary files /dev/null and b/Assets/Colorful FX/Resources/UI/WheelThumb.png differ diff --git a/Assets/Colorful FX/Resources/UI/WheelThumb.png.meta b/Assets/Colorful FX/Resources/UI/WheelThumb.png.meta new file mode 100644 index 0000000..39f826c --- /dev/null +++ b/Assets/Colorful FX/Resources/UI/WheelThumb.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 95799cb614cdf134f9b3773aaf92808d +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Samples.meta b/Assets/Colorful FX/Samples.meta new file mode 100644 index 0000000..0fd2893 --- /dev/null +++ b/Assets/Colorful FX/Samples.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4c61c588686af784789b65d2ef500250 +folderAsset: yes +timeCreated: 1466165647 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Samples/HeatRamp.png b/Assets/Colorful FX/Samples/HeatRamp.png new file mode 100644 index 0000000..c8c3c13 Binary files /dev/null and b/Assets/Colorful FX/Samples/HeatRamp.png differ diff --git a/Assets/Colorful FX/Samples/HeatRamp.png.meta b/Assets/Colorful FX/Samples/HeatRamp.png.meta new file mode 100644 index 0000000..0a74d43 --- /dev/null +++ b/Assets/Colorful FX/Samples/HeatRamp.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: b7c94aa126cfa85419349984807c1ce5 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Samples/Lookup3DSource.png b/Assets/Colorful FX/Samples/Lookup3DSource.png new file mode 100644 index 0000000..fc0f026 Binary files /dev/null and b/Assets/Colorful FX/Samples/Lookup3DSource.png differ diff --git a/Assets/Colorful FX/Samples/Lookup3DSource.png.meta b/Assets/Colorful FX/Samples/Lookup3DSource.png.meta new file mode 100644 index 0000000..1545c7c --- /dev/null +++ b/Assets/Colorful FX/Samples/Lookup3DSource.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: 2c3c3951c92fc7b4583fcd6c1ed98b4c +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 256 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Samples/LookupSource.png b/Assets/Colorful FX/Samples/LookupSource.png new file mode 100644 index 0000000..7a3798d Binary files /dev/null and b/Assets/Colorful FX/Samples/LookupSource.png differ diff --git a/Assets/Colorful FX/Samples/LookupSource.png.meta b/Assets/Colorful FX/Samples/LookupSource.png.meta new file mode 100644 index 0000000..eef9927 --- /dev/null +++ b/Assets/Colorful FX/Samples/LookupSource.png.meta @@ -0,0 +1,66 @@ +fileFormatVersion: 2 +guid: aebf5a4e61f4d044bb084e0b481f3ac2 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 512 + textureSettings: + filterMode: -1 + aniso: 0 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts.meta b/Assets/Colorful FX/Scripts.meta new file mode 100644 index 0000000..1912c56 --- /dev/null +++ b/Assets/Colorful FX/Scripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4b32857bdff3e1b41b5c459106436024 +folderAsset: yes +timeCreated: 1466165647 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Attributes.meta b/Assets/Colorful FX/Scripts/Attributes.meta new file mode 100644 index 0000000..ee30484 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Attributes.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: aa9a3f84ebd71e34db095c5677e51d5d +folderAsset: yes +timeCreated: 1466165647 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Attributes/ColorUsageAttribute.cs b/Assets/Colorful FX/Scripts/Attributes/ColorUsageAttribute.cs new file mode 100644 index 0000000..7cb8bd1 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Attributes/ColorUsageAttribute.cs @@ -0,0 +1,22 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +#if !(UNITY_4_5 || UNITY_4_6 || UNITY_5_0) +#define UNITY_5_1_PLUS +#endif + +// Compatibility layer for Unity < 5.1 + +namespace Colorful +{ +#if !(UNITY_5_1_PLUS) + using UnityEngine; + + public class ColorUsageAttribute : PropertyAttribute + { + public ColorUsageAttribute(bool showAlpha) { } + public ColorUsageAttribute(bool showAlpha, bool hdr, float minBrightness, float maxBrightness, float minExposureValue, float maxExposureValue) { } + } +#endif +} diff --git a/Assets/Colorful FX/Scripts/Attributes/ColorUsageAttribute.cs.meta b/Assets/Colorful FX/Scripts/Attributes/ColorUsageAttribute.cs.meta new file mode 100644 index 0000000..300afe2 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Attributes/ColorUsageAttribute.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: fedf16f4294e7164daf92369a045e45e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Attributes/HelpURLAttribute.cs b/Assets/Colorful FX/Scripts/Attributes/HelpURLAttribute.cs new file mode 100644 index 0000000..078b131 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Attributes/HelpURLAttribute.cs @@ -0,0 +1,22 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +#if !(UNITY_4_5 || UNITY_4_6 || UNITY_5_0) +#define UNITY_5_1_PLUS +#endif + +// Compatibility layer for Unity < 5.1 + +namespace Colorful +{ +#if !(UNITY_5_1_PLUS) + using System; + + [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] + public class HelpURLAttribute : Attribute + { + public HelpURLAttribute(string url) { } + } +#endif +} diff --git a/Assets/Colorful FX/Scripts/Attributes/HelpURLAttribute.cs.meta b/Assets/Colorful FX/Scripts/Attributes/HelpURLAttribute.cs.meta new file mode 100644 index 0000000..6a8c037 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Attributes/HelpURLAttribute.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: e4e0233be6fff614c859f48b3376629a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Attributes/MinAttribute.cs b/Assets/Colorful FX/Scripts/Attributes/MinAttribute.cs new file mode 100644 index 0000000..5bcbab3 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Attributes/MinAttribute.cs @@ -0,0 +1,18 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + public sealed class MinAttribute : PropertyAttribute + { + public readonly float Min; + + public MinAttribute(float min) + { + Min = min; + } + } +} diff --git a/Assets/Colorful FX/Scripts/Attributes/MinAttribute.cs.meta b/Assets/Colorful FX/Scripts/Attributes/MinAttribute.cs.meta new file mode 100644 index 0000000..919c2f1 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Attributes/MinAttribute.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 1d30cc3cea37d24448a6de8965e88e01 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/BaseEffect.cs b/Assets/Colorful FX/Scripts/BaseEffect.cs new file mode 100644 index 0000000..3c70e2d --- /dev/null +++ b/Assets/Colorful FX/Scripts/BaseEffect.cs @@ -0,0 +1,70 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [RequireComponent(typeof(Camera))] + [AddComponentMenu("")] + public class BaseEffect : MonoBehaviour + { + public Shader Shader; + + protected Material m_Material; + public Material Material + { + get + { + if (m_Material == null) + { + m_Material = new Material(Shader); + m_Material.hideFlags = HideFlags.HideAndDontSave; + } + + return m_Material; + } + } + + protected virtual void Start() + { + // Disable if we don't support image effects + if (!SystemInfo.supportsImageEffects) + { + Debug.LogWarning("Image effects aren't supported on this device"); + enabled = false; + return; + } + + // Disable the image effect if the shader can't run on the users graphics card + if (!Shader || !Shader.isSupported) + { + Debug.LogWarning("The shader is null or unsupported on this device"); + enabled = false; + } + } + + protected virtual void OnDisable() + { + if (m_Material) + DestroyImmediate(m_Material); + } + + public void Apply(Texture source, RenderTexture destination) + { + if (source is RenderTexture) + { + OnRenderImage(source as RenderTexture, destination); + return; + } + + RenderTexture rt = RenderTexture.GetTemporary(source.width, source.height); + Graphics.Blit(source, rt); + OnRenderImage(rt, destination); + RenderTexture.ReleaseTemporary(rt); + } + + protected virtual void OnRenderImage(RenderTexture source, RenderTexture destination) { } + } +} diff --git a/Assets/Colorful FX/Scripts/BaseEffect.cs.meta b/Assets/Colorful FX/Scripts/BaseEffect.cs.meta new file mode 100644 index 0000000..2960b20 --- /dev/null +++ b/Assets/Colorful FX/Scripts/BaseEffect.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 997a825680d21d54eb1ffce25408c0a0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/CLib.cs b/Assets/Colorful FX/Scripts/CLib.cs new file mode 100644 index 0000000..16fd679 --- /dev/null +++ b/Assets/Colorful FX/Scripts/CLib.cs @@ -0,0 +1,29 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + public static class CLib + { + public const float PI_2 = Mathf.PI / 2f; + public const float PI2 = Mathf.PI * 2f; + + public static float Frac(float f) + { + return f - Mathf.Floor(f); + } + + public static bool IsLinearColorSpace() + { + return QualitySettings.activeColorSpace == ColorSpace.Linear; + } + + public static bool Approximately(float source, float about, float range = 0.0001f) + { + return ((Mathf.Abs(source - about) < range)); + } + } +} diff --git a/Assets/Colorful FX/Scripts/CLib.cs.meta b/Assets/Colorful FX/Scripts/CLib.cs.meta new file mode 100644 index 0000000..77a7696 --- /dev/null +++ b/Assets/Colorful FX/Scripts/CLib.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: f2ebd99fc8544fe42831227b5284df50 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects.meta b/Assets/Colorful FX/Scripts/Effects.meta new file mode 100644 index 0000000..b3a82fd --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2dd0fb02180991b43b338b98cf8a1d97 +folderAsset: yes +timeCreated: 1466165647 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/AnalogTV.cs b/Assets/Colorful FX/Scripts/Effects/AnalogTV.cs new file mode 100644 index 0000000..affc10d --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/AnalogTV.cs @@ -0,0 +1,70 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/analog-tv.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Analog TV")] + public class AnalogTV : BaseEffect + { + [Tooltip("Automatically animate the Phase value.")] + public bool AutomaticPhase = true; + + [Tooltip("Current noise phase. Consider this a seed value.")] + public float Phase = 0.5f; + + [Tooltip("Convert the original render to black & white.")] + public bool ConvertToGrayscale = false; + + [Range(0f, 1f), Tooltip("Noise brightness. Will impact the scanlines visibility.")] + public float NoiseIntensity = 0.5f; + + [Range(0f, 10f), Tooltip("Scanline brightness. Depends on the NoiseIntensity value.")] + public float ScanlinesIntensity = 2f; + + [Range(0, 4096), Tooltip("The number of scanlines to draw.")] + public int ScanlinesCount = 768; + + [Tooltip("Scanline offset. Gives a cool screen scanning effect when animated.")] + public float ScanlinesOffset = 0f; + + [Tooltip("Uses vertical scanlines.")] + public bool VerticalScanlines = false; + + [Range(-2f, 2f), Tooltip("Spherical distortion factor.")] + public float Distortion = 0.2f; + + [Range(-2f, 2f), Tooltip("Cubic distortion factor.")] + public float CubicDistortion = 0.6f; + + [Range(0.01f, 2f), Tooltip("Helps avoid screen streching on borders when working with heavy distortions.")] + public float Scale = 0.8f; + + protected virtual void Update() + { + if (AutomaticPhase) + { + // Reset the Phase after a while, some GPUs don't like big numbers + if (Phase > 1000f) + Phase = 10f; + + Phase += Time.deltaTime * 0.25f; + } + } + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Params1", new Vector4(NoiseIntensity, ScanlinesIntensity, ScanlinesCount, ScanlinesOffset)); + Material.SetVector("_Params2", new Vector4(Phase, Distortion, CubicDistortion, Scale)); + + int pass = VerticalScanlines ? 2 : 0; + pass += ConvertToGrayscale ? 1 : 0; + + Graphics.Blit(source, destination, Material, pass); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/AnalogTV.cs.meta b/Assets/Colorful FX/Scripts/Effects/AnalogTV.cs.meta new file mode 100644 index 0000000..e81e4e4 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/AnalogTV.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 249169bbea0dd51478b14718e62f7e54 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 6b426a8c366d0584dadb551db862ddeb, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/BilateralGaussianBlur.cs b/Assets/Colorful FX/Scripts/Effects/BilateralGaussianBlur.cs new file mode 100644 index 0000000..c5a57b4 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/BilateralGaussianBlur.cs @@ -0,0 +1,99 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/blur-effects/bilateral-gaussian-blur.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Blur Effects/Bilateral Gaussian Blur")] + public class BilateralGaussianBlur : BaseEffect + { + [Range(0, 10), Tooltip("Add more passes to get a smoother blur. Beware that each pass will slow down the effect.")] + public int Passes = 1; + + [Range(0.04f, 1f), Tooltip("Adjusts the blur \"sharpness\" around edges")] + public float Threshold = 0.05f; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void Start() + { + base.Start(); + GetComponent().depthTextureMode |= DepthTextureMode.Depth; + } + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetFloat("_Threshold", Threshold / 10000f); + + if (Passes == 0 || Amount == 0f) + { + Graphics.Blit(source, destination); + } + else if (Amount < 1f) + { + RenderTexture rt = RenderTexture.GetTemporary(source.width, source.height); + + if (Passes == 1) + OnePassBlur(source, rt); + else + MultiPassBlur(source, rt); + + Material.SetTexture("_Blurred", rt); + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material, 1); + + RenderTexture.ReleaseTemporary(rt); + } + else + { + if (Passes == 1) + OnePassBlur(source, destination); + else + MultiPassBlur(source, destination); + } + } + + protected virtual void OnePassBlur(RenderTexture source, RenderTexture destination) + { + RenderTexture rt = RenderTexture.GetTemporary(source.width, source.height, 0, source.format); + + Material.SetVector("_Direction", new Vector2(1f / (float)source.width, 0f)); + Graphics.Blit(source, rt, Material, 0); + Material.SetVector("_Direction", new Vector2(0f, 1f / (float)source.height)); + Graphics.Blit(rt, destination, Material, 0); + + RenderTexture.ReleaseTemporary(rt); + } + + protected virtual void MultiPassBlur(RenderTexture source, RenderTexture destination) + { + Vector2 horizontal = new Vector2(1f / (float)source.width, 0f); + Vector2 vertical = new Vector2(0f, 1f / (float)source.height); + RenderTexture rt1 = RenderTexture.GetTemporary(source.width, source.height, 0, source.format); + RenderTexture rt2 = RenderTexture.GetTemporary(source.width, source.height, 0, source.format); + + Material.SetVector("_Direction", horizontal); + Graphics.Blit(source, rt1, Material, 0); + Material.SetVector("_Direction", vertical); + Graphics.Blit(rt1, rt2, Material, 0); + + for (int i = 1; i < Passes; i++) + { + Material.SetVector("_Direction", horizontal); + Graphics.Blit(rt2, rt1, Material, 0); + Material.SetVector("_Direction", vertical); + Graphics.Blit(rt1, rt2, Material, 0); + } + + Graphics.Blit(rt2, destination); + + RenderTexture.ReleaseTemporary(rt1); + RenderTexture.ReleaseTemporary(rt2); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/BilateralGaussianBlur.cs.meta b/Assets/Colorful FX/Scripts/Effects/BilateralGaussianBlur.cs.meta new file mode 100644 index 0000000..f522988 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/BilateralGaussianBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6c308c66c5ca62241854d5e9441dff12 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: a8686488660cc994aa7b3197735727dc, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/BleachBypass.cs b/Assets/Colorful FX/Scripts/Effects/BleachBypass.cs new file mode 100644 index 0000000..09fe902 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/BleachBypass.cs @@ -0,0 +1,29 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/bleach-bypass.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Bleach Bypass")] + public class BleachBypass : BaseEffect + { + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/BleachBypass.cs.meta b/Assets/Colorful FX/Scripts/Effects/BleachBypass.cs.meta new file mode 100644 index 0000000..758723c --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/BleachBypass.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 375ca57461b42344c864b4420165e81c +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: db51fb80780ef714492de6fd9a5b3748, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Blend.cs b/Assets/Colorful FX/Scripts/Effects/Blend.cs new file mode 100644 index 0000000..2952262 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Blend.cs @@ -0,0 +1,64 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/other-effects/blend.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Other Effects/Blend")] + public class Blend : BaseEffect + { + public enum BlendingMode + { + Darken = 0, + Multiply = 1, + ColorBurn = 2, + LinearBurn = 3, + DarkerColor = 4, + + Lighten = 6, + Screen = 7, + ColorDodge = 8, + LinearDodge = 9, + LighterColor = 10, + + Overlay = 12, + SoftLight = 13, + HardLight = 14, + VividLight = 15, + LinearLight = 16, + PinLight = 17, + HardMix = 18, + + Difference = 20, + Exclusion = 21, + Subtract = 22, + Divide = 23 + } + + [Tooltip("The Texture2D, RenderTexture or MovieTexture to blend.")] + public Texture Texture; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + [Tooltip("Blending mode.")] + public BlendingMode Mode = 0; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Texture == null || Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetTexture("_OverlayTex", Texture); + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material, (int)Mode); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Blend.cs.meta b/Assets/Colorful FX/Scripts/Effects/Blend.cs.meta new file mode 100644 index 0000000..e33e97f --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Blend.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a03bbd8dae5544449a4aa2f932421675 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 753c5a4449b3c184b85015dea8325051, type: 3} + - texture: {instanceID: 0} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/BrightnessContrastGamma.cs b/Assets/Colorful FX/Scripts/Effects/BrightnessContrastGamma.cs new file mode 100644 index 0000000..429e8e4 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/BrightnessContrastGamma.cs @@ -0,0 +1,38 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/brightness-contrast-gamma.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Brightness, Contrast, Gamma")] + public class BrightnessContrastGamma : BaseEffect + { + [Range(-100f, 100f), Tooltip("Moving the slider to the right increases tonal values and expands highlights, to the left decreases values and expands shadows.")] + public float Brightness = 0f; + + [Range(-100f, 100f), Tooltip("Expands or shrinks the overall range of tonal values.")] + public float Contrast = 0f; + + public Vector3 ContrastCoeff = new Vector3(0.5f, 0.5f, 0.5f); + + [Range(0.1f, 9.9f), Tooltip("Simple power function.")] + public float Gamma = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Brightness == 0f && Contrast == 0f && Gamma == 1f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetVector("_BCG", new Vector4((Brightness + 100f) * 0.01f, (Contrast + 100f) * 0.01f, 1.0f / Gamma)); + Material.SetVector("_Coeffs", ContrastCoeff); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/BrightnessContrastGamma.cs.meta b/Assets/Colorful FX/Scripts/Effects/BrightnessContrastGamma.cs.meta new file mode 100644 index 0000000..6d0f3b7 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/BrightnessContrastGamma.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 218001df9f0f08c44bdc15b86cfab74d +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: c1ffdcaa7728ced4fa68c999e5e7f2de, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/ChannelClamper.cs b/Assets/Colorful FX/Scripts/Effects/ChannelClamper.cs new file mode 100644 index 0000000..62c3446 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ChannelClamper.cs @@ -0,0 +1,26 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/channel-clamper.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Channel Clamper")] + public class ChannelClamper : BaseEffect + { + public Vector2 Red = new Vector2(0f, 1f); + public Vector2 Green = new Vector2(0f, 1f); + public Vector2 Blue = new Vector2(0f, 1f); + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_RedClamp", Red); + Material.SetVector("_GreenClamp", Green); + Material.SetVector("_BlueClamp", Blue); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/ChannelClamper.cs.meta b/Assets/Colorful FX/Scripts/Effects/ChannelClamper.cs.meta new file mode 100644 index 0000000..c09d492 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ChannelClamper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4bbedf175159cd246abc66482e52791d +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: a4066b90a1d8ac540b9994745a496312, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/ChannelMixer.cs b/Assets/Colorful FX/Scripts/Effects/ChannelMixer.cs new file mode 100644 index 0000000..3763314 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ChannelMixer.cs @@ -0,0 +1,33 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/channel-mixer.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Channel Mixer")] + public class ChannelMixer : BaseEffect + { + public Vector3 Red = new Vector3(100f, 0f, 0f); + public Vector3 Green = new Vector3(0f, 100f, 0f); + public Vector3 Blue = new Vector3(0f, 0f, 100f); + public Vector3 Constant = new Vector3(0f, 0f, 0f); + +#if UNITY_EDITOR + public int e_CurrentChannel = 0; +#endif + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Red", new Vector4(Red.x * 0.01f, Green.x * 0.01f, Blue.x * 0.01f)); + Material.SetVector("_Green", new Vector4(Red.y * 0.01f, Green.y * 0.01f, Blue.y * 0.01f)); + Material.SetVector("_Blue", new Vector4(Red.z * 0.01f, Green.z * 0.01f, Blue.z * 0.01f)); + Material.SetVector("_Constant", new Vector4(Constant.x * 0.01f, Constant.y * 0.01f, Constant.z * 0.01f)); + + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/ChannelMixer.cs.meta b/Assets/Colorful FX/Scripts/Effects/ChannelMixer.cs.meta new file mode 100644 index 0000000..2d870d1 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ChannelMixer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 44002857159cfa64fab24b6ec32b80de +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: d5203c49c0e949f4e9b53909003b6b8f, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/ChannelSwapper.cs b/Assets/Colorful FX/Scripts/Effects/ChannelSwapper.cs new file mode 100644 index 0000000..6f948aa --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ChannelSwapper.cs @@ -0,0 +1,45 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/channel-swapper.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Channel Swapper")] + public class ChannelSwapper : BaseEffect + { + public enum Channel + { + Red, + Green, + Blue + } + + [Tooltip("Source channel to use for the output red channel.")] + public Channel RedSource = Channel.Red; + + [Tooltip("Source channel to use for the output green channel.")] + public Channel GreenSource = Channel.Green; + + [Tooltip("Source channel to use for the output blue channel.")] + public Channel BlueSource = Channel.Blue; + + static Vector4[] m_Channels = new Vector4[] + { + new Vector4(1f, 0f, 0f, 0f), + new Vector4(0f, 1f, 0f, 0f), + new Vector4(0f, 0f, 1f, 0f) + }; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Red", m_Channels[(int)RedSource]); + Material.SetVector("_Green", m_Channels[(int)GreenSource]); + Material.SetVector("_Blue", m_Channels[(int)BlueSource]); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/ChannelSwapper.cs.meta b/Assets/Colorful FX/Scripts/Effects/ChannelSwapper.cs.meta new file mode 100644 index 0000000..3839378 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ChannelSwapper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 31469d7a9ef2ef04c9db920f12918f7d +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 382b6d6c7bf6b3b49b364517c68bb0d2, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/ChromaticAberration.cs b/Assets/Colorful FX/Scripts/Effects/ChromaticAberration.cs new file mode 100644 index 0000000..b47013a --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ChromaticAberration.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/chromatic-aberration.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Chromatic Aberration")] + public class ChromaticAberration : BaseEffect + { + [Range(0.9f, 1.1f), Tooltip("Indice of refraction for the red channel.")] + public float RedRefraction = 1.0f; + + [Range(0.9f, 1.1f), Tooltip("Indice of refraction for the green channel.")] + public float GreenRefraction = 1.005f; + + [Range(0.9f, 1.1f), Tooltip("Indice of refraction for the blue channel.")] + public float BlueRefraction = 1.01f; + + [Tooltip("Enable this option if you need the effect to keep the alpha channel from the original render (some effects like Glow will need it). Disable it otherwise for better performances.")] + public bool PreserveAlpha = false; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Refraction", new Vector3(RedRefraction, GreenRefraction, BlueRefraction)); + Graphics.Blit(source, destination, Material, PreserveAlpha ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/ChromaticAberration.cs.meta b/Assets/Colorful FX/Scripts/Effects/ChromaticAberration.cs.meta new file mode 100644 index 0000000..d6bb64f --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ChromaticAberration.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ca037f4bdb3f772408f958bc6cd2b647 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 447e63f892fae1d49b961d2132c02b5a, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/ComicBook.cs b/Assets/Colorful FX/Scripts/Effects/ComicBook.cs new file mode 100644 index 0000000..887d631 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ComicBook.cs @@ -0,0 +1,71 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/artistic-effects/comic-book.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Artistic Effects/Comic Book")] + public class ComicBook : BaseEffect + { + [Tooltip("Strip orientation in radians.")] + public float StripAngle = 0.6f; + + [Min(0f), Tooltip("Amount of strips to draw.")] + public float StripDensity = 180f; + + [Range(0f, 1f), Tooltip("Thickness of the inner strip fill.")] + public float StripThickness = 0.5f; + + public Vector2 StripLimits = new Vector2(0.25f, 0.4f); + + [ColorUsage(false)] + public Color StripInnerColor = new Color(0.3f, 0.3f, 0.3f); + + [ColorUsage(false)] + public Color StripOuterColor = new Color(0.8f, 0.8f, 0.8f); + + [ColorUsage(false)] + public Color FillColor = new Color(0.1f, 0.1f, 0.1f); + + [ColorUsage(false)] + public Color BackgroundColor = Color.white; + + [Tooltip("Toggle edge detection (slower).")] + public bool EdgeDetection = false; + + [Min(0.01f), Tooltip("Edge detection threshold. Use lower values for more visible edges.")] + public float EdgeThreshold = 5f; + + [ColorUsage(false)] + public Color EdgeColor = Color.black; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_StripParams", new Vector4(Mathf.Cos(StripAngle), Mathf.Sin(StripAngle), StripLimits.x, StripLimits.y)); + Material.SetVector("_StripParams2", new Vector3(StripDensity * 10f, StripThickness, Amount)); + Material.SetColor("_StripInnerColor", StripInnerColor); + Material.SetColor("_StripOuterColor", StripOuterColor); + + Material.SetColor("_FillColor", FillColor); + Material.SetColor("_BackgroundColor", BackgroundColor); + + if (EdgeDetection) + { + Material.SetFloat("_EdgeThreshold", 1f / (EdgeThreshold * 100f)); + Material.SetColor("_EdgeColor", EdgeColor); + Graphics.Blit(source, destination, Material, 1); + } + else + { + Graphics.Blit(source, destination, Material, 0); + } + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/ComicBook.cs.meta b/Assets/Colorful FX/Scripts/Effects/ComicBook.cs.meta new file mode 100644 index 0000000..36b0aa2 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ComicBook.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 71f5e50fe4501bb4eb59bd2aabac07f6 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 589797c62ca68254ea3643767841da50, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/ContrastGain.cs b/Assets/Colorful FX/Scripts/Effects/ContrastGain.cs new file mode 100644 index 0000000..cd1b614 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ContrastGain.cs @@ -0,0 +1,23 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/contrast-gain.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Contrast Gain")] + public class ContrastGain : BaseEffect + { + [Range(0.001f, 2f), Tooltip("Steepness of the contrast curve. 1 is linear, no contrast change.")] + public float Gain = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetFloat("_Gain", Gain); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/ContrastGain.cs.meta b/Assets/Colorful FX/Scripts/Effects/ContrastGain.cs.meta new file mode 100644 index 0000000..f74f38b --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ContrastGain.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 811f2f6e1a790e74d9dc90e4602b78df +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 3973b60005a6730458dd6590aa15584e, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/ContrastVignette.cs b/Assets/Colorful FX/Scripts/Effects/ContrastVignette.cs new file mode 100644 index 0000000..9bb0abc --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ContrastVignette.cs @@ -0,0 +1,39 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/contrast-vignette.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Contrast Vignette")] + public class ContrastVignette : BaseEffect + { + [Tooltip("Center point.")] + public Vector2 Center = new Vector2(0.5f, 0.5f); + + [Range(-100f, 100f), Tooltip("Smoothness of the vignette effect.")] + public float Sharpness = 32f; + + [Range(0f, 100f), Tooltip("Amount of vignetting on screen.")] + public float Darkness = 28f; + + [Range(0f, 200f), Tooltip("Expands or shrinks the overall range of tonal values in the vignette area.")] + public float Contrast = 20.0f; + + public Vector3 ContrastCoeff = new Vector3(0.5f, 0.5f, 0.5f); + + [Range(0f, 200f), Tooltip("Blends the contrast change toward the edges of the vignette effect.")] + public float EdgeBlending = 0f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Params", new Vector4(Sharpness * 0.01f, Darkness * 0.02f, Contrast * 0.01f, EdgeBlending * 0.01f)); + Material.SetVector("_Coeffs", ContrastCoeff); + Material.SetVector("_Center", Center); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/ContrastVignette.cs.meta b/Assets/Colorful FX/Scripts/Effects/ContrastVignette.cs.meta new file mode 100644 index 0000000..628f0da --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ContrastVignette.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d71ed1522687af44190ab88a913a3c74 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 76dfe25966c72ac4e9fcea7968814159, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Convolution3x3.cs b/Assets/Colorful FX/Scripts/Effects/Convolution3x3.cs new file mode 100644 index 0000000..5b245ec --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Convolution3x3.cs @@ -0,0 +1,40 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/other-effects/convolution-3x3.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Other Effects/Convolution Matrix 3x3")] + public class Convolution3x3 : BaseEffect + { + public Vector3 KernelTop = Vector3.zero; + public Vector3 KernelMiddle = Vector3.up; + public Vector3 KernelBottom = Vector3.zero; + + [Tooltip("Used to normalize the kernel.")] + public float Divisor = 1f; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetVector("_PSize", new Vector2(1f / (float)source.width, 1f / (float)source.height)); + Material.SetVector("_KernelT", KernelTop / Divisor); + Material.SetVector("_KernelM", KernelMiddle / Divisor); + Material.SetVector("_KernelB", KernelBottom / Divisor); + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Convolution3x3.cs.meta b/Assets/Colorful FX/Scripts/Effects/Convolution3x3.cs.meta new file mode 100644 index 0000000..8efe7ee --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Convolution3x3.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7245cf61e1ed2bc49bd3ec8ef6f299ad +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: bb1bf93f638bf2145a1a3aff22f7ebf8, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/CrossStitch.cs b/Assets/Colorful FX/Scripts/Effects/CrossStitch.cs new file mode 100644 index 0000000..65da69d --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/CrossStitch.cs @@ -0,0 +1,43 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/artistic-effects/cross-stitch.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Artistic Effects/Cross Stitch")] + public class CrossStitch : BaseEffect + { + [Range(1, 128), Tooltip("Works best with power of two values.")] + public int Size = 8; + + [Range(0f, 10f), Tooltip("Brightness adjustment. Cross-stitching tends to lower the overall brightness, use this to compensate.")] + public float Brightness = 1.5f; + + [Tooltip("Inverts the cross-stiching pattern.")] + public bool Invert = false; + + [Tooltip("Should the original render be pixelized ?")] + public bool Pixelize = true; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetInt("_StitchSize", Size); + Material.SetFloat("_Brightness", Brightness); + + int pass = Invert ? 1 : 0; + + if (Pixelize) + { + pass += 2; + Material.SetFloat("_Scale", (float)source.width / (float)Size); + Material.SetFloat("_Ratio", (float)source.width / (float)source.height); + } + + Graphics.Blit(source, destination, Material, pass); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/CrossStitch.cs.meta b/Assets/Colorful FX/Scripts/Effects/CrossStitch.cs.meta new file mode 100644 index 0000000..49af8da --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/CrossStitch.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 86b15e716a293ba448fc678484e34faa +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: a964a19ae7fdffc4ea70dbf094568dc1, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/DirectionalBlur.cs b/Assets/Colorful FX/Scripts/Effects/DirectionalBlur.cs new file mode 100644 index 0000000..3177dd0 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/DirectionalBlur.cs @@ -0,0 +1,43 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/blur-effects/directional-blur.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Blur Effects/Directional Blur")] + public class DirectionalBlur : BaseEffect + { + public enum QualityPreset + { + Low = 2, + Medium = 4, + High = 6, + Custom + } + + [Tooltip("Quality preset. Higher means better quality but slower processing.")] + public QualityPreset Quality = QualityPreset.Medium; + + [Range(1, 16), Tooltip("Sample count. Higher means better quality but slower processing.")] + public int Samples = 5; + + [Range(0f, 5f), Tooltip("Blur strength (distance).")] + public float Strength = 1f; + + [Tooltip("Blur direction in radians.")] + public float Angle = 0f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + int samples = Quality == QualityPreset.Custom ? Samples : (int)Quality; + float s = (Mathf.Sin(Angle) * Strength * 0.05f) / samples; + float c = (Mathf.Cos(Angle) * Strength * 0.05f) / samples; + Material.SetVector("_Params", new Vector3(s, c, samples)); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/DirectionalBlur.cs.meta b/Assets/Colorful FX/Scripts/Effects/DirectionalBlur.cs.meta new file mode 100644 index 0000000..edb3602 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/DirectionalBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8dfafee99a682d340a337ad7faac2c2c +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 335958bbdc44f564894a29445833afae, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Dithering.cs b/Assets/Colorful FX/Scripts/Effects/Dithering.cs new file mode 100644 index 0000000..ecc7858 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Dithering.cs @@ -0,0 +1,55 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/artistic-effects/dithering.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Artistic Effects/Dithering")] + public class Dithering : BaseEffect + { + [Tooltip("Show the original picture under the dithering pass.")] + public bool ShowOriginal = false; + + [Tooltip("Convert the original render to black & white.")] + public bool ConvertToGrayscale = false; + + [Range(0f, 1f), Tooltip("Amount of red to contribute to the luminosity.")] + public float RedLuminance = 0.299f; + + [Range(0f, 1f), Tooltip("Amount of green to contribute to the luminosity.")] + public float GreenLuminance = 0.587f; + + [Range(0f, 1f), Tooltip("Amount of blue to contribute to the luminosity.")] + public float BlueLuminance = 0.114f; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected Texture2D m_DitherPattern; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + if (m_DitherPattern == null) + m_DitherPattern = Resources.Load("Misc/DitherPattern"); + + Material.SetTexture("_Pattern", m_DitherPattern); + Material.SetVector("_Params", new Vector4(RedLuminance, GreenLuminance, BlueLuminance, Amount)); + + int pass = ShowOriginal ? 4 : 0; + pass += ConvertToGrayscale ? 2 : 0; + pass += CLib.IsLinearColorSpace() ? 1 : 0; + + Graphics.Blit(source, destination, Material, pass); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Dithering.cs.meta b/Assets/Colorful FX/Scripts/Effects/Dithering.cs.meta new file mode 100644 index 0000000..13e79ff --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Dithering.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1fbea93e4d9974b409e25836a5c8f679 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 6eafe2a67b46d474095df68b1396a86e, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/DoubleVision.cs b/Assets/Colorful FX/Scripts/Effects/DoubleVision.cs new file mode 100644 index 0000000..9a898cf --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/DoubleVision.cs @@ -0,0 +1,33 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/double-vision.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Double Vision")] + public class DoubleVision : BaseEffect + { + [Tooltip("Diploplia strength.")] + public Vector2 Displace = new Vector2(0.7f, 0.0f); + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1.0f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Amount <= 0f || Displace == Vector2.zero) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetVector("_Displace", new Vector2(Displace.x / (float)source.width, Displace.y / (float)source.height)); + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/DoubleVision.cs.meta b/Assets/Colorful FX/Scripts/Effects/DoubleVision.cs.meta new file mode 100644 index 0000000..8da97ce --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/DoubleVision.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 48defb31b546e8e49bd5568d4765bfb0 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 0094bbb9058b55a4bb1874ccd072b33e, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/DynamicLookup.cs b/Assets/Colorful FX/Scripts/Effects/DynamicLookup.cs new file mode 100644 index 0000000..50b37f4 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/DynamicLookup.cs @@ -0,0 +1,55 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/dynamic-lookup.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Dynamic Lookup")] + public class DynamicLookup : BaseEffect + { + [ColorUsage(false)] + public Color White = new Color(1f, 1f, 1f); + + [ColorUsage(false)] + public Color Black = new Color(0f, 0f, 0f); + + [ColorUsage(false)] + public Color Red = new Color(1f, 0f, 0f); + + [ColorUsage(false)] + public Color Green = new Color(0f, 1f, 0f); + + [ColorUsage(false)] + public Color Blue = new Color(0f, 0f, 1f); + + [ColorUsage(false)] + public Color Yellow = new Color(1f, 1f, 0f); + + [ColorUsage(false)] + public Color Magenta = new Color(1f, 0f, 1f); + + [ColorUsage(false)] + public Color Cyan = new Color(0f, 1f, 1f); + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetColor("_White", White); + Material.SetColor("_Black", Black); + Material.SetColor("_Red", Red); + Material.SetColor("_Green", Green); + Material.SetColor("_Blue", Blue); + Material.SetColor("_Yellow", Yellow); + Material.SetColor("_Magenta", Magenta); + Material.SetColor("_Cyan", Cyan); + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material, CLib.IsLinearColorSpace() ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/DynamicLookup.cs.meta b/Assets/Colorful FX/Scripts/Effects/DynamicLookup.cs.meta new file mode 100644 index 0000000..c2ffc0b --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/DynamicLookup.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a8feeb07303302b49be4c3647f055b67 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: ea36d91a0b99bd240ac1a3f17bac241b, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/FastVignette.cs b/Assets/Colorful FX/Scripts/Effects/FastVignette.cs new file mode 100644 index 0000000..a2f8a43 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/FastVignette.cs @@ -0,0 +1,43 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/fast-vignette.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Fast Vignette")] + public class FastVignette : BaseEffect + { + public enum ColorMode + { + Classic, + Desaturate, + Colored + } + + [Tooltip("Vignette type.")] + public ColorMode Mode = ColorMode.Classic; + + [ColorUsage(false), Tooltip("The color to use in the vignette area.")] + public Color Color = Color.red; + + [Tooltip("Center point.")] + public Vector2 Center = new Vector2(0.5f, 0.5f); + + [Range(-100f, 100f), Tooltip("Smoothness of the vignette effect.")] + public float Sharpness = 10f; + + [Range(0f, 100f), Tooltip("Amount of vignetting on screen.")] + public float Darkness = 30f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Params", new Vector4(Center.x, Center.y, Sharpness * 0.01f, Darkness * 0.02f)); + Material.SetColor("_Color", Color); + Graphics.Blit(source, destination, Material, (int)Mode); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/FastVignette.cs.meta b/Assets/Colorful FX/Scripts/Effects/FastVignette.cs.meta new file mode 100644 index 0000000..c6b7b52 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/FastVignette.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bade397de0db6634686b451e10dc2edc +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 1025d512948837641802921c41526fd1, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Frost.cs b/Assets/Colorful FX/Scripts/Effects/Frost.cs new file mode 100644 index 0000000..85cfd89 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Frost.cs @@ -0,0 +1,45 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/frost.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Frost")] + public class Frost : BaseEffect + { + [Range(0f, 16f), Tooltip("Frosting strength.")] + public float Scale = 1.2f; + + [Range(-100f, 100f), Tooltip("Smoothness of the vignette effect.")] + public float Sharpness = 40f; + + [Range(0f, 100f), Tooltip("Amount of vignetting on screen.")] + public float Darkness = 35f; + + [Tooltip("Should the effect be applied like a vignette ?")] + public bool EnableVignette = true; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Scale <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetFloat("_Scale", Scale); + + if (EnableVignette) + { + Material.SetFloat("_Sharpness", Sharpness * 0.01f); + Material.SetFloat("_Darkness", Darkness * 0.02f); + } + + Graphics.Blit(source, destination, Material, EnableVignette ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Frost.cs.meta b/Assets/Colorful FX/Scripts/Effects/Frost.cs.meta new file mode 100644 index 0000000..a5cb612 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Frost.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2cf6863e426bf6f41be29f5e4a31ccfb +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: b4d2d40f74bc7724f9722f04d5f7113b, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/GaussianBlur.cs b/Assets/Colorful FX/Scripts/Effects/GaussianBlur.cs new file mode 100644 index 0000000..88d937f --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/GaussianBlur.cs @@ -0,0 +1,95 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/blur-effects/gaussian-blur.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Blur Effects/Gaussian Blur")] + public class GaussianBlur : BaseEffect + { + [Range(0, 10), Tooltip("Amount of blurring pass to apply.")] + public int Passes = 1; + + [Range(1f, 16f), Tooltip("Downscales the result for faster processing or heavier blur.")] + public float Downscaling = 1; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Passes == 0 || Amount == 0f) + { + Graphics.Blit(source, destination); + } + else if (Amount < 1f) + { + RenderTexture rt = RenderTexture.GetTemporary(source.width, source.height); + + if (Passes == 1) + OnePassBlur(source, rt); + else + MultiPassBlur(source, rt); + + Material.SetTexture("_Blurred", rt); + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material, 1); + + RenderTexture.ReleaseTemporary(rt); + } + else + { + if (Passes == 1) + OnePassBlur(source, destination); + else + MultiPassBlur(source, destination); + } + } + + protected virtual void OnePassBlur(RenderTexture source, RenderTexture destination) + { + int w = Mathf.FloorToInt((float)source.width / Downscaling); + int h = Mathf.FloorToInt((float)source.height / Downscaling); + RenderTexture rt = RenderTexture.GetTemporary(w, h, 0, source.format); + + Material.SetVector("_Direction", new Vector2(1f / w, 0f)); + Graphics.Blit(source, rt, Material, 0); + Material.SetVector("_Direction", new Vector2(0f, 1f / h)); + Graphics.Blit(rt, destination, Material, 0); + + RenderTexture.ReleaseTemporary(rt); + } + + protected virtual void MultiPassBlur(RenderTexture source, RenderTexture destination) + { + int w = Mathf.FloorToInt((float)source.width / Downscaling); + int h = Mathf.FloorToInt((float)source.height / Downscaling); + Vector2 horizontal = new Vector2(1f / w, 0f); + Vector2 vertical = new Vector2(0f, 1f / h); + RenderTexture rt1 = RenderTexture.GetTemporary(w, h, 0, source.format); + RenderTexture rt2 = RenderTexture.GetTemporary(w, h, 0, source.format); + + Material.SetVector("_Direction", horizontal); + Graphics.Blit(source, rt1, Material, 0); + Material.SetVector("_Direction", vertical); + Graphics.Blit(rt1, rt2, Material, 0); + + for (int i = 1; i < Passes; i++) + { + Material.SetVector("_Direction", horizontal); + Graphics.Blit(rt2, rt1, Material, 0); + Material.SetVector("_Direction", vertical); + Graphics.Blit(rt1, rt2, Material, 0); + } + + Graphics.Blit(rt2, destination); + + RenderTexture.ReleaseTemporary(rt1); + RenderTexture.ReleaseTemporary(rt2); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/GaussianBlur.cs.meta b/Assets/Colorful FX/Scripts/Effects/GaussianBlur.cs.meta new file mode 100644 index 0000000..1d33fc7 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/GaussianBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a15c2b7bc763522479d7f0bd449970e4 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: f64972907dbc92b41bc72d3f358eb642, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Glitch.cs b/Assets/Colorful FX/Scripts/Effects/Glitch.cs new file mode 100644 index 0000000..d4e5e87 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Glitch.cs @@ -0,0 +1,150 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + using System; + using Random = UnityEngine.Random; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/glitch.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Glitch")] + public class Glitch : BaseEffect + { + public enum GlitchingMode + { + Interferences, + Tearing, + Complete + } + + [Serializable] + public class InterferenceSettings + { + public float Speed = 10f; + public float Density = 8f; + public float MaxDisplacement = 2f; + } + + [Serializable] + public class TearingSettings + { + public float Speed = 1f; + + [Range(0f, 1f)] + public float Intensity = 0.25f; + + [Range(0f, 0.5f)] + public float MaxDisplacement = 0.05f; + + public bool AllowFlipping = false; + public bool YuvColorBleeding = true; + + [Range(-2f, 2f)] + public float YuvOffset = 0.5f; + } + + [Tooltip("Automatically activate/deactivate the effect randomly.")] + public bool RandomActivation = false; + + public Vector2 RandomEvery = new Vector2(1f, 2f); + public Vector2 RandomDuration = new Vector2(1f, 2f); + + [Tooltip("Glitch type.")] + public GlitchingMode Mode = GlitchingMode.Interferences; + + public InterferenceSettings SettingsInterferences; + public TearingSettings SettingsTearing; + + protected bool m_Activated = true; + protected float m_EveryTimer = 0f; + protected float m_EveryTimerEnd = 0f; + protected float m_DurationTimer = 0f; + protected float m_DurationTimerEnd = 0f; + + public bool IsActive + { + get { return m_Activated; } + } + + protected override void Start() + { + base.Start(); + m_DurationTimerEnd = Random.Range(RandomDuration.x, RandomDuration.y); + } + + protected virtual void Update() + { + if (!RandomActivation) + return; + + if (m_Activated) + { + m_DurationTimer += Time.deltaTime; + + if (m_DurationTimer >= m_DurationTimerEnd) + { + m_DurationTimer = 0f; + m_Activated = false; + m_EveryTimerEnd = Random.Range(RandomEvery.x, RandomEvery.y); + } + } + else + { + m_EveryTimer += Time.deltaTime; + + if (m_EveryTimer >= m_EveryTimerEnd) + { + m_EveryTimer = 0f; + m_Activated = true; + m_DurationTimerEnd = Random.Range(RandomDuration.x, RandomDuration.y); + } + } + } + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (!m_Activated) + { + Graphics.Blit(source, destination); + return; + } + + if (Mode == GlitchingMode.Interferences) + { + DoInterferences(source, destination, SettingsInterferences); + } + else if (Mode == GlitchingMode.Tearing) + { + DoTearing(source, destination, SettingsTearing); + } + else // Complete + { + RenderTexture temp = RenderTexture.GetTemporary(source.width, source.width, 0, RenderTextureFormat.ARGB32); + DoTearing(source, temp, SettingsTearing); + DoInterferences(temp, destination, SettingsInterferences); + temp.Release(); + } + } + + protected virtual void DoInterferences(RenderTexture source, RenderTexture destination, InterferenceSettings settings) + { + Material.SetVector("_Params", new Vector3(settings.Speed, settings.Density, settings.MaxDisplacement)); + Graphics.Blit(source, destination, Material, 0); + } + + protected virtual void DoTearing(RenderTexture source, RenderTexture destination, TearingSettings settings) + { + Material.SetVector("_Params", new Vector4(settings.Speed, settings.Intensity, settings.MaxDisplacement, settings.YuvOffset)); + + int pass = 1; + if (settings.AllowFlipping && settings.YuvColorBleeding) pass = 4; + else if (settings.AllowFlipping) pass = 2; + else if (settings.YuvColorBleeding) pass = 3; + + Graphics.Blit(source, destination, Material, pass); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Glitch.cs.meta b/Assets/Colorful FX/Scripts/Effects/Glitch.cs.meta new file mode 100644 index 0000000..5a5558d --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Glitch.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f6e75ef5ee858bd4bab281c187d027f7 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: aa077ae19c4093844b27e3a70f542644, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/GradientRamp.cs b/Assets/Colorful FX/Scripts/Effects/GradientRamp.cs new file mode 100644 index 0000000..3bf1ef3 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/GradientRamp.cs @@ -0,0 +1,33 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/gradient-ramp.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Gradient Ramp")] + public class GradientRamp : BaseEffect + { + [Tooltip("Texture used to remap the pixels luminosity.")] + public Texture RampTexture; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (RampTexture == null || Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetTexture("_RampTex", RampTexture); + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/GradientRamp.cs.meta b/Assets/Colorful FX/Scripts/Effects/GradientRamp.cs.meta new file mode 100644 index 0000000..08d9eaf --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/GradientRamp.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: eda76088a8e07c049bdeca7130ed039e +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: c291a5524ced7fb47af87992cd9faf81, type: 3} + - rampTexture: {instanceID: 0} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/GradientRampDynamic.cs b/Assets/Colorful FX/Scripts/Effects/GradientRampDynamic.cs new file mode 100644 index 0000000..58648f1 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/GradientRampDynamic.cs @@ -0,0 +1,77 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/gradient-ramp-dynamic.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Gradient Ramp (Dynamic)")] + public class GradientRampDynamic : BaseEffect + { + [Tooltip("Gradient used to remap the pixels luminosity.")] + public Gradient Ramp; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected Texture2D m_RampTexture; + + protected override void Start() + { + base.Start(); + + if (Ramp != null) + UpdateGradientCache(); + } + + protected virtual void Reset() + { + Ramp = new Gradient(); + Ramp.colorKeys = new GradientColorKey[] { + new GradientColorKey(Color.black, 0f), + new GradientColorKey(Color.white, 1f) + }; + Ramp.alphaKeys = new GradientAlphaKey[] { + new GradientAlphaKey(1f, 0f), + new GradientAlphaKey(1f, 1f) + }; + + UpdateGradientCache(); + } + + public void UpdateGradientCache() + { + if (m_RampTexture == null) + { + m_RampTexture = new Texture2D(256, 1, TextureFormat.RGB24, false); + m_RampTexture.filterMode = FilterMode.Bilinear; + m_RampTexture.wrapMode = TextureWrapMode.Clamp; + m_RampTexture.hideFlags = HideFlags.HideAndDontSave; + } + + Color[] pixels = new Color[256]; + + for (int i = 0; i < 256; i++) + pixels[i] = Ramp.Evaluate((float)i / 255f); + + m_RampTexture.SetPixels(pixels); + m_RampTexture.Apply(); + } + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Ramp == null || Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetTexture("_RampTex", m_RampTexture); + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/GradientRampDynamic.cs.meta b/Assets/Colorful FX/Scripts/Effects/GradientRampDynamic.cs.meta new file mode 100644 index 0000000..e6be2b5 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/GradientRampDynamic.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 621b55d03df1b0941be31057afccdbef +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: c291a5524ced7fb47af87992cd9faf81, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/GrainyBlur.cs b/Assets/Colorful FX/Scripts/Effects/GrainyBlur.cs new file mode 100644 index 0000000..bfe6fbd --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/GrainyBlur.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/blur-effects/grainy-blur.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Blur Effects/Grainy Blur")] + public class GrainyBlur : BaseEffect + { + [Min(0f), Tooltip("Blur radius.")] + public float Radius = 32f; + + [Range(1, 32), Tooltip("Sample count. Higher means better quality but slower processing.")] + public int Samples = 16; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (CLib.Approximately(Radius, 0f, 0.001f)) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetVector("_Params", new Vector2(Radius, Samples)); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/GrainyBlur.cs.meta b/Assets/Colorful FX/Scripts/Effects/GrainyBlur.cs.meta new file mode 100644 index 0000000..ad0afc2 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/GrainyBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 760aa1104f873f34a8812887a7e598a9 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 750ea95b557224d4e876b95f85697a97, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Grayscale.cs b/Assets/Colorful FX/Scripts/Effects/Grayscale.cs new file mode 100644 index 0000000..90c24f1 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Grayscale.cs @@ -0,0 +1,38 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/grayscale.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Grayscale")] + public class Grayscale : BaseEffect + { + [Range(0f, 1f), Tooltip("Amount of red to contribute to the luminosity.")] + public float RedLuminance = 0.299f; + + [Range(0f, 1f), Tooltip("Amount of green to contribute to the luminosity.")] + public float GreenLuminance = 0.587f; + + [Range(0f, 1f), Tooltip("Amount of blue to contribute to the luminosity.")] + public float BlueLuminance = 0.114f; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetVector("_Params", new Vector4(RedLuminance, GreenLuminance, BlueLuminance, Amount)); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Grayscale.cs.meta b/Assets/Colorful FX/Scripts/Effects/Grayscale.cs.meta new file mode 100644 index 0000000..546c164 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Grayscale.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: befbe15c703f5f644a82e2e6c6ee90f4 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 1e730ad4434e6924dbb5c4fdd20a6f16, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Halftone.cs b/Assets/Colorful FX/Scripts/Effects/Halftone.cs new file mode 100644 index 0000000..ff7c3a0 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Halftone.cs @@ -0,0 +1,55 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/artistic-effects/halftone.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Artistic Effects/Halftone")] + public class Halftone : BaseEffect + { + [Min(0f), Tooltip("Global haltfoning scale.")] + public float Scale = 12f; + + [Min(0f), Tooltip("Individual dot size.")] + public float DotSize = 1.35f; + + [Tooltip("Rotates the dot placement according to the Center point.")] + public float Angle = 1.2f; + + [Range(0f, 1f), Tooltip("Dots antialiasing")] + public float Smoothness = 0.080f; + + [Tooltip("Center point to use for the rotation.")] + public Vector2 Center = new Vector2(0.5f, 0.5f); + + [Tooltip("Turns the effect black & white.")] + public bool Desaturate = false; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Center", new Vector2(Center.x * (float)source.width, Center.y * (float)source.height)); + Material.SetVector("_Params", new Vector3(Scale, DotSize, Smoothness)); + + // Precompute rotation matrices + Matrix4x4 m = new Matrix4x4(); + m.SetRow(0, CMYKRot(Angle + 0.261799388f)); // C + m.SetRow(1, CMYKRot(Angle + 1.30899694f)); // M + m.SetRow(2, CMYKRot(Angle)); // Y + m.SetRow(3, CMYKRot(Angle + 0.785398163f)); // K + Material.SetMatrix("_MatRot", m); + + Graphics.Blit(source, destination, Material, Desaturate ? 1 : 0); + } + + Vector4 CMYKRot(float angle) + { + float ca = Mathf.Cos(angle); + float sa = Mathf.Sin(angle); + return new Vector4(ca, -sa, sa, ca); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Halftone.cs.meta b/Assets/Colorful FX/Scripts/Effects/Halftone.cs.meta new file mode 100644 index 0000000..9b7bc66 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Halftone.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 747e71507dc923a48939d5eb54a54a25 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 496612e4443e0c74f82aad01c4d8e8c2, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Histogram.cs b/Assets/Colorful FX/Scripts/Effects/Histogram.cs new file mode 100644 index 0000000..1f8742e --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Histogram.cs @@ -0,0 +1,52 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + using System; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/utilities/histogram.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Utilities/Histogram")] + public class Histogram : MonoBehaviour + { + + public enum Channel + { + Luminance, + RGB, + Red, + Green, + Blue + } + + public Channel e_CurrentChannel = Channel.RGB; + public bool e_Logarithmic = false; + public bool e_AutoRefresh = false; + public Action e_OnFrameEnd; + + bool e_ForceRefresh = false; + + public void InternalForceRefresh() + { + e_ForceRefresh = true; + } + + protected virtual void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (e_OnFrameEnd != null && (e_AutoRefresh || e_ForceRefresh)) + { + RenderTexture rt = RenderTexture.GetTemporary(160, Mathf.FloorToInt(160f * ((float)source.height / (float)source.height)), 0, RenderTextureFormat.ARGB32); + Graphics.Blit(source, rt); + e_OnFrameEnd(rt); + RenderTexture.ReleaseTemporary(rt); + e_ForceRefresh = false; + } + + Graphics.Blit(source, destination); + } + + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Histogram.cs.meta b/Assets/Colorful FX/Scripts/Effects/Histogram.cs.meta new file mode 100644 index 0000000..dff12e6 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Histogram.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: d97ac868795b5554b9ac83596cf67725 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/HueFocus.cs b/Assets/Colorful FX/Scripts/Effects/HueFocus.cs new file mode 100644 index 0000000..47b80e9 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/HueFocus.cs @@ -0,0 +1,35 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/hue-focus.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Hue Focus")] + public class HueFocus : BaseEffect + { + [Range(0f, 360f), Tooltip("Center hue.")] + public float Hue = 0f; + + [Range(1f, 180f), Tooltip("Hue range to focus on.")] + public float Range = 30f; + + [Range(0f, 1f), Tooltip("Makes the colored pixels more vibrant.")] + public float Boost = 0.5f; + + [Range(0f, 1f), Tooltip("Blending Factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + float h = Hue / 360f; + float r = Range / 180f; + Material.SetVector("_Range", new Vector2(h - r, h + r)); + Material.SetVector("_Params", new Vector3(h, Boost + 1f, Amount)); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/HueFocus.cs.meta b/Assets/Colorful FX/Scripts/Effects/HueFocus.cs.meta new file mode 100644 index 0000000..4c22fb6 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/HueFocus.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 94d79bfd8cb64234383156801889630f +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 552900fac0d27b6448ec836d923d985b, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/HueSaturationValue.cs b/Assets/Colorful FX/Scripts/Effects/HueSaturationValue.cs new file mode 100644 index 0000000..0003da6 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/HueSaturationValue.cs @@ -0,0 +1,89 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/hue-saturation-value.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Hue, Saturation, Value")] + public class HueSaturationValue : BaseEffect + { + [Range(-180f, 180f)] + public float MasterHue = 0.0f; + [Range(-100f, 100f)] + public float MasterSaturation = 0.0f; + [Range(-100f, 100f)] + public float MasterValue = 0.0f; + + [Range(-180f, 180f)] + public float RedsHue = 0.0f; + [Range(-100f, 100f)] + public float RedsSaturation = 0.0f; + [Range(-100f, 100f)] + public float RedsValue = 0.0f; + + [Range(-180f, 180f)] + public float YellowsHue = 0.0f; + [Range(-100f, 100f)] + public float YellowsSaturation = 0.0f; + [Range(-100f, 100f)] + public float YellowsValue = 0.0f; + + [Range(-180f, 180f)] + public float GreensHue = 0.0f; + [Range(-100f, 100f)] + public float GreensSaturation = 0.0f; + [Range(-100f, 100f)] + public float GreensValue = 0.0f; + + [Range(-180f, 180f)] + public float CyansHue = 0.0f; + [Range(-100f, 100f)] + public float CyansSaturation = 0.0f; + [Range(-100f, 100f)] + public float CyansValue = 0.0f; + + [Range(-180f, 180f)] + public float BluesHue = 0.0f; + [Range(-100f, 100f)] + public float BluesSaturation = 0.0f; + [Range(-100f, 100f)] + public float BluesValue = 0.0f; + + [Range(-180f, 180f)] + public float MagentasHue = 0.0f; + [Range(-100f, 100f)] + public float MagentasSaturation = 0.0f; + [Range(-100f, 100f)] + public float MagentasValue = 0.0f; + + public bool AdvancedMode = false; + +#if UNITY_EDITOR + public int e_CurrentChannel = 0; +#endif + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Master", new Vector3(MasterHue / 360f, MasterSaturation * 0.01f, MasterValue * 0.01f)); + + if (AdvancedMode) + { + Material.SetVector("_Reds", new Vector3(RedsHue / 360f, RedsSaturation * 0.01f, RedsValue * 0.01f)); + Material.SetVector("_Yellows", new Vector3(YellowsHue / 360f, YellowsSaturation * 0.01f, YellowsValue * 0.01f)); + Material.SetVector("_Greens", new Vector3(GreensHue / 360f, GreensSaturation * 0.01f, GreensValue * 0.01f)); + Material.SetVector("_Cyans", new Vector3(CyansHue / 360f, CyansSaturation * 0.01f, CyansValue * 0.01f)); + Material.SetVector("_Blues", new Vector3(BluesHue / 360f, BluesSaturation * 0.01f, BluesValue * 0.01f)); + Material.SetVector("_Magentas", new Vector3(MagentasHue / 360f, MagentasSaturation * 0.01f, MagentasValue * 0.01f)); + Graphics.Blit(source, destination, Material, 1); + } + else + { + Graphics.Blit(source, destination, Material, 0); + } + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/HueSaturationValue.cs.meta b/Assets/Colorful FX/Scripts/Effects/HueSaturationValue.cs.meta new file mode 100644 index 0000000..3cb94ff --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/HueSaturationValue.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 07da71ac68eb82745b717ba672e527d6 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 0b332438591134c46ada56177c061e99, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Kuwahara.cs b/Assets/Colorful FX/Scripts/Effects/Kuwahara.cs new file mode 100644 index 0000000..85161d1 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Kuwahara.cs @@ -0,0 +1,24 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/artistic-effects/kuwahara.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Artistic Effects/Kuwahara")] + public class Kuwahara : BaseEffect + { + [Range(1, 6), Tooltip("Larger radius will give a more abstract look but will lower performances.")] + public int Radius = 3; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Radius = Mathf.Clamp(Radius, 1, 6); + Material.SetVector("_PSize", new Vector2(1f / (float)source.width, 1f / (float)source.height)); + Graphics.Blit(source, destination, Material, Radius - 1); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Kuwahara.cs.meta b/Assets/Colorful FX/Scripts/Effects/Kuwahara.cs.meta new file mode 100644 index 0000000..85e7258 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Kuwahara.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: adb0f17fe5138d54c8677968d83d98a7 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: be6f87201eefa9b4a81cb9d12d55f76b, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Led.cs b/Assets/Colorful FX/Scripts/Effects/Led.cs new file mode 100644 index 0000000..4512ddf --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Led.cs @@ -0,0 +1,55 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/other-effects/led.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Other Effects/LED")] + public class Led : BaseEffect + { + public enum SizeMode + { + ResolutionIndependent, + PixelPerfect + } + + [Range(1f, 255f), Tooltip("Scale of an individual LED. Depends on the Mode used.")] + public float Scale = 80.0f; + + [Range(0f, 10f), Tooltip("LED brightness booster.")] + public float Brightness = 1.0f; + + [Range(1f, 3f), Tooltip("LED shape, from softer to harsher.")] + public float Shape = 1.5f; + + [Tooltip("Turn this on to automatically compute the aspect ratio needed for squared LED.")] + public bool AutomaticRatio = true; + + [Tooltip("Custom aspect ratio.")] + public float Ratio = 1.0f; + + [Tooltip("Used for the Scale field.")] + public SizeMode Mode = SizeMode.ResolutionIndependent; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + float scale = Scale; + + if (Mode == SizeMode.PixelPerfect) + scale = (float)source.width / Scale; + + Material.SetVector("_Params", new Vector4( + scale, + AutomaticRatio ? ((float)source.width / (float)source.height) : Ratio, + Brightness, + Shape + )); + + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Led.cs.meta b/Assets/Colorful FX/Scripts/Effects/Led.cs.meta new file mode 100644 index 0000000..4ba6500 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Led.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3a76d9b47ee5dec4fb0672e79ab4172f +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 119bab05aa029d148a8ed3483cb1cd62, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/LensDistortionBlur.cs b/Assets/Colorful FX/Scripts/Effects/LensDistortionBlur.cs new file mode 100644 index 0000000..1978953 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/LensDistortionBlur.cs @@ -0,0 +1,44 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/blur-effects/lens-distortion-blur.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Blur Effects/Lens Distortion Blur")] + public class LensDistortionBlur : BaseEffect + { + public enum QualityPreset + { + Low = 4, + Medium = 8, + High = 12, + Custom + } + + [Tooltip("Quality preset. Higher means better quality but slower processing.")] + public QualityPreset Quality = QualityPreset.Medium; + + [Range(2, 32), Tooltip("Sample count. Higher means better quality but slower processing.")] + public int Samples = 10; + + [Range(-2f, 2f), Tooltip("Spherical distortion factor.")] + public float Distortion = 0.2f; + + [Range(-2f, 2f), Tooltip("Cubic distortion factor.")] + public float CubicDistortion = 0.6f; + + [Range(0.01f, 2f), Tooltip("Helps avoid screen streching on borders when working with heavy distortions.")] + public float Scale = 0.8f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + int samples = Quality == QualityPreset.Custom ? Samples : (int)Quality; + Material.SetVector("_Params", new Vector4(samples, Distortion / samples, CubicDistortion / samples, Scale)); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/LensDistortionBlur.cs.meta b/Assets/Colorful FX/Scripts/Effects/LensDistortionBlur.cs.meta new file mode 100644 index 0000000..30d53c9 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/LensDistortionBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b77b44e65f026d7459ca01c999a9a014 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 27362376390dd5b4a84e636ebeb50eb8, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Letterbox.cs b/Assets/Colorful FX/Scripts/Effects/Letterbox.cs new file mode 100644 index 0000000..f4c99c3 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Letterbox.cs @@ -0,0 +1,49 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/letterbox.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Letterbox")] + public class Letterbox : BaseEffect + { + [Min(0f), Tooltip("Crop the screen to the given aspect ratio.")] + public float Aspect = 21f / 9f; + + [Tooltip("Letter/Pillar box color. Alpha is transparency.")] + public Color FillColor = Color.black; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + float w = (float)source.width; + float h = (float)source.height; + float currentAspect = w / h; + float offset = 0f; + int pass = 0; + + Material.SetColor("_FillColor", FillColor); + + if (currentAspect < Aspect) + { + offset = (h - w / Aspect) * 0.5f / h; + } + else if (currentAspect > Aspect) + { + offset = (w - h * Aspect) * 0.5f / w; + pass = 1; + } + else + { + Graphics.Blit(source, destination); + return; + } + + Material.SetVector("_Offsets", new Vector2(offset, 1f - offset)); + Graphics.Blit(source, destination, Material, pass); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Letterbox.cs.meta b/Assets/Colorful FX/Scripts/Effects/Letterbox.cs.meta new file mode 100644 index 0000000..63650f0 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Letterbox.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 23c80b3cab5ae9141a030dbd1e0fd574 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: d492310e63ec9264b892cb8ae4896275, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Levels.cs b/Assets/Colorful FX/Scripts/Effects/Levels.cs new file mode 100644 index 0000000..2f4663c --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Levels.cs @@ -0,0 +1,87 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + using System; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/levels.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Levels")] + public class Levels : BaseEffect + { + public enum ColorMode + { + Monochrome, + RGB + } + + public ColorMode Mode = ColorMode.Monochrome; + + public Vector3 InputL = new Vector3(0f, 255f, 1f); + public Vector3 InputR = new Vector3(0f, 255f, 1f); + public Vector3 InputG = new Vector3(0f, 255f, 1f); + public Vector3 InputB = new Vector3(0f, 255f, 1f); + + public Vector2 OutputL = new Vector2(0f, 255f); + public Vector2 OutputR = new Vector2(0f, 255f); + public Vector2 OutputG = new Vector2(0f, 255f); + public Vector2 OutputB = new Vector2(0f, 255f); + + + public enum Channel + { + Red, + Green, + Blue + } + + public Channel e_CurrentChannel = 0; + public bool e_Logarithmic = false; + public bool e_AutoRefresh = false; + public Action e_OnFrameEnd; + + bool e_ForceRefresh = false; + + public void InternalForceRefresh() + { + e_ForceRefresh = true; + } + + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { +#if UNITY_EDITOR + if (e_OnFrameEnd != null && (e_AutoRefresh || e_ForceRefresh)) + { + RenderTexture rt = RenderTexture.GetTemporary(160, Mathf.FloorToInt(160f * ((float)source.height / (float)source.height)), 0, RenderTextureFormat.ARGB32); + Graphics.Blit(source, rt); + e_OnFrameEnd(rt); + RenderTexture.ReleaseTemporary(rt); + e_ForceRefresh = false; + } +#endif + + if (Mode == ColorMode.Monochrome) + { + Material.SetVector("_InputMin", new Vector4(InputL.x / 255f, InputL.x / 255f, InputL.x / 255f, 1.0f)); + Material.SetVector("_InputMax", new Vector4(InputL.y / 255f, InputL.y / 255f, InputL.y / 255f, 1.0f)); + Material.SetVector("_InputGamma", new Vector4(InputL.z, InputL.z, InputL.z, 1.0f)); + Material.SetVector("_OutputMin", new Vector4(OutputL.x / 255f, OutputL.x / 255f, OutputL.x / 255f, 1.0f)); + Material.SetVector("_OutputMax", new Vector4(OutputL.y / 255f, OutputL.y / 255f, OutputL.y / 255f, 1.0f)); + } + else + { + Material.SetVector("_InputMin", new Vector4(InputR.x / 255f, InputG.x / 255f, InputB.x / 255f, 1.0f)); + Material.SetVector("_InputMax", new Vector4(InputR.y / 255f, InputG.y / 255f, InputB.y / 255f, 1.0f)); + Material.SetVector("_InputGamma", new Vector4(InputR.z, InputG.z, InputB.z, 1.0f)); + Material.SetVector("_OutputMin", new Vector4(OutputR.x / 255f, OutputG.x / 255f, OutputB.x / 255f, 1.0f)); + Material.SetVector("_OutputMax", new Vector4(OutputR.y / 255f, OutputG.y / 255f, OutputB.y / 255f, 1.0f)); + } + + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Levels.cs.meta b/Assets/Colorful FX/Scripts/Effects/Levels.cs.meta new file mode 100644 index 0000000..36eb69b --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Levels.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f423fc6d541e1de4086b6880994b270c +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 3d484a9bd98669a4bae065117cfefa62, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/LoFiPalette.cs b/Assets/Colorful FX/Scripts/Effects/LoFiPalette.cs new file mode 100644 index 0000000..0ada7e6 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/LoFiPalette.cs @@ -0,0 +1,119 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/artistic-effects/lofi-palette.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Artistic Effects/LoFi Palette")] + public class LoFiPalette : LookupFilter3D + { + public enum Preset + { + None = 0, + + AmstradCPC = 2, + CGA = 3, + Commodore64 = 4, + CommodorePlus = 5, + EGA = 6, + GameBoy = 7, + MacOS16 = 8, + MacOS256 = 9, + MasterSystem = 10, + RiscOS16 = 11, + Teletex = 12, + Windows16 = 13, + Windows256 = 14, + ZXSpectrum = 15, + + Andrae = 17, + Anodomani = 18, + Crayolo = 19, + DB16 = 20, + DB32 = 21, + DJinn = 22, + DrazileA = 23, + DrazileB = 24, + DrazileC = 25, + Eggy = 26, + FinlalA = 27, + FinlalB = 28, + Hapiel = 29, + PavanzA = 30, + PavanzB = 31, + Peyton = 32, + SpeedyCube = 33 + } + + public Preset Palette = Preset.None; + + [Tooltip("Pixelize the display.")] + public bool Pixelize = true; + + [Tooltip("The display height in pixels.")] + public float PixelSize = 128f; + + protected Preset m_CurrentPreset = Preset.None; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Palette != m_CurrentPreset) + { + m_CurrentPreset = Palette; + + if (Palette == Preset.None) + LookupTexture = null; + else + LookupTexture = Resources.Load("LoFiPalettes/" + Palette.ToString()); + } + + if (LookupTexture == null || Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + if (m_Use2DLut || ForceCompatibility) + RenderLut2D(source, destination); + else + RenderLut3D(source, destination); + } + + protected override void RenderLut2D(RenderTexture source, RenderTexture destination) + { + float tileSize = Mathf.Sqrt((float)LookupTexture.width); + Material.SetTexture("_LookupTex", LookupTexture); + Material.SetVector("_Params1", new Vector3(1f / (float)LookupTexture.width, 1f / (float)LookupTexture.height, tileSize - 1f)); + Material.SetVector("_Params2", new Vector2(Amount, PixelSize)); + + int pass = (Pixelize ? 6 : 4) + (CLib.IsLinearColorSpace() ? 1 : 0); + Graphics.Blit(source, destination, Material, pass); + } + + protected override void RenderLut3D(RenderTexture source, RenderTexture destination) + { + if (LookupTexture.name != m_BaseTextureName) + ConvertBaseTexture(); + + if (m_Lut3D == null) + SetIdentityLut(); + + m_Lut3D.filterMode = FilterMode.Point; + Material.SetTexture("_LookupTex", m_Lut3D); + float lutSize = (float)m_Lut3D.width; + Material.SetVector("_Params", new Vector4( + (lutSize - 1f) / (1f * lutSize), + 1f / (2f * lutSize), + Amount, + PixelSize + )); + + int pass = (Pixelize ? 2 : 0) + (CLib.IsLinearColorSpace() ? 1 : 0); + Graphics.Blit(source, destination, Material, pass); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/LoFiPalette.cs.meta b/Assets/Colorful FX/Scripts/Effects/LoFiPalette.cs.meta new file mode 100644 index 0000000..81c85b7 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/LoFiPalette.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 0ca97f3385a96b140b060f6025abe220 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - LookupTexture: {instanceID: 0} + - Shader2D: {fileID: 4800000, guid: b5b3d4fe7139a7141be9b1475ea1127f, type: 3} + - Shader3D: {fileID: 4800000, guid: c356d31be0868c94d8c3eb943516cb8a, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/LookupFilter.cs b/Assets/Colorful FX/Scripts/Effects/LookupFilter.cs new file mode 100644 index 0000000..a45699d --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/LookupFilter.cs @@ -0,0 +1,33 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/lookup-filter.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Lookup Filter (Deprecated)")] + public class LookupFilter : BaseEffect + { + [Tooltip("The lookup texture to apply. Read the documentation to learn how to create one.")] + public Texture LookupTexture; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (LookupTexture == null || Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetTexture("_LookupTex", LookupTexture); + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material, CLib.IsLinearColorSpace() ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/LookupFilter.cs.meta b/Assets/Colorful FX/Scripts/Effects/LookupFilter.cs.meta new file mode 100644 index 0000000..0a6c881 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/LookupFilter.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9adb2be4a98e6d14bb47dc747ce80219 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 37ae258c1f4d15140b45318637b0c532, type: 3} + - lookupTexture: {instanceID: 0} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/LookupFilter3D.cs b/Assets/Colorful FX/Scripts/Effects/LookupFilter3D.cs new file mode 100644 index 0000000..67eda1a --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/LookupFilter3D.cs @@ -0,0 +1,230 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/lookup-filter-3d.html")] + [ExecuteInEditMode] + [RequireComponent(typeof(Camera))] + [AddComponentMenu("Colorful FX/Color Correction/Lookup Filter 3D")] + public class LookupFilter3D : MonoBehaviour + { + [Tooltip("The lookup texture to apply. Read the documentation to learn how to create one.")] + public Texture2D LookupTexture; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + [Tooltip("The effect will automatically detect the correct shader to use for the device but you can force it to only use the compatibility shader.")] + public bool ForceCompatibility = false; + + protected Texture3D m_Lut3D; + protected string m_BaseTextureName; + protected bool m_Use2DLut = false; + + public Shader Shader2D; + public Shader Shader3D; + protected Material m_Material2D; + protected Material m_Material3D; + public Material Material + { + get + { + if (m_Use2DLut || ForceCompatibility) + { + if (m_Material2D == null) + { + m_Material2D = new Material(Shader2D); + m_Material2D.hideFlags = HideFlags.HideAndDontSave; + } + + return m_Material2D; + } + else + { + if (m_Material3D == null) + { + m_Material3D = new Material(Shader3D); + m_Material3D.hideFlags = HideFlags.HideAndDontSave; + } + + return m_Material3D; + } + } + } + + protected virtual void Start() + { + // Disable if we don't support image effects + if (!SystemInfo.supportsImageEffects) + { + Debug.LogWarning("Image effects aren't supported on this device"); + enabled = false; + return; + } + + // Switch to the 2D lut if the platform doesn't support 3D textures + if (!SystemInfo.supports3DTextures) + m_Use2DLut = true; + + // Disable the image effect if the shader can't run on the users graphics card + if ((!m_Use2DLut && (!Shader3D || !Shader3D.isSupported)) || + (m_Use2DLut && (!Shader2D || !Shader2D.isSupported))) + { + Debug.LogWarning("The shader is null or unsupported on this device"); + enabled = false; + } + } + + protected virtual void OnDisable() + { + if (m_Material2D) + DestroyImmediate(m_Material2D); + + if (m_Material3D) + DestroyImmediate(m_Material3D); + + if (m_Lut3D) + DestroyImmediate(m_Lut3D); + + m_BaseTextureName = ""; + } + + protected virtual void Reset() + { + m_BaseTextureName = ""; + } + + protected void SetIdentityLut() + { + int dim = 16; + Color[] newC = new Color[dim * dim * dim]; + float oneOverDim = 1.0f / (1.0f * dim - 1.0f); + + for (int i = 0; i < dim; i++) + { + for (int j = 0; j < dim; j++) + { + for (int k = 0; k < dim; k++) + { + newC[i + (j * dim) + (k * dim * dim)] = new Color((i * 1.0f) * oneOverDim, (j * 1.0f) * oneOverDim, (k * 1.0f) * oneOverDim, 1.0f); + } + } + } + + if (m_Lut3D) + DestroyImmediate(m_Lut3D); + + m_Lut3D = new Texture3D(dim, dim, dim, TextureFormat.ARGB32, false); + m_Lut3D.hideFlags = HideFlags.HideAndDontSave; + m_Lut3D.SetPixels(newC); + m_Lut3D.Apply(); + m_BaseTextureName = ""; + } + + public bool ValidDimensions(Texture2D tex2D) + { + if (tex2D == null || tex2D.height != Mathf.FloorToInt(Mathf.Sqrt(tex2D.width))) + return false; + + return true; + } + + protected void ConvertBaseTexture() + { + if (!ValidDimensions(LookupTexture)) + { + Debug.LogWarning("The given 2D texture " + LookupTexture.name + " cannot be used as a 3D LUT. Pick another texture or adjust dimension to e.g. 256x16."); + return; + } + + m_BaseTextureName = LookupTexture.name; + + int dim = LookupTexture.height; + + Color[] c = LookupTexture.GetPixels(); + Color[] newC = new Color[c.Length]; + + for (int i = 0; i < dim; i++) + { + for (int j = 0; j < dim; j++) + { + for (int k = 0; k < dim; k++) + { + int j_ = dim - j - 1; + newC[i + (j * dim) + (k * dim * dim)] = c[k * dim + i + j_ * dim * dim]; + } + } + } + + if (m_Lut3D) + DestroyImmediate(m_Lut3D); + + m_Lut3D = new Texture3D(dim, dim, dim, TextureFormat.ARGB32, false); + m_Lut3D.hideFlags = HideFlags.HideAndDontSave; + m_Lut3D.wrapMode = TextureWrapMode.Clamp; + m_Lut3D.SetPixels(newC); + m_Lut3D.Apply(); + } + + public void Apply(Texture source, RenderTexture destination) + { + if (source is RenderTexture) + { + OnRenderImage(source as RenderTexture, destination); + return; + } + + RenderTexture rt = RenderTexture.GetTemporary(source.width, source.height); + Graphics.Blit(source, rt); + OnRenderImage(rt, destination); + RenderTexture.ReleaseTemporary(rt); + } + + protected virtual void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (LookupTexture == null || Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + if (m_Use2DLut || ForceCompatibility) + RenderLut2D(source, destination); + else + RenderLut3D(source, destination); + } + + protected virtual void RenderLut2D(RenderTexture source, RenderTexture destination) + { + float tileSize = Mathf.Sqrt((float)LookupTexture.width); + Material.SetTexture("_LookupTex", LookupTexture); + Material.SetVector("_Params1", new Vector3(1f / (float)LookupTexture.width, 1f / (float)LookupTexture.height, tileSize - 1f)); + Material.SetVector("_Params2", new Vector2(Amount, 0f)); + + Graphics.Blit(source, destination, Material, CLib.IsLinearColorSpace() ? 1 : 0); + } + + protected virtual void RenderLut3D(RenderTexture source, RenderTexture destination) + { + if (LookupTexture.name != m_BaseTextureName) + ConvertBaseTexture(); + + if (m_Lut3D == null) + SetIdentityLut(); + + Material.SetTexture("_LookupTex", m_Lut3D); + float lutSize = (float)m_Lut3D.width; + Material.SetVector("_Params", new Vector3( + (lutSize - 1f) / (1f * lutSize), + 1f / (2f * lutSize), + Amount + )); + + Graphics.Blit(source, destination, Material, CLib.IsLinearColorSpace() ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/LookupFilter3D.cs.meta b/Assets/Colorful FX/Scripts/Effects/LookupFilter3D.cs.meta new file mode 100644 index 0000000..c5840f2 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/LookupFilter3D.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 1222701696bce8f41a07d077b281118e +MonoImporter: + serializedVersion: 2 + defaultReferences: + - LookupTexture: {instanceID: 0} + - Shader2D: {fileID: 4800000, guid: b5b3d4fe7139a7141be9b1475ea1127f, type: 3} + - Shader3D: {fileID: 4800000, guid: c356d31be0868c94d8c3eb943516cb8a, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Negative.cs b/Assets/Colorful FX/Scripts/Effects/Negative.cs new file mode 100644 index 0000000..757713d --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Negative.cs @@ -0,0 +1,29 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/negative.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Negative")] + public class Negative : BaseEffect + { + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1.0f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material, CLib.IsLinearColorSpace() ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Negative.cs.meta b/Assets/Colorful FX/Scripts/Effects/Negative.cs.meta new file mode 100644 index 0000000..9481832 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Negative.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bbed2c7d9f2a38a4b821e762954e38e8 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 4d5f7df60d1ccbe44b611aec3822b801, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Noise.cs b/Assets/Colorful FX/Scripts/Effects/Noise.cs new file mode 100644 index 0000000..9a13147 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Noise.cs @@ -0,0 +1,55 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/other-effects/noise.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Other Effects/Noise")] + public class Noise : BaseEffect + { + public enum ColorMode + { + Monochrome, + RGB + } + + [Tooltip("Black & white or colored noise.")] + public ColorMode Mode = ColorMode.Monochrome; + + [Tooltip("Automatically increment the seed to animate the noise.")] + public bool Animate = true; + + [Tooltip("A number used to initialize the noise generator.")] + public float Seed = 0.5f; + + [Range(0f, 1f), Tooltip("Strength used to apply the noise. 0 means no noise at all, 1 is full noise.")] + public float Strength = 0.12f; + + [Range(0f, 1f), Tooltip("Reduce the noise visibility in luminous areas.")] + public float LumContribution = 0f; + + protected virtual void Update() + { + if (Animate) + { + // Reset the Seed after a while, some GPUs don't like big numbers + if (Seed > 1000f) + Seed = 0.5f; + + Seed += Time.deltaTime * 0.25f; + } + } + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Params", new Vector3(Seed, Strength, LumContribution)); + int pass = (Mode == ColorMode.Monochrome) ? 0 : 1; + pass += (LumContribution > 0f) ? 2 : 0; + Graphics.Blit(source, destination, Material, pass); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Noise.cs.meta b/Assets/Colorful FX/Scripts/Effects/Noise.cs.meta new file mode 100644 index 0000000..59f8a50 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Noise.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6e8893002c9340b4c9dfb35503a523f1 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 89ef061699807394a9d296d8ada383cb, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/PhotoFilter.cs b/Assets/Colorful FX/Scripts/Effects/PhotoFilter.cs new file mode 100644 index 0000000..44cb56a --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/PhotoFilter.cs @@ -0,0 +1,33 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/photo-filter.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Photo Filter")] + public class PhotoFilter : BaseEffect + { + [ColorUsage(false), Tooltip("Lens filter color.")] + public Color Color = new Color(1.0f, 0.5f, 0.2f, 1.0f); + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Density = 0.35f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Density <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetColor("_RGB", Color); + Material.SetFloat("_Density", Density); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/PhotoFilter.cs.meta b/Assets/Colorful FX/Scripts/Effects/PhotoFilter.cs.meta new file mode 100644 index 0000000..1321786 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/PhotoFilter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bb697cfaa11881546a01edd0eb62fd76 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: d4cf7d0874af43d489d668369b513fd1, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/PixelMatrix.cs b/Assets/Colorful FX/Scripts/Effects/PixelMatrix.cs new file mode 100644 index 0000000..2ab3f91 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/PixelMatrix.cs @@ -0,0 +1,35 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/other-effects/pixel-matrix.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Other Effects/Pixel Matrix")] + public class PixelMatrix : BaseEffect + { + [Min(3), Tooltip("Tile size. Works best with multiples of 3.")] + public int Size = 9; + + [Range(0f, 10f), Tooltip("Tile brightness booster.")] + public float Brightness = 1.4f; + + [Tooltip("Show / hide black borders on every tile.")] + public bool BlackBorder = true; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Params", new Vector4( + Size, + Mathf.Floor((float)Size / 3f), + Size - Mathf.Floor((float)Size / 3f), + Brightness + )); + + Graphics.Blit(source, destination, Material, BlackBorder ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/PixelMatrix.cs.meta b/Assets/Colorful FX/Scripts/Effects/PixelMatrix.cs.meta new file mode 100644 index 0000000..8e3e740 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/PixelMatrix.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6b1024d011da8dd488b260d3e0e7945d +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 58e2980581a9e9b45a6bf05fb06dab5d, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Pixelate.cs b/Assets/Colorful FX/Scripts/Effects/Pixelate.cs new file mode 100644 index 0000000..aa44992 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Pixelate.cs @@ -0,0 +1,47 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/other-effects/pixelate.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Other Effects/Pixelate")] + public class Pixelate : BaseEffect + { + public enum SizeMode + { + ResolutionIndependent, + PixelPerfect + } + + [Range(1f, 1024f), Tooltip("Scale of an individual pixel. Depends on the Mode used.")] + public float Scale = 80.0f; + + [Tooltip("Turn this on to automatically compute the aspect ratio needed for squared pixels.")] + public bool AutomaticRatio = true; + + [Tooltip("Custom aspect ratio.")] + public float Ratio = 1.0f; + + [Tooltip("Used for the Scale field.")] + public SizeMode Mode = SizeMode.ResolutionIndependent; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + float scale = Scale; + + if (Mode == SizeMode.PixelPerfect) + scale = (float)source.width / Scale; + + Material.SetVector("_Params", new Vector2( + scale, + AutomaticRatio ? ((float)source.width / (float)source.height) : Ratio + )); + + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Pixelate.cs.meta b/Assets/Colorful FX/Scripts/Effects/Pixelate.cs.meta new file mode 100644 index 0000000..b8b354e --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Pixelate.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2628181c809ee474485cc45322ff644f +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 728ffb8a91a4a0a498b4795a6e1d78a1, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Posterize.cs b/Assets/Colorful FX/Scripts/Effects/Posterize.cs new file mode 100644 index 0000000..8af2a74 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Posterize.cs @@ -0,0 +1,26 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/posterize.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Posterize")] + public class Posterize : BaseEffect + { + [Range(2, 255), Tooltip("Number of tonal levels (brightness values) for each channel.")] + public int Levels = 16; + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Params", new Vector2((float)Levels, Amount)); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Posterize.cs.meta b/Assets/Colorful FX/Scripts/Effects/Posterize.cs.meta new file mode 100644 index 0000000..caa14fd --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Posterize.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b8ff44335507f4749aa70099c187a8c4 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 5675fc85342982e4aa19f32d906706e4, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/RGBSplit.cs b/Assets/Colorful FX/Scripts/Effects/RGBSplit.cs new file mode 100644 index 0000000..5837b36 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/RGBSplit.cs @@ -0,0 +1,37 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/rgb-split.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/RGB Split")] + public class RGBSplit : BaseEffect + { + [Tooltip("RGB shifting amount.")] + public float Amount = 0f; + + [Tooltip("Shift direction in radians.")] + public float Angle = 0f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Amount == 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetVector("_Params", new Vector3( + Amount * 0.001f, + Mathf.Sin(Angle), + Mathf.Cos(Angle) + )); + + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/RGBSplit.cs.meta b/Assets/Colorful FX/Scripts/Effects/RGBSplit.cs.meta new file mode 100644 index 0000000..bee25e8 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/RGBSplit.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 68cd54ea1964189429cf8078ee8d5fd5 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 9d2e55392c5688b41a28c877a8c935c6, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/RadialBlur.cs b/Assets/Colorful FX/Scripts/Effects/RadialBlur.cs new file mode 100644 index 0000000..77fb428 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/RadialBlur.cs @@ -0,0 +1,59 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/blur-effects/radial-blur.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Blur Effects/Radial Blur")] + public class RadialBlur : BaseEffect + { + public enum QualityPreset + { + Low = 4, + Medium = 8, + High = 12, + Custom + } + + [Range(0f, 1f), Tooltip("Blur strength.")] + public float Strength = 0.1f; + + [Range(2, 32), Tooltip("Sample count. Higher means better quality but slower processing.")] + public int Samples = 10; + + [Tooltip("Focus point.")] + public Vector2 Center = new Vector2(0.5f, 0.5f); + + [Tooltip("Quality preset. Higher means better quality but slower processing.")] + public QualityPreset Quality = QualityPreset.Medium; + + [Range(-100f, 100f), Tooltip("Smoothness of the vignette effect.")] + public float Sharpness = 40f; + + [Range(0f, 100f), Tooltip("Amount of vignetting on screen.")] + public float Darkness = 35f; + + [Tooltip("Should the effect be applied like a vignette ?")] + public bool EnableVignette = true; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Strength <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + int samples = Quality == QualityPreset.Custom ? Samples : (int)Quality; + + Material.SetVector("_Center", Center); + Material.SetVector("_Params", new Vector4(Strength, samples, Sharpness * 0.01f, Darkness * 0.02f)); + + Graphics.Blit(source, destination, Material, EnableVignette ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/RadialBlur.cs.meta b/Assets/Colorful FX/Scripts/Effects/RadialBlur.cs.meta new file mode 100644 index 0000000..256e574 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/RadialBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 75d0b0053075b424f96072721dfe5733 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 93166fbefe89e6b45afb840b49fc59ae, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/SCurveContrast.cs b/Assets/Colorful FX/Scripts/Effects/SCurveContrast.cs new file mode 100644 index 0000000..f767184 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/SCurveContrast.cs @@ -0,0 +1,33 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/s-curve-contrast.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/S-Curve Contrast")] + public class SCurveContrast : BaseEffect + { + public float RedSteepness = 1f; + public float RedGamma = 1f; + public float GreenSteepness = 1f; + public float GreenGamma = 1f; + public float BlueSteepness = 1f; + public float BlueGamma = 1f; + +#if UNITY_EDITOR + public bool e_ShowCurves = true; +#endif + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Red", new Vector2(RedSteepness, RedGamma)); + Material.SetVector("_Green", new Vector2(GreenSteepness, GreenGamma)); + Material.SetVector("_Blue", new Vector2(BlueSteepness, BlueGamma)); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/SCurveContrast.cs.meta b/Assets/Colorful FX/Scripts/Effects/SCurveContrast.cs.meta new file mode 100644 index 0000000..97e6397 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/SCurveContrast.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 934871e03470f2048a86d4da39cca2dc +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: bb3f4da25a5c9184697fb2b1c1ea8c68, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/ShadowsMidtonesHighlights.cs b/Assets/Colorful FX/Scripts/Effects/ShadowsMidtonesHighlights.cs new file mode 100644 index 0000000..f256406 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ShadowsMidtonesHighlights.cs @@ -0,0 +1,55 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/shadows-midtones-highlights.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Shadows, Midtones, Highlights")] + public class ShadowsMidtonesHighlights : BaseEffect + { + public enum ColorMode + { + LiftGammaGain = 0, + OffsetGammaSlope = 1 + } + + [Tooltip("Color mode. The difference between these two modes is the way shadows are handled.")] + public ColorMode Mode = ColorMode.LiftGammaGain; + + [Tooltip("Adds density or darkness, raises or lowers the shadow levels with its alpha value and offset the color balance in the dark regions with the hue point.")] + public Color Shadows = new Color(1f, 1f, 1f, 0.5f); + + [Tooltip("Shifts the middle tones to be brighter or darker. For instance, to make your render more warm, just move the midtone color toward the yellow/red range. The more saturated the color is, the warmer the render becomes.")] + public Color Midtones = new Color(1f, 1f, 1f, 0.5f); + + [Tooltip("Brightens and tints the entire render but mostly affects the highlights.")] + public Color Highlights = new Color(1f, 1f, 1f, 0.5f); + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 1f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + float multiplier; + Material.SetVector("_Shadows", Shadows * (Shadows.a * 2)); + multiplier = 1f + (1f - (Midtones.r * 0.299f + Midtones.g * 0.587f + Midtones.b * 0.114f)); + Material.SetVector("_Midtones", (Midtones * multiplier) * (Midtones.a * 2f)); + multiplier = 1f + (1f - (Highlights.r * 0.299f + Highlights.g * 0.587f + Highlights.b * 0.114f)); + Material.SetVector("_Highlights", (Highlights * multiplier) * (Highlights.a * 2f)); + + Material.SetFloat("_Amount", Amount); + + Graphics.Blit(source, destination, Material, (int)Mode); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/ShadowsMidtonesHighlights.cs.meta b/Assets/Colorful FX/Scripts/Effects/ShadowsMidtonesHighlights.cs.meta new file mode 100644 index 0000000..bef06b7 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/ShadowsMidtonesHighlights.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9a1e5796c9ae6d4458ba6002cb9d95d8 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: f1c2bf98023ec1d49a324ffb4746f895, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Sharpen.cs b/Assets/Colorful FX/Scripts/Effects/Sharpen.cs new file mode 100644 index 0000000..5537cbb --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Sharpen.cs @@ -0,0 +1,47 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/other-effects/sharpen.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Other Effects/Sharpen")] + public class Sharpen : BaseEffect + { + public enum Algorithm + { + TypeA, + TypeB + } + + [Tooltip("Sharpening algorithm to use.")] + public Algorithm Mode = Algorithm.TypeB; + + [Range(0f, 5f), Tooltip("Sharpening Strength.")] + public float Strength = 0.6f; + + [Range(0f, 1f), Tooltip("Limits the amount of sharpening a pixel will receive.")] + public float Clamp = 0.05f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Strength == 0f || Clamp == 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetVector("_Params", new Vector4( + Strength, + Clamp, + 1f / (float)source.width, + 1f / (float)source.height + )); + + Graphics.Blit(source, destination, Material, (int)Mode); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Sharpen.cs.meta b/Assets/Colorful FX/Scripts/Effects/Sharpen.cs.meta new file mode 100644 index 0000000..9ccfb9f --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Sharpen.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 23bf7bfb88d65c14f9588701ff10a068 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: b4f0a5d3f2f4d3d4e80600230efdfe68, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/SmartSaturation.cs b/Assets/Colorful FX/Scripts/Effects/SmartSaturation.cs new file mode 100644 index 0000000..539fcfe --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/SmartSaturation.cs @@ -0,0 +1,81 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/smart-saturation.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Smart Saturation")] + public class SmartSaturation : BaseEffect + { + [Range(0f, 2f), Tooltip("Saturation boost. Default: 1 (no boost).")] + public float Boost = 1f; + + public AnimationCurve Curve; + + Texture2D _CurveTexture; + protected Texture2D m_CurveTexture + { + get + { + if (_CurveTexture == null) + UpdateCurve(); + + return _CurveTexture; + } + } + + protected virtual void Reset() + { + Curve = new AnimationCurve(new Keyframe(0f, 0.5f, 0f, 0f), new Keyframe(1f, 0.5f, 0f, 0f)); + } + + protected virtual void OnEnable() + { + if (Curve == null) + Reset(); + } + + protected override void OnDisable() + { + base.OnDisable(); + + if (_CurveTexture != null) + DestroyImmediate(_CurveTexture); + } + + public virtual void UpdateCurve() + { + if (_CurveTexture == null) + { + _CurveTexture = new Texture2D(256, 1, TextureFormat.Alpha8, false); + _CurveTexture.name = "Saturation Curve Texture"; + _CurveTexture.wrapMode = TextureWrapMode.Clamp; + _CurveTexture.anisoLevel = 0; + _CurveTexture.filterMode = FilterMode.Bilinear; + _CurveTexture.hideFlags = HideFlags.DontSave; + } + + Color[] pixels = _CurveTexture.GetPixels(); + + for (int i = 0; i < 256; i++) + { + float z = Mathf.Clamp01(Curve.Evaluate((float)i / 255f)); + pixels[i] = new Color(z, z, z, z); + } + + _CurveTexture.SetPixels(pixels); + _CurveTexture.Apply(); + } + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetTexture("_Curve", m_CurveTexture); + Material.SetFloat("_Boost", Boost); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/SmartSaturation.cs.meta b/Assets/Colorful FX/Scripts/Effects/SmartSaturation.cs.meta new file mode 100644 index 0000000..eef638b --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/SmartSaturation.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d41c435432e8be846ab24f5ea10848ef +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: a13a4f89750fabf45a06af8796a9bbe6, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Strokes.cs b/Assets/Colorful FX/Scripts/Effects/Strokes.cs new file mode 100644 index 0000000..42e7df0 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Strokes.cs @@ -0,0 +1,62 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/artistic-effects/strokes.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Artistic Effects/Strokes")] + public class Strokes : BaseEffect + { + public enum ColorMode + { + BlackAndWhite, + WhiteAndBlack, + ColorAndWhite, + ColorAndBlack, + WhiteAndColor, + BlackAndColor + } + + public ColorMode Mode = ColorMode.BlackAndWhite; + + [Range(0f, 0.04f), Tooltip("Stroke rotation, or wave pattern amplitude.")] + public float Amplitude = 0.025f; + + [Range(0f, 20f), Tooltip("Wave pattern frequency (higher means more waves).")] + public float Frequency = 10f; + + [Range(4f, 12f), Tooltip("Global scaling.")] + public float Scaling = 7.5f; + + [Range(0.1f, 0.5f), Tooltip("Stroke maximum thickness.")] + public float MaxThickness = 0.2f; + + [Range(0f, 1f), Tooltip("Contribution threshold (higher means more continous strokes).")] + public float Threshold = 0.7f; + + [Range(-0.3f, 0.3f), Tooltip("Stroke pressure.")] + public float Harshness = 0f; + + [Range(0f, 1f), Tooltip("Amount of red to contribute to the strokes.")] + public float RedLuminance = 0.299f; + + [Range(0f, 1f), Tooltip("Amount of green to contribute to the strokes.")] + public float GreenLuminance = 0.587f; + + [Range(0f, 1f), Tooltip("Amount of blue to contribute to the strokes.")] + public float BlueLuminance = 0.114f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + float scale = Scaling / (float)source.height; + Material.SetVector("_Params1", new Vector4(Amplitude, Frequency, scale, MaxThickness * scale)); + Material.SetVector("_Params2", new Vector3(RedLuminance, GreenLuminance, BlueLuminance)); + Material.SetVector("_Params3", new Vector2(Threshold, Harshness)); + Graphics.Blit(source, destination, Material, (int)Mode); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Strokes.cs.meta b/Assets/Colorful FX/Scripts/Effects/Strokes.cs.meta new file mode 100644 index 0000000..123b6e6 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Strokes.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 91fe5838a9fc42d449149118120a80a8 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: fcfe9bb61d41be54db37021f6228a5a2, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/TVVignette.cs b/Assets/Colorful FX/Scripts/Effects/TVVignette.cs new file mode 100644 index 0000000..9d2f23b --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/TVVignette.cs @@ -0,0 +1,32 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/tv-vignette.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/TV Vignette")] + public class TVVignette : BaseEffect + { + [Min(0f)] + public float Size = 25f; + + [Range(0f, 1f)] + public float Offset = 0.2f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Offset >= 1f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetVector("_Params", new Vector2(Size, Offset)); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/TVVignette.cs.meta b/Assets/Colorful FX/Scripts/Effects/TVVignette.cs.meta new file mode 100644 index 0000000..c717553 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/TVVignette.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c8dc5284f20376c48a179856ec3388a6 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 3bdb37fb89bbc244eb7dc17f946b34e5, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Technicolor.cs b/Assets/Colorful FX/Scripts/Effects/Technicolor.cs new file mode 100644 index 0000000..f568d76 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Technicolor.cs @@ -0,0 +1,30 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/technicolor.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Technicolor")] + public class Technicolor : BaseEffect + { + [Range(0f, 8f)] + public float Exposure = 4f; + + public Vector3 Balance = new Vector3(0.25f, 0.25f, 0.25f); + + [Range(0f, 1f), Tooltip("Blending factor.")] + public float Amount = 0.5f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetFloat("_Exposure", 8f - Exposure); + Material.SetVector("_Balance", Vector3.one - Balance); + Material.SetFloat("_Amount", Amount); + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Technicolor.cs.meta b/Assets/Colorful FX/Scripts/Effects/Technicolor.cs.meta new file mode 100644 index 0000000..db95201 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Technicolor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e79d607a782dc7d4a931f5e6eb240e79 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 4c81e0318e9055a45a291da31fdd8edd, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Threshold.cs b/Assets/Colorful FX/Scripts/Effects/Threshold.cs new file mode 100644 index 0000000..846a01d --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Threshold.cs @@ -0,0 +1,30 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/threshold.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Threshold")] + public class Threshold : BaseEffect + { + [Range(1f, 255f), Tooltip("Luminosity threshold.")] + public float Value = 128f; + + [Range(0f, 128f), Tooltip("Aomunt of randomization.")] + public float NoiseRange = 24f; + + [Tooltip("Adds some randomization to the threshold value.")] + public bool UseNoise = false; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetFloat("_Threshold", Value / 255f); + Material.SetFloat("_Range", NoiseRange / 255f); + Graphics.Blit(source, destination, Material, UseNoise ? 1 : 0); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Threshold.cs.meta b/Assets/Colorful FX/Scripts/Effects/Threshold.cs.meta new file mode 100644 index 0000000..88a39c4 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Threshold.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ee27dcf977a2a6e49bd0321a3d326cd8 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 601d83f113eed6c4e9ee285c9f69b171, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Vibrance.cs b/Assets/Colorful FX/Scripts/Effects/Vibrance.cs new file mode 100644 index 0000000..e3c9d51 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Vibrance.cs @@ -0,0 +1,47 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/vibrance.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Vibrance")] + public class Vibrance : BaseEffect + { + [Range(-100f, 100f), Tooltip("Adjusts the saturation so that clipping is minimized as colors approach full saturation.")] + public float Amount = 0.0f; + + [Range(-5f, 5f)] + public float RedChannel = 1.0f; + [Range(-5f, 5f)] + public float GreenChannel = 1.0f; + [Range(-5f, 5f)] + public float BlueChannel = 1.0f; + + public bool AdvancedMode = false; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Amount <= 0f) + { + Graphics.Blit(source, destination); + return; + } + + if (AdvancedMode) + { + Material.SetFloat("_Amount", Amount * 0.01f); + Material.SetVector("_Channels", new Vector3(RedChannel, GreenChannel, BlueChannel)); + Graphics.Blit(source, destination, Material, 1); + } + else + { + Material.SetFloat("_Amount", Amount * 0.02f); + Graphics.Blit(source, destination, Material, 0); + } + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Vibrance.cs.meta b/Assets/Colorful FX/Scripts/Effects/Vibrance.cs.meta new file mode 100644 index 0000000..71a0a4d --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Vibrance.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 19618ea32564c524da32f929ef2de8d8 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: bb0e827449f1caa4bbd6dd91a05d702b, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Vintage.cs b/Assets/Colorful FX/Scripts/Effects/Vintage.cs new file mode 100644 index 0000000..71df88e --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Vintage.cs @@ -0,0 +1,65 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/vintage.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Vintage (Deprecated)")] + public class Vintage : LookupFilter + { + public enum InstragramFilter + { + None, + F1977, + Aden, + Amaro, + Brannan, + Crema, + Earlybird, + Hefe, + Hudson, + Inkwell, + Juno, + Kelvin, + Lark, + LoFi, + Ludwig, + Mayfair, + Nashville, + Perpetua, + Reyes, + Rise, + Sierra, + Slumber, + Sutro, + Toaster, + Valencia, + Walden, + Willow, + XProII + } + + public InstragramFilter Filter = InstragramFilter.None; + + protected InstragramFilter m_CurrentFilter = InstragramFilter.None; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Filter != m_CurrentFilter) + { + m_CurrentFilter = Filter; + + if (Filter == InstragramFilter.None) + LookupTexture = null; + else + LookupTexture = Resources.Load("Instagram/" + Filter.ToString()); + } + + base.OnRenderImage(source, destination); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Vintage.cs.meta b/Assets/Colorful FX/Scripts/Effects/Vintage.cs.meta new file mode 100644 index 0000000..ce676f4 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Vintage.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c7f5cffe1304732428428379c1126d90 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 37ae258c1f4d15140b45318637b0c532, type: 3} + - lookupTexture: {instanceID: 0} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/VintageFast.cs b/Assets/Colorful FX/Scripts/Effects/VintageFast.cs new file mode 100644 index 0000000..dc1f7ba --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/VintageFast.cs @@ -0,0 +1,34 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + using InstragramFilter = Vintage.InstragramFilter; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/vintage-fast.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/Vintage")] + public class VintageFast : LookupFilter3D + { + public InstragramFilter Filter = InstragramFilter.None; + + protected InstragramFilter m_CurrentFilter = InstragramFilter.None; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + if (Filter != m_CurrentFilter) + { + m_CurrentFilter = Filter; + + if (Filter == InstragramFilter.None) + LookupTexture = null; + else + LookupTexture = Resources.Load("InstagramFast/" + Filter.ToString()); + } + + base.OnRenderImage(source, destination); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/VintageFast.cs.meta b/Assets/Colorful FX/Scripts/Effects/VintageFast.cs.meta new file mode 100644 index 0000000..bc6f5c0 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/VintageFast.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 1c17a664134eb954aa7219d2d88c3bfb +MonoImporter: + serializedVersion: 2 + defaultReferences: + - LookupTexture: {instanceID: 0} + - Shader2D: {fileID: 4800000, guid: b5b3d4fe7139a7141be9b1475ea1127f, type: 3} + - Shader3D: {fileID: 4800000, guid: c356d31be0868c94d8c3eb943516cb8a, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/WaveDistortion.cs b/Assets/Colorful FX/Scripts/Effects/WaveDistortion.cs new file mode 100644 index 0000000..49f73bc --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/WaveDistortion.cs @@ -0,0 +1,46 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/wave-distortion.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Wave Distortion")] + public class WaveDistortion : BaseEffect + { + [Range(0f, 1f), Tooltip("Wave amplitude.")] + public float Amplitude = 0.6f; + + [Tooltip("Amount of waves.")] + public float Waves = 5f; + + [Range(0f, 5f), Tooltip("Amount of color shifting.")] + public float ColorGlitch = 0.35f; + + [Tooltip("Distortion state. Think of it as a bell curve going from 0 to 1, with 0.5 being the highest point.")] + public float Phase = 0.35f; + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + float fp = CLib.Frac(Phase); + + if (fp == 0f) + { + Graphics.Blit(source, destination); + return; + } + + Material.SetVector("_Params", new Vector4( + Amplitude, + Waves, + ColorGlitch, + fp + )); + + Graphics.Blit(source, destination, Material); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/WaveDistortion.cs.meta b/Assets/Colorful FX/Scripts/Effects/WaveDistortion.cs.meta new file mode 100644 index 0000000..d50bbfa --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/WaveDistortion.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 429380907452a0b4091607a6e92d2bb8 +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: a43350e669209cb4098e9297891a1ffd, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/WhiteBalance.cs b/Assets/Colorful FX/Scripts/Effects/WhiteBalance.cs new file mode 100644 index 0000000..20c26dd --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/WhiteBalance.cs @@ -0,0 +1,39 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/color-correction/white-balance.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Color Correction/White Balance")] + public class WhiteBalance : BaseEffect + { + public enum BalanceMode + { + Simple, + Complex + } + + [ColorUsage(false), Tooltip("Reference white point or midtone value.")] + public Color White = new Color(0.5f, 0.5f, 0.5f); + + [Tooltip("Algorithm used.")] + public BalanceMode Mode = BalanceMode.Complex; + + protected virtual void Reset() + { + White = CLib.IsLinearColorSpace() ? + new Color(0.72974005284f, 0.72974005284f, 0.72974005284f) : + new Color(0.5f, 0.5f, 0.5f); + } + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetColor("_White", White); + Graphics.Blit(source, destination, Material, (int)Mode); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/WhiteBalance.cs.meta b/Assets/Colorful FX/Scripts/Effects/WhiteBalance.cs.meta new file mode 100644 index 0000000..e8d3b74 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/WhiteBalance.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b87ea445a48e9f44ab51e80325d56b0a +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 36a3aa3217d66c645a4665ff1490cb28, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Scripts/Effects/Wiggle.cs b/Assets/Colorful FX/Scripts/Effects/Wiggle.cs new file mode 100644 index 0000000..ad96dc7 --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Wiggle.cs @@ -0,0 +1,55 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +namespace Colorful +{ + using UnityEngine; + + [UnityEngine.HelpURL("http://www.thomashourdel.com/colorful/doc/camera-effects/wiggle.html")] + [ExecuteInEditMode] + [AddComponentMenu("Colorful FX/Camera Effects/Wiggle")] + public class Wiggle : BaseEffect + { + public enum Algorithm + { + Simple, + Complex + } + + [Tooltip("Animation type. Complex is slower but looks more natural.")] + public Algorithm Mode = Algorithm.Complex; + + public float Timer = 0f; + + [Tooltip("Wave animation speed.")] + public float Speed = 1f; + + [Tooltip("Wave frequency (higher means more waves).")] + public float Frequency = 12f; + + [Tooltip("Wave amplitude (higher means bigger waves).")] + public float Amplitude = 0.01f; + + [Tooltip("Automatically animate this effect at runtime.")] + public bool AutomaticTimer = true; + + protected virtual void Update() + { + if (AutomaticTimer) + { + // Reset the timer after a while, some GPUs don't like big numbers + if (Timer > 1000f) + Timer -= 1000f; + + Timer += Speed * Time.deltaTime; + } + } + + protected override void OnRenderImage(RenderTexture source, RenderTexture destination) + { + Material.SetVector("_Params", new Vector3(Frequency, Amplitude, Timer * (Mode == Algorithm.Complex ? 0.1f : 1f))); + Graphics.Blit(source, destination, Material, (int)Mode); + } + } +} diff --git a/Assets/Colorful FX/Scripts/Effects/Wiggle.cs.meta b/Assets/Colorful FX/Scripts/Effects/Wiggle.cs.meta new file mode 100644 index 0000000..294021e --- /dev/null +++ b/Assets/Colorful FX/Scripts/Effects/Wiggle.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 03a36ef005a80844b8e0ffada3adad9b +MonoImporter: + serializedVersion: 2 + defaultReferences: + - Shader: {fileID: 4800000, guid: 22fe62a5d4de91a4995c1363cbc2492e, type: 3} + executionOrder: 0 + icon: {fileID: 2800000, guid: e7f8a1ed59e3e914f8e50295c1130bc1, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders.meta b/Assets/Colorful FX/Shaders.meta new file mode 100644 index 0000000..4173c59 --- /dev/null +++ b/Assets/Colorful FX/Shaders.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 758afc34556c53846b1fe519720b5153 +folderAsset: yes +timeCreated: 1466165647 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/AnalogTV.shader b/Assets/Colorful FX/Shaders/AnalogTV.shader new file mode 100644 index 0000000..53624b0 --- /dev/null +++ b/Assets/Colorful FX/Shaders/AnalogTV.shader @@ -0,0 +1,142 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Analog TV" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params1 ("Noise Intensity (X) Scanlines Intensity (Y) Scanlines Count (Z) Scanlines Offset (W)", Vector) = (0.5, 2.0, 768, 0.0) + _Params2 ("Phase (X) Distortion (Y) Cubic Distortion (Z) Scale (W)", Vector) = (0.05, 0.2, 0.6, 0.8) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Params1; + half4 _Params2; + + half4 filter_pass_h(half2 uv) + { + half2 coord = barrelDistortion(uv, _Params2.y, _Params2.z, _Params2.w); + half4 color = tex2D(_MainTex, coord); + + float n = simpleNoise(coord.xy * _Params2.x); + float dx = mod(n, 0.01); + + half3 result = color.rgb + color.rgb * saturate(0.1 + dx * 100.0); + half2 sc = half2(sin(coord.y * _Params1.z + _Params1.w), cos(coord.y * _Params1.z + _Params1.w)); + result += color.rgb * sc.xyx * _Params1.y; + result = color.rgb + saturate(_Params1.x) * (result - color.rgb); + + return half4(result, color.a); + } + + half4 filter_pass_v(half2 uv) + { + half2 coord = barrelDistortion(uv, _Params2.y, _Params2.z, _Params2.w); + half4 color = tex2D(_MainTex, coord); + + float n = simpleNoise(coord.xy * _Params2.x); + float dx = mod(n, 0.01); + + half3 result = color.rgb + color.rgb * saturate(0.1 + dx * 100.0); + half2 sc = half2(sin(coord.x * _Params1.z + _Params1.w), cos(coord.x * _Params1.z + _Params1.w)); + result += color.rgb * sc.xyx * _Params1.y; + result = color.rgb + saturate(_Params1.x) * (result - color.rgb); + + return half4(result, color.a); + } + + half4 frag(v2f_img i) : SV_Target + { + return filter_pass_h(i.uv); + } + + half4 frag_grayscale(v2f_img i) : SV_Target + { + half4 result = filter_pass_h(i.uv); + half lum = luminance(result.rgb); + result = half4(lum, lum, lum, result.a); + return result; + } + + half4 frag_vertical(v2f_img i) : SV_Target + { + return filter_pass_v(i.uv); + } + + half4 frag_grayscale_vertical(v2f_img i) : SV_Target + { + half4 result = filter_pass_v(i.uv); + half lum = luminance(result.rgb); + result = half4(lum, lum, lum, result.a); + return result; + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Horizontal scanlines + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma glsl + + ENDCG + } + + // (1) Horizontal scanlines + grayscale + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_grayscale + #pragma fragmentoption ARB_precision_hint_fastest + #pragma glsl + + ENDCG + } + + // (2) Vertical scanlines + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_vertical + #pragma fragmentoption ARB_precision_hint_fastest + #pragma glsl + + ENDCG + } + + // (3) Vertical scanlines + grayscale + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_grayscale_vertical + #pragma fragmentoption ARB_precision_hint_fastest + #pragma glsl + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/AnalogTV.shader.meta b/Assets/Colorful FX/Shaders/AnalogTV.shader.meta new file mode 100644 index 0000000..f90be40 --- /dev/null +++ b/Assets/Colorful FX/Shaders/AnalogTV.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6b426a8c366d0584dadb551db862ddeb +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/BilateralGaussianBlur.shader b/Assets/Colorful FX/Shaders/BilateralGaussianBlur.shader new file mode 100644 index 0000000..4a64a2f --- /dev/null +++ b/Assets/Colorful FX/Shaders/BilateralGaussianBlur.shader @@ -0,0 +1,111 @@ +// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' + +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Bilateral Gaussian Blur" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Direction ("Direction (XY)", Vector) = (0, 0, 0, 0) + _Threshold ("Threshold", Float) = 0 + _Amount ("Blend factor (Float)", Float) = 1.0 + } + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Blur + Pass + { + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma exclude_renderers flash + #include "UnityCG.cginc" + + sampler2D _MainTex; + sampler2D _CameraDepthTexture; + half2 _Direction; + half _Threshold; + + struct fInput + { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float4 uv1 : TEXCOORD1; + float4 uv2 : TEXCOORD2; + }; + + fInput vert(appdata_img v) + { + fInput o; + o.pos = UnityObjectToClipPos(v.vertex); + o.uv = v.texcoord.xy; + float2 d1 = 1.3846153846 * _Direction; + float2 d2 = 3.2307692308 * _Direction; + o.uv1 = float4(o.uv + d1, o.uv - d1); + o.uv2 = float4(o.uv + d2, o.uv - d2); + return o; + } + + half4 frag(fInput i) : SV_Target + { + const half2 uvs[4] = { i.uv1.xy, i.uv1.zw, i.uv2.xy, i.uv2.zw }; + + half depth = Linear01Depth(tex2D(_CameraDepthTexture, i.uv).x); + half4 accum = tex2D(_MainTex, i.uv) * 0.2270270270; + half accumWeight = 0.2270270270; + + half4 depthTmp; + depthTmp.x = Linear01Depth(tex2D(_CameraDepthTexture, uvs[0]).x); + depthTmp.y = Linear01Depth(tex2D(_CameraDepthTexture, uvs[1]).x); + depthTmp.z = Linear01Depth(tex2D(_CameraDepthTexture, uvs[2]).x); + depthTmp.w = Linear01Depth(tex2D(_CameraDepthTexture, uvs[3]).x); + half4 diff = abs(depth - depthTmp); + half4 weight = (1.0 - step(_Threshold, diff)) * half4(0.3162162162, 0.3162162162, 0.0702702703, 0.0702702703); + + for (int i = 0; i < 4; i++) + { + accum += weight[i] * tex2D(_MainTex, uvs[i]); + accumWeight += weight[i]; + } + + return accum / accumWeight; + } + + ENDCG + } + + // (1) Composite if _Amount is in ]0;1[ + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + sampler2D _Blurred; + half _Amount; + + half4 frag(v2f_img i) : SV_Target + { + half4 oc = tex2D(_MainTex, i.uv); + half4 bc = tex2D(_Blurred, i.uv); + return lerp(oc, bc, _Amount); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/BilateralGaussianBlur.shader.meta b/Assets/Colorful FX/Shaders/BilateralGaussianBlur.shader.meta new file mode 100644 index 0000000..b7bf8c6 --- /dev/null +++ b/Assets/Colorful FX/Shaders/BilateralGaussianBlur.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a8686488660cc994aa7b3197735727dc +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/BleachBypass.shader b/Assets/Colorful FX/Shaders/BleachBypass.shader new file mode 100644 index 0000000..144ccc2 --- /dev/null +++ b/Assets/Colorful FX/Shaders/BleachBypass.shader @@ -0,0 +1,50 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Bleach Bypass" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Amount ("Amount", Range(0.0, 1.0)) = 1.0 + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half _Amount; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half lum = luminance(color.rgb); + half3 blend = half3(lum, lum, lum); + half L = min(1.0, max(0.0, 10.0 * (lum - 0.45))); + half3 nc = lerp(2.0 * color.rgb * blend, + 1.0 - 2.0 * (1.0 - blend) * (1.0 - color.rgb), + L); + + return lerp(color, half4(nc, color.a), _Amount); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/BleachBypass.shader.meta b/Assets/Colorful FX/Shaders/BleachBypass.shader.meta new file mode 100644 index 0000000..ea99bf2 --- /dev/null +++ b/Assets/Colorful FX/Shaders/BleachBypass.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: db51fb80780ef714492de6fd9a5b3748 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Blend.shader b/Assets/Colorful FX/Shaders/Blend.shader new file mode 100644 index 0000000..4461482 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Blend.shader @@ -0,0 +1,489 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Blend" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _OverlayTex ("Overlay (RGB)", 2D) = "white" {} + _Amount ("Amount", Range(0.0, 1.0)) = 1.0 + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + #define half4_one half4(1.0, 1.0, 1.0, 1.0) + + sampler2D _MainTex; + sampler2D _OverlayTex; + half _Amount; + + // Darken + half4 frag_darken(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, min(c, o), _Amount); + } + + // Multiply + half4 frag_multiply(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, c * o, _Amount); + } + + // Color Burn + half4 frag_colorburn(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, half4_one - (half4_one - c) / o, _Amount); + } + + // Linear Burn + half4 frag_linearburn(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, o + c - half4_one, _Amount); + } + + // Darker Color + half4 frag_darkercolor(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + half4 result = luminance(c.rgb) < luminance(o.rgb) ? c : o; + return lerp(c, result, _Amount); + } + + // Lighten + half4 frag_lighten(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, max(c, o), _Amount); + } + + // Screen + half4 frag_screen(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, half4_one - ((half4_one - o) * (half4_one - c)), _Amount); + } + + // Color Dodge + half4 frag_colordodge(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, c / (half4_one - o), _Amount); // Should check for div by 0 but GPU drivers apparently don't care + } + + // Linear Dodge (Add) + half4 frag_add(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, c + o, _Amount); + } + + // Lighter Color + half4 frag_lightercolor(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + half4 result = luminance(c.rgb) > luminance(o.rgb) ? c : o; + return lerp(c, result, _Amount); + } + + // Overlay + half4 frag_overlay(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + half4 check = step(0.5, c); + half4 result = check * (half4_one - ((half4_one - 2.0 * (c - 0.5)) * (half4_one - o))); + result += (half4_one - check) * (2.0 * c * o); + return lerp(c, result, _Amount); + } + + // Soft Light + half4 frag_softlight(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + half4 check = step(0.5, o); + half4 result = check * (2.0 * c * o + c * c - 2.0 * c * c * o); + result += (half4_one - check) * (2.0 * sqrt(c) * o - sqrt(c) + 2.0 * c - 2.0 * c * o); + return lerp(c, result, _Amount); + } + + // Hard Light + half4 frag_hardlight(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + half4 check = step(0.5, o); + half4 result = check * (half4_one - ((half4_one - 2.0 * (c - 0.5)) * (half4_one - o))); + result += (half4_one - check) * (2.0 * c * o); + return lerp(c, result, _Amount); + } + + // Vivid Light + half4 frag_vividlight(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + half4 check = step(0.5, o); + half4 result = check * (c / (half4_one - 2.0 * (o - 0.5))); + result += (half4_one - check) * (half4_one - (half4_one - c) / (2.0 * o)); + return lerp(c, result, _Amount); + } + + // Linear Light + half4 frag_linearlight(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + half4 check = step(0.5, o); + half4 result = check * (c + (2.0 * (o - 0.5))); + result += (half4_one - check) * (c + 2.0 * o - half4_one); + return lerp(c, result, _Amount); + } + + // Pin Light + half4 frag_pinlight(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + half4 check = step(0.5, o); + half4 result = check * max(2.0 * (o - 0.5), c); + result += (half4_one - check) * min(2 * o, c); + return lerp(c, result, _Amount); + } + + // Hard Mix + half4 frag_hardmix(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + half4 result = half4(0.0, 0.0, 0.0, 0.0); + result.r = o.r > 1.0 - c.r ? 1.0 : 0.0; + result.g = o.g > 1.0 - c.g ? 1.0 : 0.0; + result.b = o.b > 1.0 - c.b ? 1.0 : 0.0; + result.a = o.a > 1.0 - c.a ? 1.0 : 0.0; + return lerp(c, result, _Amount); + } + + // Difference + half4 frag_difference(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, abs(c - o), _Amount); + } + + // Exclusion + half4 frag_exclusion(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, c + o - (2 * c * o), _Amount); + } + + // Subtract + half4 frag_subtract(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, saturate(c - o), _Amount); + } + + // Divide + half4 frag_divide(v2f_img i) : SV_Target + { + half4 o = tex2D(_OverlayTex, i.uv); + half4 c = tex2D(_MainTex, i.uv); + return lerp(c, c / o, _Amount); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Darken + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_darken + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Multiply + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_multiply + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (2) Color Burn + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_colorburn + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (3) Linear Burn + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linearburn + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (4) Darker Color + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_darkercolor + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // Separator + Pass {} + + // (6) Lighten + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_lighten + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (7) Screen + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_screen + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (8) Color Dodge + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_colordodge + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (9) Linear Dodge (add) + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_add + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (10) Lighter Color + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_lightercolor + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // Separator + Pass {} + + // (12) Overlay + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_overlay + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (13) Soft Light + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_softlight + #pragma fragmentoption ARB_precision_hint_fastest + #pragma exclude_renderers flash + + ENDCG + } + + // (14) Hard Light + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_hardlight + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (15) Vivid Light + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_vividlight + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (16) Linear Light + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linearlight + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (17) Pin Light + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_pinlight + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (18) Hard Mix + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_hardmix + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // Separator + Pass {} + + // (20) Difference + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_difference + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (21) Exclusion + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_exclusion + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (22) Subtract + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_subtract + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (23) Divide + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_divide + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Blend.shader.meta b/Assets/Colorful FX/Shaders/Blend.shader.meta new file mode 100644 index 0000000..7c6c0ef --- /dev/null +++ b/Assets/Colorful FX/Shaders/Blend.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 753c5a4449b3c184b85015dea8325051 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/BrightnessContrastGamma.shader b/Assets/Colorful FX/Shaders/BrightnessContrastGamma.shader new file mode 100644 index 0000000..2d54dbd --- /dev/null +++ b/Assets/Colorful FX/Shaders/BrightnessContrastGamma.shader @@ -0,0 +1,50 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Brightness Contrast Gamma" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _BCG ("Brightness (X) Contrast (Y) Gamma (Z)", Vector) = (0.0, 1.0, 1.0, 1.0) + _Coeffs ("Contrast coeffs (RGB)", Vector) = (0.5, 0.5, 0.5, 1.0) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half4 _BCG; + half3 _Coeffs; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half4 factor = half4(_Coeffs, color.a); + + color *= _BCG.x; + color = (color - factor) * _BCG.y + factor; + color = clamp(color, 0.0, 1.0); + color = pow(color, _BCG.z); + + return color; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/BrightnessContrastGamma.shader.meta b/Assets/Colorful FX/Shaders/BrightnessContrastGamma.shader.meta new file mode 100644 index 0000000..a7ba621 --- /dev/null +++ b/Assets/Colorful FX/Shaders/BrightnessContrastGamma.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c1ffdcaa7728ced4fa68c999e5e7f2de +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/ChannelClamper.shader b/Assets/Colorful FX/Shaders/ChannelClamper.shader new file mode 100644 index 0000000..248e99c --- /dev/null +++ b/Assets/Colorful FX/Shaders/ChannelClamper.shader @@ -0,0 +1,48 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Channel Clamper" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _RedClamp ("Red Clamp (XY)", Vector) = (0.0, 1.0, 0.0, 0.0) + _GreenClamp ("Green Clamp (XY)", Vector) = (0.0, 1.0, 0.0, 0.0) + _BlueClamp ("Blue Clamp (XY)", Vector) = (0.0, 1.0, 0.0, 0.0) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half2 _RedClamp; + half2 _GreenClamp; + half2 _BlueClamp; + + half4 frag(v2f_img i) : SV_Target + { + half3 color = tex2D(_MainTex, i.uv).rgb; + color.r = clamp(color.r, _RedClamp.x, _RedClamp.y); + color.g = clamp(color.g, _GreenClamp.x, _GreenClamp.y); + color.b = clamp(color.b, _BlueClamp.x, _BlueClamp.y); + return half4(color, 1.0); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/ChannelClamper.shader.meta b/Assets/Colorful FX/Shaders/ChannelClamper.shader.meta new file mode 100644 index 0000000..b763bfe --- /dev/null +++ b/Assets/Colorful FX/Shaders/ChannelClamper.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a4066b90a1d8ac540b9994745a496312 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/ChannelMixer.shader b/Assets/Colorful FX/Shaders/ChannelMixer.shader new file mode 100644 index 0000000..79e4c4b --- /dev/null +++ b/Assets/Colorful FX/Shaders/ChannelMixer.shader @@ -0,0 +1,53 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Channel Mixer" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Red ("Red Channel", Vector) = (1, 0, 0, 1) + _Green ("Green Channel", Vector) = (0, 1, 0, 1) + _Blue ("Blue Channel", Vector) = (0, 0, 1, 1) + _Constant ("Constant", Vector) = (0, 0, 0, 1) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half4 _Red; + half4 _Green; + half4 _Blue; + half4 _Constant; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half3 result = (color.rrr * _Red) + + (color.ggg * _Green) + + (color.bbb * _Blue) + + _Constant; + + return half4(result, color.a); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/ChannelMixer.shader.meta b/Assets/Colorful FX/Shaders/ChannelMixer.shader.meta new file mode 100644 index 0000000..6409daa --- /dev/null +++ b/Assets/Colorful FX/Shaders/ChannelMixer.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d5203c49c0e949f4e9b53909003b6b8f +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/ChannelSwapper.shader b/Assets/Colorful FX/Shaders/ChannelSwapper.shader new file mode 100644 index 0000000..22ea5c7 --- /dev/null +++ b/Assets/Colorful FX/Shaders/ChannelSwapper.shader @@ -0,0 +1,56 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Channel Swapper" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Red ("Red Source Channel (RGB)", Vector) = (1, 0, 0, 0) + _Green ("Green Source Channel (RGB)", Vector) = (0, 1, 0, 0) + _Blue ("Blue Source Channel (RGB)", Vector) = (0, 0, 1, 0) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half4 _Red; + half4 _Green; + half4 _Blue; + + half4 frag(v2f_img i) : SV_Target + { + half3 color = tex2D(_MainTex, i.uv).rgb; + + half3 red = color * _Red.rgb; + half3 green = color * _Green.rgb; + half3 blue = color * _Blue.rgb; + + half3 result = half3( + red.x + red.y + red.z, + green.x + green.y + green.z, + blue.x + blue.y + blue.z + ); + + return half4(result, 1.0); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/ChannelSwapper.shader.meta b/Assets/Colorful FX/Shaders/ChannelSwapper.shader.meta new file mode 100644 index 0000000..61d40ac --- /dev/null +++ b/Assets/Colorful FX/Shaders/ChannelSwapper.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 382b6d6c7bf6b3b49b364517c68bb0d2 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/ChromaticAberration.shader b/Assets/Colorful FX/Shaders/ChromaticAberration.shader new file mode 100644 index 0000000..6a77d7d --- /dev/null +++ b/Assets/Colorful FX/Shaders/ChromaticAberration.shader @@ -0,0 +1,76 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Chromatic Aberration" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Refraction ("Refraction Index (RGB)", Vector) = (1.0, 1.005, 1.01, 0.0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + + sampler2D _MainTex; + half3 _Refraction; + + half3 compute(half2 uv) + { + half3 incidence = half3(2.0 * uv - 1.0, 1.0); + half3 normal = half3(0.0, 0.0, -1.0); + half3 refract_r = refract(incidence, normal, _Refraction.r); + half3 refract_g = refract(incidence, normal, _Refraction.g); + half3 refract_b = refract(incidence, normal, _Refraction.b); + half2 uv_r = ((refract_r / refract_r.z).xy + 1.0) / 2.0; + half2 uv_g = ((refract_g / refract_g.z).xy + 1.0) / 2.0; + half2 uv_b = ((refract_b / refract_b.z).xy + 1.0) / 2.0; + return half3(tex2D(_MainTex, uv_r).r, tex2D(_MainTex, uv_g).g, tex2D(_MainTex, uv_b).b); + } + + half4 frag(v2f_img i) : SV_Target + { + return half4(compute(i.uv), 1.0); + } + + half4 frag_alpha(v2f_img i) : SV_Target + { + return half4(compute(i.uv), tex2D(_MainTex, i.uv).a); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Preserve alpha = false + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Preserve alpha = true + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_alpha + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/ChromaticAberration.shader.meta b/Assets/Colorful FX/Shaders/ChromaticAberration.shader.meta new file mode 100644 index 0000000..d7682aa --- /dev/null +++ b/Assets/Colorful FX/Shaders/ChromaticAberration.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 447e63f892fae1d49b961d2132c02b5a +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Colorful.cginc b/Assets/Colorful FX/Shaders/Colorful.cginc new file mode 100644 index 0000000..d5dea3b --- /dev/null +++ b/Assets/Colorful FX/Shaders/Colorful.cginc @@ -0,0 +1,182 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +/* Constants */ +#define PI 3.14159265 + +/* Maths */ +half luminance(half3 color) +{ + return dot(color, half3(0.222, 0.707, 0.071)); +} + +half3 mod(half3 x, half3 y) // OpenGL version, different from CG/HLSL's fmod +{ + return x - y * floor(x / y); +} + +half2 mod(half2 x, half2 y) +{ + return x - y * floor(x / y); +} + +half mod(half x, half y) +{ + return x - y * floor(x / y); +} + +half rot(half value, half low, half hi) +{ + return (value < low) ? value + hi : (value > hi) ? value - hi : value; +} + +half rot10(half value) +{ + return rot(value, 0.0, 1.0); +} + +float simpleNoise(float2 uv) +{ + return frac(sin(dot(uv, float2(12.9898, 78.233))) * 43758.5453); +} + +float simpleNoise_fracLess(float2 uv) +{ + return sin(dot(uv, float2(12.9898, 78.233))) * 43758.5453; +} + +half invlerp(half from, half to, half value) +{ + return (value - from) / (to - from); +} + +/* Distortions */ +half4 pixelate(sampler2D tex, half2 uv, half scale, half ratio) +{ + half ds = 1.0 / scale; + half2 coord = half2(ds * ceil(uv.x / ds), (ds * ratio) * ceil(uv.y / ds / ratio)); + return half4(tex2D(tex, coord).xyzw); +} + +half4 pixelate(sampler2D tex, half2 uv, half2 scale) +{ + half2 ds = 1.0 / scale; + half2 coord = ds * ceil(uv / ds); + return half4(tex2D(tex, coord).xyzw); +} + +half2 barrelDistortion(half2 coord, half spherical, half barrel, half scale) +{ + // Inspired by SynthEyes lens distortion algorithm + // See http://www.ssontech.com/content/lensalg.htm + half2 h = coord.xy - half2(0.5, 0.5); + half r2 = dot(h, h); + half f = 1.0 + r2 * (spherical + barrel * sqrt(r2)); + return f * scale * h + 0.5; +} + +/* Color conversion */ +half3 HSVtoRGB(half3 c) +{ + half4 K = half4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + half3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * lerp(K.xxx, saturate(p - K.xxx), c.y); +} + +half3 RGBtoHSV(half3 c) +{ + half4 K = half4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + half4 p = lerp(half4(c.bg, K.wz), half4(c.gb, K.xy), step(c.b, c.g)); + half4 q = lerp(half4(p.xyw, c.r), half4(c.r, p.yzx), step(p.x, c.r)); + + half d = q.x - min(q.w, q.y); + half e = 1.0e-10; + return half3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); +} + +half RGBtoHUE(half3 c) +{ + half4 K = half4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + half4 p = lerp(half4(c.bg, K.wz), half4(c.gb, K.xy), step(c.b, c.g)); + half4 q = lerp(half4(p.xyw, c.r), half4(c.r, p.yzx), step(p.x, c.r)); + + half d = q.x - min(q.w, q.y); + return abs(q.z + (q.w - q.y) / (6.0 * d + 1.0e-10)); +} + +half3 HUEtoRGB(half h) +{ + half h6 = h * 6.0; + half r = abs(h6 - 3.0) - 1.0; + half g = 2.0 - abs(h6 - 2.0); + half b = 2.0 - abs(h6 - 4.0); + return saturate(half3(r, g, b)); +} + +half3 RGBtoHSL(half3 c) +{ + half3 hsv = RGBtoHSV(c); + half l = hsv.z - hsv.y * 0.5; + half s = hsv.y / (1.0 - abs(l * 2.0 - 1.0) + 1e-10); + return half3(hsv.x, s, l); +} + +half3 HSLtoRGB(half3 c) +{ + half3 rgb = HUEtoRGB(c.x); + half C = (1.0 - abs(2.0 * c.z - 1.0)) * c.y; + return (rgb - 0.5) * C + c.z; +} + +half3 RGBtoYUV(half3 c) +{ + half3 yuv; + yuv.x = dot(c, half3(0.299, 0.587, 0.114)); + yuv.y = dot(c, half3(-0.14713, -0.28886, 0.436)); + yuv.z = dot(c, half3(0.615, -0.51499, -0.10001)); + return yuv; +} + +half3 YUVtoRGB(half3 c) +{ + half3 rgb; + rgb.r = c.x + c.z * 1.13983; + rgb.g = c.x + dot(half2(-0.39465, -0.58060), c.yz); + rgb.b = c.x + c.y * 2.03211; + return rgb; +} + +half4 RGBtoCMYK(half3 c) +{ + half k = max(max(c.r, c.g), c.b); + return min(half4(c.rgb / k, k), 1.0); +} + +half3 CMYKtoRGB(half4 c) +{ + return c.rgb * c.a; +} + +/* + * sRGB <-> Linear from http://entropymine.com/imageworsener/srgbformula/ + * using a bit more precise values than the IEC 61966-2-1 standard + * see http://en.wikipedia.org/wiki/SRGB for more information + */ +half3 sRGB(half3 color) +{ + color = (color <= half3(0.0031308, 0.0031308, 0.0031308)) ? color * 12.9232102 : 1.055 * pow(color, 0.41666) - 0.055; + return color; +} + +half4 sRGB(half4 color) +{ + color.rgb = (color.rgb <= half3(0.0031308, 0.0031308, 0.0031308)) ? color.rgb * 12.9232102 : 1.055 * pow(color.rgb, 0.41666) - 0.055; + return color; +} + +half4 Linear(half4 color) +{ + color.rgb = (color.rgb <= half3(0.0404482, 0.0404482, 0.0404482)) ? color.rgb / 12.9232102 : pow((color.rgb + 0.055) * 0.9478672, 2.4); + return color; +} diff --git a/Assets/Colorful FX/Shaders/Colorful.cginc.meta b/Assets/Colorful FX/Shaders/Colorful.cginc.meta new file mode 100644 index 0000000..b876c50 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Colorful.cginc.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3db28f87c4ae8cc48a6815cbd2dcef86 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/ComicBook.shader b/Assets/Colorful FX/Shaders/ComicBook.shader new file mode 100644 index 0000000..8e9a357 --- /dev/null +++ b/Assets/Colorful FX/Shaders/ComicBook.shader @@ -0,0 +1,138 @@ +// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' + +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Comic Book" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _StripParams; + half3 _StripParams2; + half3 _StripInnerColor; + half3 _StripOuterColor; + + half3 _FillColor; + half3 _BackgroundColor; + + half _EdgeThreshold; + half3 _EdgeColor; + + struct fInput + { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float4 uvs[4] : TEXCOORD1; + }; + + fInput vert_edge(appdata_img v) + { + fInput o; + o.pos = UnityObjectToClipPos(v.vertex); + float2 uv = v.texcoord.xy; + o.uv = uv; + o.uvs[0] = float4(uv.x - _EdgeThreshold, uv.y + _EdgeThreshold, uv.x - _EdgeThreshold, uv.y ); + o.uvs[1] = float4(uv.x - _EdgeThreshold, uv.y - _EdgeThreshold, uv.x , uv.y + _EdgeThreshold); + o.uvs[2] = float4(uv.x , uv.y - _EdgeThreshold, uv.x + _EdgeThreshold, uv.y + _EdgeThreshold); + o.uvs[3] = float4(uv.x + _EdgeThreshold, uv.y , uv.x + _EdgeThreshold, uv.y - _EdgeThreshold); + return o; + } + + half3 strip_color(half2 uv) + { + half2 p = (uv - 0.5) * _StripParams2.x; + half brightness = cos(dot(p, _StripParams.xy)); + half lum_strip = luminance(1.0 - brightness); + return lerp(_StripOuterColor, _StripInnerColor, step(lum_strip, _StripParams2.y)); + } + + half4 frag_edge(fInput i) : SV_Target + { + half3 color = _BackgroundColor; + + half3 sample0 = tex2D(_MainTex, i.uvs[0].xy).rgb; + half3 sample1 = tex2D(_MainTex, i.uvs[0].zw).rgb; + half3 sample2 = tex2D(_MainTex, i.uvs[1].xy).rgb; + half3 sample3 = tex2D(_MainTex, i.uvs[1].zw).rgb; + half3 sample4 = tex2D(_MainTex, i.uv).rgb; + half3 sample5 = tex2D(_MainTex, i.uvs[2].xy).rgb; + half3 sample6 = tex2D(_MainTex, i.uvs[2].zw).rgb; + half3 sample7 = tex2D(_MainTex, i.uvs[3].xy).rgb; + half3 sample8 = tex2D(_MainTex, i.uvs[3].zw).rgb; + + half3 hEdge = sample2 + sample5 + sample8 - (sample0 + sample3 + sample6); + half3 vEdge = sample0 + sample1 + sample2 - (sample6 + sample7 + sample8); + half3 edge = sqrt(hEdge * hEdge + vEdge * vEdge); + + if (edge.r > 0.5 || edge.g > 0.5 || edge.b > 0.5) // Flattened by Unity's shader compiler on DX9 and GL + { + color = _EdgeColor; + } + else + { + half lum = luminance(tex2D(_MainTex, i.uv).rgb); + half s1 = step(lum, _StripParams.z); + half s2 = step(_StripParams.z, lum) * step(lum, _StripParams.w); + color = lerp(lerp(_BackgroundColor, strip_color(i.uv), s2), _FillColor, s1); + } + + return half4(lerp(sample4, color, _StripParams2.z), 1.0); + } + + half4 frag(v2f_img i) : SV_Target + { + half3 color = _BackgroundColor; + + half lum = luminance(tex2D(_MainTex, i.uv).rgb); + half s1 = step(lum, _StripParams.z); + half s2 = step(_StripParams.z, lum) * step(lum, _StripParams.w); + color = lerp(lerp(_BackgroundColor, strip_color(i.uv), s2), _FillColor, s1); + + return half4(lerp(tex2D(_MainTex, i.uv).rgb, color, _StripParams2.z), 1.0); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) No edge detection + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Edge detection + Pass + { + CGPROGRAM + + #pragma vertex vert_edge + #pragma fragment frag_edge + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/ComicBook.shader.meta b/Assets/Colorful FX/Shaders/ComicBook.shader.meta new file mode 100644 index 0000000..0b5a381 --- /dev/null +++ b/Assets/Colorful FX/Shaders/ComicBook.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 589797c62ca68254ea3643767841da50 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/ContrastGain.shader b/Assets/Colorful FX/Shaders/ContrastGain.shader new file mode 100644 index 0000000..21fd67c --- /dev/null +++ b/Assets/Colorful FX/Shaders/ContrastGain.shader @@ -0,0 +1,50 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Contrast Gain" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Gain ("Contrast Gain (Float)", Float) = 1.0 + } + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half _Gain; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = saturate(tex2D(_MainTex, i.uv)); + half g = pow(2.0, _Gain) * 0.5; + + // The following code fails for some reason on Unity 4.6/DX9 + //color.rgb = (color.rgb < 0.5) ? pow(color.rgb, _Gain) * g : 1.0 - pow(1.0 - color.rgb, _Gain) * g; + // So use a classic lerp/step combo instead + half3 c1 = pow(color.rgb, _Gain) * g; + half3 c2 = 1.0 - pow(1.0 - color.rgb, _Gain) * g; + color.rgb = lerp(c1, c2, step(0.5, color.rgb)); + + return color; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/ContrastGain.shader.meta b/Assets/Colorful FX/Shaders/ContrastGain.shader.meta new file mode 100644 index 0000000..6144158 --- /dev/null +++ b/Assets/Colorful FX/Shaders/ContrastGain.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3973b60005a6730458dd6590aa15584e +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/ContrastVignette.shader b/Assets/Colorful FX/Shaders/ContrastVignette.shader new file mode 100644 index 0000000..7a91590 --- /dev/null +++ b/Assets/Colorful FX/Shaders/ContrastVignette.shader @@ -0,0 +1,51 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Contrast Vignette" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Sharpness (X) Darkness (Y) Contrast (Z) Edge (W)", Vector) = (0.1, 0.3, 0.25, 0.5) + _Coeffs ("Luminance coeffs (RGB)", Vector) = (0.5, 0.5, 0.5, 1.0) + _Center ("Center point (XY)", Vector) = (0.5, 0.5, 1.0, 1.0) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half4 _Params; + half3 _Coeffs; + half4 _Center; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half d = distance(i.uv, _Center.xy); + half multiplier = smoothstep(0.8, _Params.x * 0.799, d * (_Params.y + _Params.x)); + color.rgb = (color.rgb - _Coeffs) * max((1.0 - _Params.z * (multiplier - 1.0) - _Params.w), 1.0) + _Coeffs; + color.rgb *= multiplier; + + return color; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/ContrastVignette.shader.meta b/Assets/Colorful FX/Shaders/ContrastVignette.shader.meta new file mode 100644 index 0000000..f118d74 --- /dev/null +++ b/Assets/Colorful FX/Shaders/ContrastVignette.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 76dfe25966c72ac4e9fcea7968814159 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Convolution3x3.shader b/Assets/Colorful FX/Shaders/Convolution3x3.shader new file mode 100644 index 0000000..b2211df --- /dev/null +++ b/Assets/Colorful FX/Shaders/Convolution3x3.shader @@ -0,0 +1,83 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Convolution 3x3" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _PSize ("Pixel Size (XY)", Vector) = (1, 1, 0, 0) + _KernelT ("Kernel Top Row", Vector) = (0, 0, 0, 0) + _KernelM ("Kernel Middle Row", Vector) = (0, 0, 0, 0) + _KernelB ("Kernel Bottom Row", Vector) = (0, 0, 0, 0) + _Amount ("Amount", Range(0.0, 1.0)) = 1.0 + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma exclude_renderers flash + #include "UnityCG.cginc" + + sampler2D _MainTex; + half2 _PSize; + half4 _KernelT; + half4 _KernelM; + half4 _KernelB; + half _Amount; + + half4 frag(v2f_img i) : SV_Target + { + half4 origin; + half4 color = half4(0.0, 0.0, 0.0, 0.0); + half4 temp; + + // Top + temp = tex2D(_MainTex, i.uv + half2(-_PSize.x, -_PSize.y)); + color += temp * _KernelT.x; + + temp = tex2D(_MainTex, i.uv + half2(0.0, -_PSize.y)); + color += temp * _KernelT.y; + + temp = tex2D(_MainTex, i.uv + half2(_PSize.x, -_PSize.y)); + color += temp * _KernelT.z; + + // Middle + temp = tex2D(_MainTex, i.uv + half2(-_PSize.x, 0.0)); + color += temp * _KernelM.x; + + origin = tex2D(_MainTex, i.uv); + color += origin * _KernelM.y; + + temp = tex2D(_MainTex, i.uv + half2(_PSize.x, 0.0)); + color += temp * _KernelM.z; + + // Bottom + temp = tex2D(_MainTex, i.uv + half2(-_PSize.x, _PSize.y)); + color += temp * _KernelB.x; + + temp = tex2D(_MainTex, i.uv + half2(0.0, _PSize.y)); + color += temp * _KernelB.y; + + temp = tex2D(_MainTex, i.uv + half2(_PSize.x, _PSize.y)); + color += temp * _KernelB.z; + + return lerp(origin, color, _Amount); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Convolution3x3.shader.meta b/Assets/Colorful FX/Shaders/Convolution3x3.shader.meta new file mode 100644 index 0000000..592c944 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Convolution3x3.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bb1bf93f638bf2145a1a3aff22f7ebf8 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/CrossStitch.shader b/Assets/Colorful FX/Shaders/CrossStitch.shader new file mode 100644 index 0000000..304e11f --- /dev/null +++ b/Assets/Colorful FX/Shaders/CrossStitch.shader @@ -0,0 +1,117 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Cross Stitch" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _StitchSize ("Stitch Size (Int)", Float) = 8 + _Brightness ("Brightness (Float)", Float) = 1.5 + _Scale ("Scale (Float)", Float) = 1.0 + _Ratio ("Ratio (Float)", Float) = 1.0 + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half _StitchSize; + half _Brightness; + half _Scale; + half _Ratio; + + half2 stitch(half2 uv) + { + half2 pixelUV = uv * _ScreenParams.xy; + half2 offset = floor(pixelUV); + offset.x = offset.x - offset.y; + offset.y = offset.x + offset.y * 2.0; + return fmod(offset, half2(_StitchSize, _StitchSize)); + } + + half4 frag(v2f_img i) : SV_Target + { + half2 reminder = stitch(i.uv); + half4 color = (reminder.x == 0 || reminder.y == 0) ? tex2D(_MainTex, i.uv) * _Brightness : half4(0.0, 0.0, 0.0, 1.0); + return color; + } + + half4 frag_invert(v2f_img i) : SV_Target + { + half2 reminder = stitch(i.uv); + half4 color = (reminder.x == 0 || reminder.y == 0) ? half4(0.0, 0.0, 0.0, 1.0) : tex2D(_MainTex, i.uv) * _Brightness; + return color; + } + + half4 frag_px(v2f_img i) : SV_Target + { + half2 reminder = stitch(i.uv); + half4 color = (reminder.x == 0 || reminder.y == 0) ? pixelate(_MainTex, i.uv, _Scale, _Ratio) * _Brightness : half4(0.0, 0.0, 0.0, 1.0); + return color; + } + + half4 frag_invert_px(v2f_img i) : SV_Target + { + half2 reminder = stitch(i.uv); + half4 color = (reminder.x == 0 || reminder.y == 0) ? half4(0.0, 0.0, 0.0, 1.0) : pixelate(_MainTex, i.uv, _Scale, _Ratio) * _Brightness; + return color; + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_invert + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_px + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_invert_px + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/CrossStitch.shader.meta b/Assets/Colorful FX/Shaders/CrossStitch.shader.meta new file mode 100644 index 0000000..da2b664 --- /dev/null +++ b/Assets/Colorful FX/Shaders/CrossStitch.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a964a19ae7fdffc4ea70dbf094568dc1 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/DirectionalBlur.shader b/Assets/Colorful FX/Shaders/DirectionalBlur.shader new file mode 100644 index 0000000..fd8e974 --- /dev/null +++ b/Assets/Colorful FX/Shaders/DirectionalBlur.shader @@ -0,0 +1,48 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/DirectionalBlur" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Direction (XY) Samples (Z)", Vector) = (0, 0, 0, 0) + } + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + #pragma glsl + #include "UnityCG.cginc" + + sampler2D _MainTex; + half3 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half2 dir = _Params.xy; + half4 color = half4(0.0, 0.0, 0.0, 0.0); + + for (int k = -_Params.z; k < _Params.z; k++) + color += tex2Dlod(_MainTex, half4(i.uv - dir * k, 0.0, 0.0)); + + return color / (_Params.z * 2.0); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/DirectionalBlur.shader.meta b/Assets/Colorful FX/Shaders/DirectionalBlur.shader.meta new file mode 100644 index 0000000..f084392 --- /dev/null +++ b/Assets/Colorful FX/Shaders/DirectionalBlur.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 335958bbdc44f564894a29445833afae +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Dithering.shader b/Assets/Colorful FX/Shaders/Dithering.shader new file mode 100644 index 0000000..0a3ecb8 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Dithering.shader @@ -0,0 +1,192 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Dithering" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Pattern ("Dithering Pattern (A)", 2D) = "white" {} + _Params ("Luminance (RGB) Amount (A)", Vector) = (0.30, 0.59, 0.11, 1.0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + sampler2D _Pattern; + half4 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half4 dither = pow(tex2D(_Pattern, (i.uv * _ScreenParams.xy) / 8.0).aaaa, 0.454545); + return lerp(color, step(dither, color), _Params.w); + } + + half4 frag_linear(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half4 dither = tex2D(_Pattern, (i.uv * _ScreenParams.xy) / 8.0).aaaa; + return lerp(color, step(dither, color), _Params.w); + } + + half4 frag_bw(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half lum = dot(color.rgb, _Params.xyz); + half4 grey = half4(lum.xxx, color.a); + half4 dither = pow(tex2D(_Pattern, (i.uv * _ScreenParams.xy) / 8.0).aaaa, 0.454545); + return lerp(color, step(dither, grey), _Params.w); + } + + half4 frag_linear_bw(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half lum = dot(color.rgb, _Params.xyz); + half4 grey = half4(lum.xxx, color.a); + half4 dither = tex2D(_Pattern, (i.uv * _ScreenParams.xy) / 8.0).aaaa; + return lerp(color, step(dither, grey), _Params.w); + } + + half4 frag_orig(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half4 dither = pow(tex2D(_Pattern, (i.uv * _ScreenParams.xy) / 8.0).aaaa, 0.454545); + return lerp(color, color + step(dither, color), _Params.w); + } + + half4 frag_linear_orig(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half4 dither = tex2D(_Pattern, (i.uv * _ScreenParams.xy) / 8.0).aaaa; + return lerp(color, color + step(dither, color), _Params.w); + } + + half4 frag_bw_orig(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half lum = dot(color.rgb, _Params.xyz); + half4 grey = half4(lum.xxx, color.a); + half4 dither = pow(tex2D(_Pattern, (i.uv * _ScreenParams.xy) / 8.0).aaaa, 0.454545); + return lerp(color, grey + step(dither, grey), _Params.w); + } + + half4 frag_linear_bw_orig(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half lum = dot(color.rgb, _Params.xyz); + half4 grey = half4(lum.xxx, color.a); + half4 dither = tex2D(_Pattern, (i.uv * _ScreenParams.xy) / 8.0).aaaa; + return lerp(color, grey + step(dither, grey), _Params.w); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Gamma + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Linear + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linear + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (2) Gamma B&W + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_bw + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (3) Linear B&W + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linear_bw + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (4) Gamma + original + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_orig + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (5) Linear + original + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linear_orig + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (6) Gamma B&W + original + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_bw_orig + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (7) Linear B&W + original + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linear_bw_orig + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Dithering.shader.meta b/Assets/Colorful FX/Shaders/Dithering.shader.meta new file mode 100644 index 0000000..636fe63 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Dithering.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6eafe2a67b46d474095df68b1396a86e +ShaderImporter: + defaultTextures: + - _MainTex: {instanceID: 0} + - _Pattern: {fileID: 2800000, guid: b00839345fed0ae4ca256ab2142e13fa, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/DoubleVision.shader b/Assets/Colorful FX/Shaders/DoubleVision.shader new file mode 100644 index 0000000..0cb82fe --- /dev/null +++ b/Assets/Colorful FX/Shaders/DoubleVision.shader @@ -0,0 +1,51 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Double Vision" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Displace ("Displace", Vector) = (0.7, 0.0, 0.0, 0.0) + _Amount ("Amount", Range(0.0, 1.0)) = 1.0 + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half2 _Displace; + half _Amount; + + half4 frag(v2f_img i) : SV_Target + { + half4 c = tex2D(_MainTex, i.uv); + half4 n = c.rgba; + + n += tex2D(_MainTex, i.uv + half2(_Displace.x * 8.0, _Displace.y * 8.0)) * 0.5; + n += tex2D(_MainTex, i.uv + half2(_Displace.x * 16.0, _Displace.y * 16.0)) * 0.3; + n += tex2D(_MainTex, i.uv + half2(_Displace.x * 24.0, _Displace.y * 24.0)) * 0.2; + + n *= 0.5; + + return lerp(c, n, _Amount); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/DoubleVision.shader.meta b/Assets/Colorful FX/Shaders/DoubleVision.shader.meta new file mode 100644 index 0000000..94dd2a5 --- /dev/null +++ b/Assets/Colorful FX/Shaders/DoubleVision.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0094bbb9058b55a4bb1874ccd072b33e +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/DynamicLookup.shader b/Assets/Colorful FX/Shaders/DynamicLookup.shader new file mode 100644 index 0000000..bb414f0 --- /dev/null +++ b/Assets/Colorful FX/Shaders/DynamicLookup.shader @@ -0,0 +1,95 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/DynamicLookup" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _White ("White point (RGB)", Color) = (1, 1, 1, 0) + _Black ("Black point (RGB)", Color) = (0, 0, 0, 0) + _Red ("Red point (RGB)", Color) = (1, 0, 0, 0) + _Green ("Green point (RGB)", Color) = (0, 1, 0, 0) + _Blue ("Blue point (RGB)", Color) = (0, 0, 1, 0) + _Yellow ("Yellow point (RGB)", Color) = (1, 1, 0, 0) + _Magenta ("Magenta point (RGB)", Color) = (1, 0, 1, 0) + _Cyan ("Cyan point (RGB)", Color) = (0, 1, 1, 0) + _Amount ("Amount (Float)", Float) = 1 + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half3 _White; + half3 _Black; + half3 _Red; + half3 _Green; + half3 _Blue; + half3 _Yellow; + half3 _Magenta; + half3 _Cyan; + half _Amount; + + half3 get_abcd(half4 color) + { + half3 ta = lerp(_Black, _Red, color.r); + half3 tb = lerp(_Green, _Yellow, color.r); + half3 tc = lerp(_Blue, _Magenta, color.r); + half3 td = lerp(_Cyan, _White, color.r); + half3 ab = lerp(ta, tb, color.g); + half3 cd = lerp(tc, td, color.g); + return lerp(ab, cd, color.b); + } + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half3 abcd = get_abcd(color); + return lerp(color, half4(abcd, 1.0), _Amount); + } + + half4 frag_linear(v2f_img i) : SV_Target + { + half4 color = sRGB(tex2D(_MainTex, i.uv)); + half3 abcd = get_abcd(color); + return Linear(lerp(color, half4(abcd, 1.0), _Amount)); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Gamma + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Linear + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linear + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/DynamicLookup.shader.meta b/Assets/Colorful FX/Shaders/DynamicLookup.shader.meta new file mode 100644 index 0000000..3f72f02 --- /dev/null +++ b/Assets/Colorful FX/Shaders/DynamicLookup.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ea36d91a0b99bd240ac1a3f17bac241b +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/FastVignette.shader b/Assets/Colorful FX/Shaders/FastVignette.shader new file mode 100644 index 0000000..002b258 --- /dev/null +++ b/Assets/Colorful FX/Shaders/FastVignette.shader @@ -0,0 +1,104 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Fast Vignette" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Center (XY) Sharpness (Z) Darkness (W)", Vector) = (0.5, 0.5, 0.1, 0.3) + _Color ("Vignette Color (RGB)", Color) = (0, 0, 0, 0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Params; + half3 _Color; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half d = distance(i.uv, _Params.xy); + half multiplier = smoothstep(0.8, _Params.z * 0.799, d * (_Params.w + _Params.z)); + color.rgb *= multiplier; + + return color; + } + + half4 frag_desat(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half d = distance(i.uv, _Params.xy); + half multiplier = smoothstep(0.8, _Params.z * 0.799, d * (_Params.w + _Params.z)); + color.rgb *= multiplier; + + half lum = luminance(color.rgb); + half4 grayscale = half4(lum, lum, lum, color.a); + + return lerp(grayscale, color, multiplier); + } + + half4 frag_rgb(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half d = distance(i.uv, _Params.xy); + half multiplier = smoothstep(0.8, _Params.z * 0.799, d * (_Params.w + _Params.z)); + half3 c = lerp(_Color, color.rgb, multiplier); + + return half4(c, color.a); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Classic + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Desaturate + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_desat + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (2) Colored + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_rgb + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/FastVignette.shader.meta b/Assets/Colorful FX/Shaders/FastVignette.shader.meta new file mode 100644 index 0000000..955dc35 --- /dev/null +++ b/Assets/Colorful FX/Shaders/FastVignette.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1025d512948837641802921c41526fd1 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Frost.shader b/Assets/Colorful FX/Shaders/Frost.shader new file mode 100644 index 0000000..3910fd7 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Frost.shader @@ -0,0 +1,91 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Frost" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Scale ("Scale", Float) = 1.2 + _Sharpness ("Sharpness", Range(0, 1.0)) = 0.4 + _Darkness ("Darkness", Range(0, 2.0)) = 0.35 + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half _Scale; + half _Sharpness; + half _Darkness; + + half4 frag(v2f_img i) : SV_Target + { + float2 uv = i.uv; + half4 color = tex2D(_MainTex, uv); + + float n = simpleNoise(uv); + + float dx = -0.005 + (n - 0.008 * floor(n / 0.008)); + float dy = -0.006 + (n - 0.01 * floor(n / 0.01)); + + half4 frosted = tex2D(_MainTex, uv + float2(dx, dy) * _Scale); + return frosted; + } + + half4 frag_vignette(v2f_img i) : SV_Target + { + float2 uv = i.uv; + half4 color = tex2D(_MainTex, uv); + + float n = simpleNoise(uv); + + float dx = -0.005 + (n - 0.008 * floor(n / 0.008)); + float dy = -0.006 + (n - 0.01 * floor(n / 0.01)); + + half4 frosted = tex2D(_MainTex, uv + float2(dx, dy) * _Scale); + + half4 vignette = half4(1.0, 1.0, 1.0, 1.0); + half d = distance(i.uv, half2(0.5, 0.5)); + vignette.rgb *= smoothstep(0.8, _Sharpness * 0.799, d * (_Darkness + _Sharpness)); + + return lerp(frosted, color, vignette); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma glsl + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_vignette + #pragma fragmentoption ARB_precision_hint_fastest + #pragma glsl + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Frost.shader.meta b/Assets/Colorful FX/Shaders/Frost.shader.meta new file mode 100644 index 0000000..ab68b46 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Frost.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b4d2d40f74bc7724f9722f04d5f7113b +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/GaussianBlur.shader b/Assets/Colorful FX/Shaders/GaussianBlur.shader new file mode 100644 index 0000000..65b83e1 --- /dev/null +++ b/Assets/Colorful FX/Shaders/GaussianBlur.shader @@ -0,0 +1,92 @@ +// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' + +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Gaussian Blur" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Direction ("Direction (XY)", Vector) = (0, 0, 0, 0) + _Amount ("Blend factor (Float)", Float) = 1.0 + } + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Blur + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half2 _Direction; + + struct fInput + { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + float4 uv1 : TEXCOORD1; + float4 uv2 : TEXCOORD2; + }; + + fInput vert(appdata_img v) + { + fInput o; + o.pos = UnityObjectToClipPos(v.vertex); + o.uv = v.texcoord.xy; + float2 d1 = 1.3846153846 * _Direction; + float2 d2 = 3.2307692308 * _Direction; + o.uv1 = float4(o.uv + d1, o.uv - d1); + o.uv2 = float4(o.uv + d2, o.uv - d2); + return o; + } + + half4 frag(fInput i) : SV_Target + { + half4 oc = tex2D(_MainTex, i.uv); + half3 c = oc.rgb * 0.2270270270; + c += tex2D(_MainTex, i.uv1.xy).rgb * 0.3162162162; + c += tex2D(_MainTex, i.uv1.zw).rgb * 0.3162162162; + c += tex2D(_MainTex, i.uv2.xy).rgb * 0.0702702703; + c += tex2D(_MainTex, i.uv2.zw).rgb * 0.0702702703; + return half4(c, oc.a); + } + + ENDCG + } + + // (1) Composite if _Amount is in ]0;1[ + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + sampler2D _Blurred; + half _Amount; + + half4 frag(v2f_img i) : SV_Target + { + half4 oc = tex2D(_MainTex, i.uv); + half4 bc = tex2D(_Blurred, i.uv); + return lerp(oc, bc, _Amount); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/GaussianBlur.shader.meta b/Assets/Colorful FX/Shaders/GaussianBlur.shader.meta new file mode 100644 index 0000000..b324f55 --- /dev/null +++ b/Assets/Colorful FX/Shaders/GaussianBlur.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f64972907dbc92b41bc72d3f358eb642 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Glitch.cginc b/Assets/Colorful FX/Shaders/Glitch.cginc new file mode 100644 index 0000000..1d1af20 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Glitch.cginc @@ -0,0 +1,52 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +#include "UnityCG.cginc" +#include "./Colorful.cginc" + +sampler2D _MainTex; +float4 _Params; // x: speed, y: intensity, z: maxDisplace, w: yuv offset + +inline float offset(float x, float levels) +{ + return floor(x * levels) / levels; +} + +inline float2 offset(float2 x, float levels) +{ + return floor(x * levels) / levels; +} + +half4 frag_tearing(v2f_img i) : SV_Target +{ + float scaledTime = _Time.y * _Params.x; + float time = scaledTime - 32.0 * floor(scaledTime / 32.0); + float change = simpleNoise(offset(i.uv.yy, 16.0) + 150.0 * offset(time, 4.0)); + + float t = 5.0 * offset(time, 16.0 * change); + float vt = 0.5 * simpleNoise(offset(i.uv.yy + t, 11.0)); + vt += 0.5 * simpleNoise(offset(i.uv.yy + t, 7.0)); + vt = vt * 2.0 - 1.0; + vt = sign(vt) * saturate((abs(vt) - (1.0 - _Params.y)) / _Params.y); + + float2 texcoords = i.uv; + texcoords = saturate(texcoords + float2(_Params.z * vt, 0.0)); + + #ifdef ALLOW_FLIPPING + float tt = offset(time, 8.0); + float rnd = simpleNoise(float2(tt, tt)); + texcoords.y = (rnd > lerp(1.0, 0.975, _Params.y)) ? 1.0 - texcoords.y : texcoords.y; + #endif + + float3 color = tex2D(_MainTex, texcoords).rgb; + + #ifdef YUV_COLOR_BLEEDING + float3 yuv = RGBtoYUV(color); + yuv.y /= 1.0 - 3.0 * abs(vt) * saturate(_Params.w - vt); + yuv.z += 0.125 * vt * saturate(vt - _Params.w); + return half4(YUVtoRGB(yuv), 1.0); + #else + return half4(color, 1.0); + #endif +} diff --git a/Assets/Colorful FX/Shaders/Glitch.cginc.meta b/Assets/Colorful FX/Shaders/Glitch.cginc.meta new file mode 100644 index 0000000..563166b --- /dev/null +++ b/Assets/Colorful FX/Shaders/Glitch.cginc.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0d26c63326b42604882ec66428c4124d +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Glitch.shader b/Assets/Colorful FX/Shaders/Glitch.shader new file mode 100644 index 0000000..1677ffa --- /dev/null +++ b/Assets/Colorful FX/Shaders/Glitch.shader @@ -0,0 +1,119 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Glitch" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + } + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // Interference + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + #pragma target 3.0 + + sampler2D _MainTex; + float3 _Params; // x: speed, y: density, z: maxDisplace + + inline float rand(float2 seed) + { + return frac(sin(dot(seed * floor(_Time.y * _Params.x), float2(127.1, 311.7))) * 43758.5453123); + } + + inline float rand(float seed) + { + return rand(float2(seed, 1.0)); + } + + half4 frag(v2f_img i) : SV_Target + { + float2 rblock = rand(floor(i.uv * _Params.y)); + float displaceNoise = pow(rblock.x, 8.0) * pow(rblock.x, 3.0) - pow(rand(7.2341), 17.0) * _Params.z; + + float r = tex2D(_MainTex, i.uv).r; + float g = tex2D(_MainTex, i.uv + half2(displaceNoise * 0.05 * rand(7.0), 0.0)).g; + float b = tex2D(_MainTex, i.uv - half2(displaceNoise * 0.05 * rand(13.0), 0.0)).b; + + return half4(r, g, b, 1.0); + } + + ENDCG + } + + // Tearing + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_tearing + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + #include "./Glitch.cginc" + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_tearing + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + #define ALLOW_FLIPPING + #include "./Glitch.cginc" + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_tearing + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + #define YUV_COLOR_BLEEDING + #include "./Glitch.cginc" + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_tearing + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + #define ALLOW_FLIPPING + #define YUV_COLOR_BLEEDING + #include "./Glitch.cginc" + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Glitch.shader.meta b/Assets/Colorful FX/Shaders/Glitch.shader.meta new file mode 100644 index 0000000..8569d84 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Glitch.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: aa077ae19c4093844b27e3a70f542644 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/GradientRamp.shader b/Assets/Colorful FX/Shaders/GradientRamp.shader new file mode 100644 index 0000000..a946187 --- /dev/null +++ b/Assets/Colorful FX/Shaders/GradientRamp.shader @@ -0,0 +1,46 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Gradient Ramp" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _RampTex ("Ramp (RGB)", 2D) = "white" {} + _Amount ("Amount", Range(0.0, 1.0)) = 1.0 + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + sampler2D _RampTex; + half _Amount; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half2 lum = luminance(color).rr; + half4 result = tex2D(_RampTex, lum); + return lerp(color, result, _Amount); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/GradientRamp.shader.meta b/Assets/Colorful FX/Shaders/GradientRamp.shader.meta new file mode 100644 index 0000000..3ba74d5 --- /dev/null +++ b/Assets/Colorful FX/Shaders/GradientRamp.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c291a5524ced7fb47af87992cd9faf81 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/GrainyBlur.shader b/Assets/Colorful FX/Shaders/GrainyBlur.shader new file mode 100644 index 0000000..daef006 --- /dev/null +++ b/Assets/Colorful FX/Shaders/GrainyBlur.shader @@ -0,0 +1,56 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/GrainyBlur" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Radius (X) Samples (Y)", Vector) = (32, 16, 0, 0) + } + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + #pragma glsl + #include "UnityCG.cginc" + + sampler2D _MainTex; + half2 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half p = _Params.x / _ScreenParams.y; + half4 c = half4(0.0, 0.0, 0.0, 0.0); + float r = sin(dot(i.uv, half2(1233.224, 1743.335))); + half2 rv = half2(0.0, 0.0); + + for(int k = 0; k < int(_Params.y); k++) + { + r = frac(3712.65 * r + 0.61432); + rv.x = (r - 0.5) * 2.0; + r = frac(3712.65 * r + 0.61432); + rv.y = (r - 0.5) * 2.0; + c += tex2Dlod(_MainTex, half4(i.uv + rv * p, 0.0, 0.0)); + } + + return c / _Params.y; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/GrainyBlur.shader.meta b/Assets/Colorful FX/Shaders/GrainyBlur.shader.meta new file mode 100644 index 0000000..426d54b --- /dev/null +++ b/Assets/Colorful FX/Shaders/GrainyBlur.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 750ea95b557224d4e876b95f85697a97 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Grayscale.shader b/Assets/Colorful FX/Shaders/Grayscale.shader new file mode 100644 index 0000000..1f2cd28 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Grayscale.shader @@ -0,0 +1,43 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Grayscale" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Luminance (RGB) Amount (A)", Vector) = (0.30, 0.59, 0.11, 1.0) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half4 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half lum = dot(color.rgb, _Params.rgb); + half4 result = half4(lum, lum, lum, color.a); + return lerp(color, result, _Params.a); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Grayscale.shader.meta b/Assets/Colorful FX/Shaders/Grayscale.shader.meta new file mode 100644 index 0000000..4686ba7 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Grayscale.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1e730ad4434e6924dbb5c4fdd20a6f16 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Halftone.shader b/Assets/Colorful FX/Shaders/Halftone.shader new file mode 100644 index 0000000..5ab8e5c --- /dev/null +++ b/Assets/Colorful FX/Shaders/Halftone.shader @@ -0,0 +1,93 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Halftone" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Scale (X) DotSize (Y) Smoothness (Z)", Vector) = (12, 1.35, 0.08) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Params; + half2 _Center; + half4x4 _MatRot; + + half4 halftone(half2 fc, half2x2 m) + { + half2 g = floor(mul(m, fc) / _Params.x) * _Params.x; + half2 smp = mul(g + 0.5 * _Params.x, m); + half s = min(length(fc - smp) / (_Params.y * 0.5 * _Params.x), 1.0); + half4 c = RGBtoCMYK(tex2D(_MainTex, (smp + _Center) / _ScreenParams.xy)); + return c + s; + } + + half3 compute(v2f_img i) + { + half2 coord = (i.uv * _ScreenParams.xy) - _Center; + + half4 cmyk = half4( + halftone(coord, half2x2(_MatRot[0])).x, // C + halftone(coord, half2x2(_MatRot[1])).y, // M + halftone(coord, half2x2(_MatRot[2])).z, // Y + halftone(coord, half2x2(_MatRot[3])).w // K + ); + + return CMYKtoRGB(smoothstep(0.8 - _Params.z, 0.8 + _Params.z, cmyk)); + } + + half4 frag(v2f_img i) : SV_Target + { + return half4(compute(i), 1.0); + } + + half4 frag_desaturate(v2f_img i) : SV_Target + { + half3 rgb = compute(i); + half lum = luminance(rgb); + return half4(lum, lum, lum, 1.0); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + + // (1) Desaturate + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_desaturate + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Halftone.shader.meta b/Assets/Colorful FX/Shaders/Halftone.shader.meta new file mode 100644 index 0000000..65f4c8b --- /dev/null +++ b/Assets/Colorful FX/Shaders/Halftone.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 496612e4443e0c74f82aad01c4d8e8c2 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/HueFocus.shader b/Assets/Colorful FX/Shaders/HueFocus.shader new file mode 100644 index 0000000..ecda597 --- /dev/null +++ b/Assets/Colorful FX/Shaders/HueFocus.shader @@ -0,0 +1,58 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Hue Focus" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Range ("Hue Range (X) Min (Y) Max", Vector) = (-0.16, 0.16, 0.0, 0.0) + _Params ("Hue (X) Boost (Y) Amount (Z)", Vector) = (0.0, 0.5, 1.0, 0.0) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half2 _Range; + half3 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = saturate(tex2D(_MainTex, i.uv)); + + half3 target = color.rgb; + half lum = luminance(target); + half hue = RGBtoHUE(target); + + if (_Range.y > 1.0 && hue < _Range.y - 1.0) hue += 1.0; + if (_Range.x < 0.0 && hue > _Range.x + 1.0) hue -= 1.0; + + target = (hue < _Params.x) ? + lerp(lum.xxx, target, smoothstep(_Range.x, _Params.x, hue) * _Params.y) : + lerp(lum.xxx, target, (1.0 - smoothstep(_Params.x, _Range.y, hue)) * _Params.y); + + color.rgb = lerp(color.rgb, target, _Params.z); + return color; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/HueFocus.shader.meta b/Assets/Colorful FX/Shaders/HueFocus.shader.meta new file mode 100644 index 0000000..abac8a8 --- /dev/null +++ b/Assets/Colorful FX/Shaders/HueFocus.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 552900fac0d27b6448ec836d923d985b +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/HueSaturationValue.shader b/Assets/Colorful FX/Shaders/HueSaturationValue.shader new file mode 100644 index 0000000..5bc8e47 --- /dev/null +++ b/Assets/Colorful FX/Shaders/HueSaturationValue.shader @@ -0,0 +1,128 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Hue Saturation Value" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Master ("Master (HSV)", Vector) = (0, 0, 0, 0) + _Reds ("Reds (HSV)", Vector) = (0, 0, 0, 0) + _Yellows ("Yellows (HSV)", Vector) = (0, 0, 0, 0) + _Greens ("Greens (HSV)", Vector) = (0, 0, 0, 0) + _Cyans ("Cyans (HSV)", Vector) = (0, 0, 0, 0) + _Blues ("Blues (HSV)", Vector) = (0, 0, 0, 0) + _Magentas ("Magentas (HSV)", Vector) = (0, 0, 0, 0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Master; + half4 _Reds; + half4 _Yellows; + half4 _Greens; + half4 _Cyans; + half4 _Blues; + half4 _Magentas; + + half4 frag_simple(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half3 hsv = RGBtoHSV(color.rgb); + hsv.x = rot10(hsv.x + _Master.x); + hsv.y = hsv.y + _Master.y; + hsv.z = hsv.z + _Master.z; + + return half4(HSVtoRGB(hsv), color.a); + } + + half4 frag_advanced(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + // Master + half3 hsv = RGBtoHSV(color.rgb); + hsv.x = rot10(hsv.x + _Master.x); + hsv.y = hsv.y + _Master.y; + hsv.z = hsv.z + _Master.z; + + half ts = 1.0 / 360.0; + half ts60 = ts * 60.0; + half4 c15_45_75_105 = half4(15.0, 45.0, 75.0, 105.0) * ts; + half4 c135_165_195_225 = half4(135.0, 165.0, 195.0, 225.0) * ts; + half4 c255_285_315_345 = half4(255.0, 285.0, 315.0, 345.0) * ts; + + half dr, dy, dg, dc, db, dm; + + // Reds + hsv.x = rot10(hsv + ts60); + dr = saturate(invlerp(c15_45_75_105.x, c15_45_75_105.y, hsv.x)) * (1.0 - saturate(invlerp(c15_45_75_105.z, c15_45_75_105.w, hsv.x))); + hsv.x = rot10(hsv - ts60); + + // Yellow + dy = saturate(invlerp(c15_45_75_105.x, c15_45_75_105.y, hsv.x)) * (1.0 - saturate(invlerp(c15_45_75_105.z, c15_45_75_105.w, hsv.x))); + + // Greens + dg = saturate(invlerp(c15_45_75_105.z, c15_45_75_105.w, hsv.x)) * (1.0 - saturate(invlerp(c135_165_195_225.x, c135_165_195_225.y, hsv.x))); + + // Cyans + dc = saturate(invlerp(c135_165_195_225.x, c135_165_195_225.y, hsv.x)) * (1.0 - saturate(invlerp(c135_165_195_225.z, c135_165_195_225.w, hsv.x))); + + // Blues + db = saturate(invlerp(c135_165_195_225.z, c135_165_195_225.w, hsv.x)) * (1.0 - saturate(invlerp(c255_285_315_345.x, c255_285_315_345.y, hsv.x))); + + // Magentas + dm = saturate(invlerp(c255_285_315_345.x, c255_285_315_345.y, hsv.x)) * (1.0 - saturate(invlerp(c255_285_315_345.z, c255_285_315_345.w, hsv.x))); + + hsv.x = rot10(hsv.x + dr * _Reds.x + dy * _Yellows.x + dg * _Greens.x + dc * _Cyans.x + db * _Blues.x + dm * _Magentas.x); + hsv.y = hsv.y + dr * _Reds.y + dy * _Yellows.y + dg * _Greens.y + dc * _Cyans.y + db * _Blues.y + dm * _Magentas.y; + hsv.z = hsv.z + dr * _Reds.z + dy * _Yellows.z + dg * _Greens.z + dc * _Cyans.z + db * _Blues.z + dm * _Magentas.z; + + return half4(HSVtoRGB(hsv), color.a); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Simple + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_simple + #pragma fragmentoption ARB_precision_hint_fastest + #pragma glsl + #pragma exclude_renderers flash + + ENDCG + } + + // (1) Advanced + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_advanced + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + #pragma glsl + #pragma exclude_renderers flash + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/HueSaturationValue.shader.meta b/Assets/Colorful FX/Shaders/HueSaturationValue.shader.meta new file mode 100644 index 0000000..928b436 --- /dev/null +++ b/Assets/Colorful FX/Shaders/HueSaturationValue.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0b332438591134c46ada56177c061e99 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Kuwahara.cginc b/Assets/Colorful FX/Shaders/Kuwahara.cginc new file mode 100644 index 0000000..0f118d5 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Kuwahara.cginc @@ -0,0 +1,56 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +#ifndef RADIUS +#define RADIUS 3 +#endif + +#define H3Z half3(0.0, 0.0, 0.0) + +sampler2D _MainTex; +half2 _PSize; + +inline void loop(int j0, int j1, int i0, int i1, half2 uv, out half3 m, out half3 s) +{ + for (int j = j0; j <= j1; j++) + { + for (int i = i0; i <= i1; i++) + { + half3 c = tex2Dlod(_MainTex, half4(uv + half2(i, j) * _PSize, 0.0, 0.0)).rgb; + m += c; + s += c * c; + } + } +} + +half4 frag(v2f_img i) : SV_Target +{ + half3 m[4] = { H3Z, H3Z, H3Z, H3Z }; + half3 s[4] = { H3Z, H3Z, H3Z, H3Z }; + + loop(-RADIUS, 0, -RADIUS, 0, i.uv, m[0], s[0]); + loop(-RADIUS, 0, 0, RADIUS, i.uv, m[1], s[1]); + loop( 0, RADIUS, 0, RADIUS, i.uv, m[2], s[2]); + loop( 0, RADIUS, -RADIUS, 0, i.uv, m[3], s[3]); + + half n = half((RADIUS + 1) * (RADIUS + 1)); + half minSigma2 = 1e+2; + half3 color = H3Z; + + for (int k = 0; k < 4; k++) + { + m[k] /= n; + s[k] = abs(s[k] / n - m[k] * m[k]); + + half sigma2 = s[k].r + s[k].g + s[k].b; + + if (sigma2 < minSigma2) + { + minSigma2 = sigma2; + color = m[k]; + } + } + + return half4(color, 1.0); +} diff --git a/Assets/Colorful FX/Shaders/Kuwahara.cginc.meta b/Assets/Colorful FX/Shaders/Kuwahara.cginc.meta new file mode 100644 index 0000000..b93ba30 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Kuwahara.cginc.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8c4bcbfc6f723f247813a4d1cb959cd2 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Kuwahara.shader b/Assets/Colorful FX/Shaders/Kuwahara.shader new file mode 100644 index 0000000..bceac05 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Kuwahara.shader @@ -0,0 +1,77 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Kuwahara" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _PSize ("Pixel Size (XY)", Vector) = (0,0,0,0) + } + + CGINCLUDE + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + #pragma glsl + #include "UnityCG.cginc" + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + #define RADIUS 1 + #include "./Kuwahara.cginc" + ENDCG + } + + Pass + { + CGPROGRAM + #define RADIUS 2 + #include "./Kuwahara.cginc" + ENDCG + } + + Pass + { + CGPROGRAM + #define RADIUS 3 + #include "./Kuwahara.cginc" + ENDCG + } + + Pass + { + CGPROGRAM + #define RADIUS 4 + #include "./Kuwahara.cginc" + ENDCG + } + + Pass + { + CGPROGRAM + #define RADIUS 5 + #include "./Kuwahara.cginc" + ENDCG + } + + Pass + { + CGPROGRAM + #define RADIUS 6 + #include "./Kuwahara.cginc" + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Kuwahara.shader.meta b/Assets/Colorful FX/Shaders/Kuwahara.shader.meta new file mode 100644 index 0000000..25e279f --- /dev/null +++ b/Assets/Colorful FX/Shaders/Kuwahara.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: be6f87201eefa9b4a81cb9d12d55f76b +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Led.shader b/Assets/Colorful FX/Shaders/Led.shader new file mode 100644 index 0000000..ce5284c --- /dev/null +++ b/Assets/Colorful FX/Shaders/Led.shader @@ -0,0 +1,47 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Led" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Scale (X) Ratio (Y) Brightness (Z) Shape (W)", Vector) = (80, 1, 1, 1.5) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = pixelate(_MainTex, i.uv, _Params.x, _Params.y) * _Params.z; + half2 coord = i.uv * half2(_Params.x, _Params.x / _Params.y); + half2 mv = abs(sin(coord * PI)) * _Params.w; + half s = mv.x * mv.y; + half c = step(s, 1.0); + color = ((1 - c) * color) + ((color * s) * c); + return color; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Led.shader.meta b/Assets/Colorful FX/Shaders/Led.shader.meta new file mode 100644 index 0000000..7e91eab --- /dev/null +++ b/Assets/Colorful FX/Shaders/Led.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 119bab05aa029d148a8ed3483cb1cd62 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/LensDistortionBlur.shader b/Assets/Colorful FX/Shaders/LensDistortionBlur.shader new file mode 100644 index 0000000..4137006 --- /dev/null +++ b/Assets/Colorful FX/Shaders/LensDistortionBlur.shader @@ -0,0 +1,48 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/LensDistortionBlur" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Samples (X) Distortion (Y) Cubic Distortion (Z) Scale (W)", Vector) = (0, 0, 0, 0) + } + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + #pragma glsl + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = half4(0.0, 0.0, 0.0, 0.0); + + for (int k = 0; k < _Params.x; k++) + color += tex2Dlod(_MainTex, half4(barrelDistortion(i.uv, k * _Params.y, k * _Params.z, _Params.w), 0.0, 0.0)); + + return color / _Params.x; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/LensDistortionBlur.shader.meta b/Assets/Colorful FX/Shaders/LensDistortionBlur.shader.meta new file mode 100644 index 0000000..959505c --- /dev/null +++ b/Assets/Colorful FX/Shaders/LensDistortionBlur.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 27362376390dd5b4a84e636ebeb50eb8 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Letterbox.shader b/Assets/Colorful FX/Shaders/Letterbox.shader new file mode 100644 index 0000000..74e31f5 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Letterbox.shader @@ -0,0 +1,71 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Letterbox" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _FillColor ("Color (RGB) Opacity (A)", Color) = (0, 0, 0, 1) + _Offsets ("Top/Left (X) Bottom/Right (Y)", Vector) = (0, 0, 0, 0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + + sampler2D _MainTex; + half4 _FillColor; + half2 _Offsets; + + half4 frag_letter(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half cond = saturate(step(i.uv.y, _Offsets.x) + step(_Offsets.y, i.uv.y)); + color.rgb = lerp(color.rgb, _FillColor.rgb, cond * _FillColor.a); + return color; + } + + half4 frag_pillar(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half cond = saturate(step(i.uv.x, _Offsets.x) + step(_Offsets.y, i.uv.x)); + color.rgb = lerp(color.rgb, _FillColor.rgb, cond * _FillColor.a); + return color; + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Letterboxing + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_letter + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Pillarboxing + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_pillar + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Letterbox.shader.meta b/Assets/Colorful FX/Shaders/Letterbox.shader.meta new file mode 100644 index 0000000..ddce192 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Letterbox.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d492310e63ec9264b892cb8ae4896275 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Levels.shader b/Assets/Colorful FX/Shaders/Levels.shader new file mode 100644 index 0000000..9926319 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Levels.shader @@ -0,0 +1,50 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Levels" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _InputMin ("Input Black", Vector) = (0, 0, 0, 1) + _InputMax ("Input White", Vector) = (1, 1, 1, 1) + _InputGamma ("Input Gamma", Vector) = (1, 1, 1, 1) + _OutputMin ("Output Black", Vector) = (0, 0, 0, 1) + _OutputMax ("Output White", Vector) = (1, 1, 1, 1) + } + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half4 _InputMin; + half4 _InputMax; + half4 _InputGamma; + half4 _OutputMin; + half4 _OutputMax; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + color = lerp(_OutputMin, _OutputMax, pow(min(max(color - _InputMin, half4(0.0, 0.0, 0.0, 0.0)) / (_InputMax - _InputMin), half4(1.0, 1.0, 1.0, 1.0)), 1.0 / _InputGamma)); + return color; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Levels.shader.meta b/Assets/Colorful FX/Shaders/Levels.shader.meta new file mode 100644 index 0000000..0847298 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Levels.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3d484a9bd98669a4bae065117cfefa62 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/LookupFilter.shader b/Assets/Colorful FX/Shaders/LookupFilter.shader new file mode 100644 index 0000000..5cd8d30 --- /dev/null +++ b/Assets/Colorful FX/Shaders/LookupFilter.shader @@ -0,0 +1,100 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Lookup Filter (Deprecated)" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _LookupTex ("Lookup (RGB)", 2D) = "white" {} + _Amount ("Amount (Float)", Range(0.0, 1.0)) = 1.0 + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + sampler2D _LookupTex; + half _Amount; + + half4 LUT(half4 color) + { + half blue = color.b * 63.0; + + half2 quad1 = half2(0.0, 0.0); + quad1.y = floor(floor(blue) * 0.125); + quad1.x = floor(blue) - quad1.y * 8.0; + + half2 quad2 = half2(0.0, 0.0); + quad2.y = floor(ceil(blue) * 0.125); + quad2.x = ceil(blue) - quad2.y * 8.0; + + half c1 = 0.0009765625 + (0.123046875 * color.r); + half c2 = 0.0009765625 + (0.123046875 * color.g); + + half2 texPos1 = half2(0.0, 0.0); + texPos1.x = quad1.x * 0.125 + c1; + texPos1.y = -(quad1.y * 0.125 + c2); + + half2 texPos2 = half2(0.0, 0.0); + texPos2.x = quad2.x * 0.125 + c1; + texPos2.y = -(quad2.y * 0.125 + c2); + + half4 newColor = lerp(tex2D(_LookupTex, texPos1), + tex2D(_LookupTex, texPos2), + frac(blue)); + newColor.a = color.a; + return lerp(color, newColor, _Amount); + } + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + return LUT(saturate(color)); + } + + half4 frag_linear(v2f_img i) : SV_Target + { + half4 color = sRGB(tex2D(_MainTex, i.uv)); + return Linear(LUT(saturate(color))); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Gamma + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma exclude_renderers flash + + ENDCG + } + + // (1) Linear + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linear + #pragma fragmentoption ARB_precision_hint_fastest + #pragma exclude_renderers flash + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/LookupFilter.shader.meta b/Assets/Colorful FX/Shaders/LookupFilter.shader.meta new file mode 100644 index 0000000..c74f753 --- /dev/null +++ b/Assets/Colorful FX/Shaders/LookupFilter.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 37ae258c1f4d15140b45318637b0c532 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/LookupFilter2D.shader b/Assets/Colorful FX/Shaders/LookupFilter2D.shader new file mode 100644 index 0000000..e687fa9 --- /dev/null +++ b/Assets/Colorful FX/Shaders/LookupFilter2D.shader @@ -0,0 +1,225 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Lookup Filter 2D" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _LookupTex ("Lookup (RGB)", 2D) = "white" {} + _Params1 ("Scale (XY) Offset (Z)", Vector) = (0, 0, 0, 0) + _Params2 ("Amount (Z) PixelSize (W)", Vector) = (1, 0, 0, 0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + sampler2D _LookupTex; + + half3 _Params1; + half2 _Params2; + + half3 internal_tex3d(sampler2D tex, half3 uv) + { + uv.y = 1.0 - uv.y; + uv.z *= _Params1.z; + float shift = floor(uv.z); + uv.xy = uv.xy * _Params1.z * _Params1.xy + 0.5 * _Params1.xy; + uv.x += shift * _Params1.y; + uv.xyz = lerp(tex2D(tex, uv.xy).rgb, tex2D(tex, uv.xy + float2(_Params1.y, 0)).rgb, uv.z - shift); + return uv; + } + + half3 internal_tex3d_nn(sampler2D tex, half3 uv) + { + uv.y = 1.0 - uv.y; + uv.z *= _Params1.z; + float shift = floor(uv.z); + uv.xy = uv.xy * _Params1.z * _Params1.xy + 0.5 * _Params1.xy; + uv.x += shift * _Params1.y; + uv.xyz = lerp(tex2D(tex, uv.xy).rgb, tex2D(tex, uv.xy + float2(_Params1.y, 0)).rgb, step(0.5, uv.z - shift)); + return uv; + } + + inline half4 lookup_gamma(half2 uv) + { + half4 c = saturate(tex2D(_MainTex, uv)); + half4 o = c; + o.rgb = internal_tex3d(_LookupTex, c.rgb); + return lerp(c, o, _Params2.x); + } + + inline half4 lookup_linear(half2 uv) + { + half4 c = saturate(tex2D(_MainTex, uv)); + half4 o = c; + o.rgb = sRGB(c.rgb); + o.rgb = internal_tex3d(_LookupTex, o.rgb); + return lerp(c, Linear(o), _Params2.x); + } + + inline half4 lookup_gamma_nn(half2 uv) + { + half4 c = saturate(tex2D(_MainTex, uv)); + half4 o = c; + o.rgb = internal_tex3d_nn(_LookupTex, c.rgb); + return lerp(c, o, _Params2.x); + } + + inline half4 lookup_linear_nn(half2 uv) + { + half4 c = saturate(tex2D(_MainTex, uv)); + half4 o = c; + o.rgb = sRGB(c.rgb); + o.rgb = internal_tex3d_nn(_LookupTex, o.rgb); + return lerp(c, Linear(o), _Params2.x); + } + + inline half2 px(half2 uv) + { + half2 div = half2(_ScreenParams.x * _Params2.y / _ScreenParams.y, _Params2.y); + return floor(uv * div) / div; + } + + half4 frag(v2f_img i) : SV_Target + { + return lookup_gamma(i.uv); + } + + half4 frag_linear(v2f_img i) : SV_Target + { + return lookup_linear(i.uv); + } + + half4 frag_px(v2f_img i) : SV_Target + { + return lookup_gamma(px(i.uv)); + } + + half4 frag_linear_px(v2f_img i) : SV_Target + { + return lookup_linear(px(i.uv)); + } + + half4 frag_nn(v2f_img i) : SV_Target + { + return lookup_gamma_nn(i.uv); + } + + half4 frag_linear_nn(v2f_img i) : SV_Target + { + return lookup_linear_nn(i.uv); + } + + half4 frag_px_nn(v2f_img i) : SV_Target + { + return lookup_gamma_nn(px(i.uv)); + } + + half4 frag_linear_px_nn(v2f_img i) : SV_Target + { + return lookup_linear_nn(px(i.uv)); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // ------------------------------------------------------------------ + // Bilinear + + // (0) Gamma + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragmentoption ARB_precision_hint_fastest + #pragma fragment frag + ENDCG + } + + // (1) Linear + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragmentoption ARB_precision_hint_fastest + #pragma fragment frag_linear + ENDCG + } + + // (2) Gamma pixelized + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragmentoption ARB_precision_hint_fastest + #pragma fragment frag_px + ENDCG + } + + // (3) Linear pixelized + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragmentoption ARB_precision_hint_fastest + #pragma fragment frag_linear_px + #pragma target 3.0 + ENDCG + } + + // ------------------------------------------------------------------ + // Nearest Neighbor + + // (4) Gamma + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragmentoption ARB_precision_hint_fastest + #pragma fragment frag_nn + ENDCG + } + + // (5) Linear + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragmentoption ARB_precision_hint_fastest + #pragma fragment frag_linear_nn + ENDCG + } + + // (6) Gamma pixelized + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragmentoption ARB_precision_hint_fastest + #pragma fragment frag_px_nn + ENDCG + } + + // (7) Linear pixelized + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragmentoption ARB_precision_hint_fastest + #pragma fragment frag_linear_px_nn + #pragma target 3.0 + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/LookupFilter2D.shader.meta b/Assets/Colorful FX/Shaders/LookupFilter2D.shader.meta new file mode 100644 index 0000000..c300206 --- /dev/null +++ b/Assets/Colorful FX/Shaders/LookupFilter2D.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b5b3d4fe7139a7141be9b1475ea1127f +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/LookupFilter3D.shader b/Assets/Colorful FX/Shaders/LookupFilter3D.shader new file mode 100644 index 0000000..85da244 --- /dev/null +++ b/Assets/Colorful FX/Shaders/LookupFilter3D.shader @@ -0,0 +1,121 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Lookup Filter 3D" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _LookupTex ("Lookup (RGB 3D)", 3D) = "white" {} + _Params ("Scale (X) Offset (Y) Amount (Z) PixelSize (W)", Vector) = (0, 0, 1, 0) + } + + CGINCLUDE + + #pragma exclude_renderers gles flash + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + sampler3D _LookupTex; + + half4 _Params; + + inline half4 lookup_gamma(half2 uv) + { + half4 c = saturate(tex2D(_MainTex, uv)); + half4 o = c; + o.rgb = tex3D(_LookupTex, c.rgb * _Params.x + _Params.y).rgb; + return lerp(c, o, _Params.z); + } + + inline half4 lookup_linear(half2 uv) + { + half4 c = saturate(tex2D(_MainTex, uv)); + half4 o = c; + o.rgb = sRGB(c.rgb); + o.rgb = tex3D(_LookupTex, o.rgb * _Params.x + _Params.y).rgb; + return lerp(c, Linear(o), _Params.z); + } + + inline half2 px(half2 uv) + { + half2 div = half2(_ScreenParams.x * _Params.w / _ScreenParams.y, _Params.w); + return floor(uv * div) / div; + } + + half4 frag(v2f_img i) : SV_Target + { + return lookup_gamma(i.uv); + } + + half4 frag_linear(v2f_img i) : SV_Target + { + return lookup_linear(i.uv); + } + + half4 frag_px(v2f_img i) : SV_Target + { + return lookup_gamma(px(i.uv)); + } + + half4 frag_linear_px(v2f_img i) : SV_Target + { + return lookup_linear(px(i.uv)); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Gamma + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + ENDCG + } + + // (1) Linear + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragment frag_linear + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + ENDCG + } + + // (2) Gamma pixelized + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragment frag_px + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + ENDCG + } + + // (3) Linear pixelized + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragment frag_linear_px + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/LookupFilter3D.shader.meta b/Assets/Colorful FX/Shaders/LookupFilter3D.shader.meta new file mode 100644 index 0000000..57ef47f --- /dev/null +++ b/Assets/Colorful FX/Shaders/LookupFilter3D.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c356d31be0868c94d8c3eb943516cb8a +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Negative.shader b/Assets/Colorful FX/Shaders/Negative.shader new file mode 100644 index 0000000..755ae64 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Negative.shader @@ -0,0 +1,69 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Negative" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Amount ("Amount (Float)", Range(0.0, 1.0)) = 1.0 + } + + CGINCLUDE + + #include "UnityCG.cginc" + + sampler2D _MainTex; + half _Amount; + + half4 frag(v2f_img i) : SV_Target + { + half4 oc = tex2D(_MainTex, i.uv); + half4 nc = 1.0 - oc; + return lerp(oc, nc, _Amount); + } + + half4 frag_linear(v2f_img i) : SV_Target + { + half4 oc = tex2D(_MainTex, i.uv); + oc = pow(oc, 0.454545); + half4 nc = 1.0 - oc; + nc = pow(nc, 2.2); + return lerp(oc, nc, _Amount); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Gamma + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Linear + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_linear + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Negative.shader.meta b/Assets/Colorful FX/Shaders/Negative.shader.meta new file mode 100644 index 0000000..dab7d22 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Negative.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4d5f7df60d1ccbe44b611aec3822b801 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Noise.shader b/Assets/Colorful FX/Shaders/Noise.shader new file mode 100644 index 0000000..24c87b3 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Noise.shader @@ -0,0 +1,116 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Noise" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Seed (X) Strength (Y) Lum Contribution (Z)", Vector) = (0, 0, 0, 0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half3 _Params; + + half4 frag_mono(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + float n = simpleNoise(i.uv + _Params.x) * 2.0; + return lerp(color, color * n, _Params.y); + } + + half4 frag_colored(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + float n = simpleNoise_fracLess(i.uv + _Params.x); + float nr = frac(n) * 2.0; + float ng = frac(n * 1.2154) * 2.0; + float nb = frac(n * 1.3453) * 2.0; + float na = frac(n * 1.3647) * 2.0; + return lerp(color, color * half4(nr, ng, nb, na), _Params.y); + } + + half4 frag_mono_lum(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + float n = simpleNoise(i.uv + _Params.x) * 2.0; + half lum = luminance(color.rgb); + return lerp(color, color * n, _Params.y * (1.0 - lerp(0.0, lum, _Params.z))); + } + + half4 frag_colored_lum(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + float n = simpleNoise_fracLess(i.uv + _Params.x); + float nr = frac(n) * 2.0; + float ng = frac(n * 1.2154) * 2.0; + float nb = frac(n * 1.3453) * 2.0; + float na = frac(n * 1.3647) * 2.0; + half lum = luminance(color.rgb); + return lerp(color, color * half4(nr, ng, nb, na), _Params.y * (1.0 - lerp(0.0, lum, _Params.z))); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Monochrome + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_mono + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Colored + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_colored + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (2) Monochrome - Lum Contrib + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_mono_lum + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (3) Colored - Lum Contrib + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_colored_lum + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Noise.shader.meta b/Assets/Colorful FX/Shaders/Noise.shader.meta new file mode 100644 index 0000000..8309377 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Noise.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 89ef061699807394a9d296d8ada383cb +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/PhotoFilter.shader b/Assets/Colorful FX/Shaders/PhotoFilter.shader new file mode 100644 index 0000000..8b6bdf9 --- /dev/null +++ b/Assets/Colorful FX/Shaders/PhotoFilter.shader @@ -0,0 +1,52 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Photo Filter" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _RGB ("Levels", Color) = (1, 0.5, 0.2) + _Density ("Density", Range(0.0, 1.0)) = 0.35 + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _RGB; + half _Density; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half lum = luminance(color.rgb); + half4 filter = _RGB; + filter = lerp(half4(0.0, 0.0, 0.0, 0.0), filter, saturate(lum * 2.0)); + filter = lerp(filter, half4(1.0, 1.0, 1.0, 1.0), saturate(lum - 0.5) * 2.0); + filter = lerp(color, filter, saturate(lum * _Density)); + filter.a = color.a; + + return filter; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/PhotoFilter.shader.meta b/Assets/Colorful FX/Shaders/PhotoFilter.shader.meta new file mode 100644 index 0000000..ede5775 --- /dev/null +++ b/Assets/Colorful FX/Shaders/PhotoFilter.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d4cf7d0874af43d489d668369b513fd1 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/PixelMatrix.shader b/Assets/Colorful FX/Shaders/PixelMatrix.shader new file mode 100644 index 0000000..8e51f31 --- /dev/null +++ b/Assets/Colorful FX/Shaders/PixelMatrix.shader @@ -0,0 +1,84 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/PixelMatrix" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Size (X) Red Offset (Y) Green Offset (Z) Brightness (W)", Vector) = (9, 3, 3, 1.4) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Params; + + half4 compute(v2f_img i) + { + half2 coord = i.uv * _ScreenParams.xy; + half2 p = floor(coord.xy / _Params.x) * _Params.x; + int2 offset = int2(mod(coord, _Params.x)); + + half3 pixel = tex2D(_MainTex, p / _ScreenParams.xy).rgb; + half3 color = half3(0.0, 0.0, 0.0); + + if (offset.x < _Params.y) + color.r = pixel.r; + else if (offset.x < _Params.z) + color.g = pixel.g; + else + color.b = pixel.b; + + return half4(color, offset.y); + } + + half4 frag(v2f_img i) : SV_Target + { + half4 c = compute(i); + return half4(c.rgb * _Params.w, 1.0); + } + + half4 frag_border(v2f_img i) : SV_Target + { + half4 c = compute(i); + c.rgb *= 1.0 - step(_Params.x - 1.0, c.w); + return half4(c.rgb * _Params.w, 1.0); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_border + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/PixelMatrix.shader.meta b/Assets/Colorful FX/Shaders/PixelMatrix.shader.meta new file mode 100644 index 0000000..3a57f12 --- /dev/null +++ b/Assets/Colorful FX/Shaders/PixelMatrix.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 58e2980581a9e9b45a6bf05fb06dab5d +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Pixelate.shader b/Assets/Colorful FX/Shaders/Pixelate.shader new file mode 100644 index 0000000..1b3ac2a --- /dev/null +++ b/Assets/Colorful FX/Shaders/Pixelate.shader @@ -0,0 +1,41 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Pixelate" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Scale (X) Ratio (Y)", Vector) = (80, 1, 0, 0) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half2 _Params; + + half4 frag(v2f_img i) : SV_Target + { + return pixelate(_MainTex, i.uv, _Params.x, _Params.y); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Pixelate.shader.meta b/Assets/Colorful FX/Shaders/Pixelate.shader.meta new file mode 100644 index 0000000..cdea32a --- /dev/null +++ b/Assets/Colorful FX/Shaders/Pixelate.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 728ffb8a91a4a0a498b4795a6e1d78a1 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Posterize.shader b/Assets/Colorful FX/Shaders/Posterize.shader new file mode 100644 index 0000000..637e804 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Posterize.shader @@ -0,0 +1,43 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Posterize" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Levels (X) Amount (Y)", Vector) = (4, 1, 0, 0) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half2 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half4 posterized = floor(color * _Params.x) / _Params.x; + return lerp(color, posterized, _Params.y); + } + + ENDCG + } + } + + FallBack off +} + diff --git a/Assets/Colorful FX/Shaders/Posterize.shader.meta b/Assets/Colorful FX/Shaders/Posterize.shader.meta new file mode 100644 index 0000000..22d8b85 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Posterize.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5675fc85342982e4aa19f32d906706e4 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/RGBSplit.shader b/Assets/Colorful FX/Shaders/RGBSplit.shader new file mode 100644 index 0000000..b113e82 --- /dev/null +++ b/Assets/Colorful FX/Shaders/RGBSplit.shader @@ -0,0 +1,49 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/RGB Split" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Amount (X) Angle Sin (Y) Angle Cos (Z)", Vector) = (0, 0, 0, 0) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half3 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half2 coords = i.uv; + half d = distance(coords, half2(0.5, 0.5)); + half amount = _Params.x * d * 2; + half2 offset = amount * half2(_Params.z, _Params.y); + half cr = tex2D(_MainTex, coords + offset).r; + half2 cga = tex2D(_MainTex, coords).ga; + half cb = tex2D(_MainTex, coords - offset).b; + + // Stupid hack to make it work with d3d9 (CG compiler bug ?) + return half4(cr + 0.0000001, cga.x + 0.0000002, cb + 0.0000003, cga.y); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/RGBSplit.shader.meta b/Assets/Colorful FX/Shaders/RGBSplit.shader.meta new file mode 100644 index 0000000..024adf7 --- /dev/null +++ b/Assets/Colorful FX/Shaders/RGBSplit.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9d2e55392c5688b41a28c877a8c935c6 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/RadialBlur.shader b/Assets/Colorful FX/Shaders/RadialBlur.shader new file mode 100644 index 0000000..ea89e11 --- /dev/null +++ b/Assets/Colorful FX/Shaders/RadialBlur.shader @@ -0,0 +1,94 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Radial Blur" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Center ("Center Point", Vector) = (0.5, 0.5, 0.0, 0.0) + _Params ("Strength (X) Samples (Y) Sharpness (Z) Darkness (W)", Vector) = (0.1, 10, 0.4, 0.35) + } + + CGINCLUDE + + #include "UnityCG.cginc" + + sampler2D _MainTex; + half2 _Center; + half4 _Params; + + half4 blur(half2 uv, half samples, half amount) + { + half2 coord = uv - _Center; + half4 color = half4(0.0, 0.0, 0.0, 0.0); + half scale; + half factor = samples - 1; + + for (int i = 0; i < samples; i++) + { + scale = 1.0 + amount * (i / factor); + color += tex2Dlod(_MainTex, half4(coord * scale + _Center, 0.0, 0.0)); + } + + color /= samples; + return color; + } + + half vignette(half2 uv) + { + half v = 1.0; + half d = distance(uv, _Center); + v *= smoothstep(0.8, _Params.z * 0.799, d * (_Params.w + _Params.z)); + return 1.0 - v; + } + + half4 frag(v2f_img i) : SV_Target + { + return blur(i.uv, _Params.y, _Params.x); + } + + half4 frag_vignette(v2f_img i) : SV_Target + { + return blur(i.uv, _Params.y, _Params.x * vignette(i.uv)); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) No vignette + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + #pragma glsl + + ENDCG + } + + // (1) Vignette + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_vignette + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + #pragma glsl + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/RadialBlur.shader.meta b/Assets/Colorful FX/Shaders/RadialBlur.shader.meta new file mode 100644 index 0000000..75d6424 --- /dev/null +++ b/Assets/Colorful FX/Shaders/RadialBlur.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 93166fbefe89e6b45afb840b49fc59ae +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/SCurveContrast.shader b/Assets/Colorful FX/Shaders/SCurveContrast.shader new file mode 100644 index 0000000..29d8ff5 --- /dev/null +++ b/Assets/Colorful FX/Shaders/SCurveContrast.shader @@ -0,0 +1,56 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/SCurveContrast" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Red ("Steepness (X) Gamma (Y)", Vector) = (0, 0, 0, 0) + _Green ("Steepness (X) Gamma (Y)", Vector) = (0, 0, 0, 0) + _Blue ("Steepness (X) Gamma (Y)", Vector) = (0, 0, 0, 0) + } + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + #include "UnityCG.cginc" + + sampler2D _MainTex; + half2 _Red; + half2 _Green; + half2 _Blue; + + half curve(half o, half2 params) + { + half g = pow(2.0, params.x) * 0.5; + half c = (o < 0.5) ? pow(o, params.x) * g : 1.0 - pow(1.0 - o, params.x) * g; + return pow(c, params.y); + } + + half4 frag(v2f_img i) : SV_Target + { + half4 color = saturate(tex2D(_MainTex, i.uv)); + half r = curve(color.r, _Red); + half g = curve(color.g, _Green); + half b = curve(color.b, _Blue); + return half4(r, g, b, color.a); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/SCurveContrast.shader.meta b/Assets/Colorful FX/Shaders/SCurveContrast.shader.meta new file mode 100644 index 0000000..fab50b9 --- /dev/null +++ b/Assets/Colorful FX/Shaders/SCurveContrast.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bb3f4da25a5c9184697fb2b1c1ea8c68 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/ShadowsMidtonesHighlights.shader b/Assets/Colorful FX/Shaders/ShadowsMidtonesHighlights.shader new file mode 100644 index 0000000..b68e6bf --- /dev/null +++ b/Assets/Colorful FX/Shaders/ShadowsMidtonesHighlights.shader @@ -0,0 +1,82 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Shadows Midtones Highlights" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Shadows ("Shadows (RGB)", Vector) = (1, 1, 1, 1) + _Midtones ("Midtones (RGB)", Vector) = (1, 1, 1, 1) + _Highlights ("Highlights (RGB)", Vector) = (1, 1, 1, 1) + _Amount ("Amount (Float)", Range(0, 1)) = 1 + } + + CGINCLUDE + + #include "UnityCG.cginc" + + sampler2D _MainTex; + half4 _Shadows; // Lift | Offset + half4 _Midtones; // Gamma + half4 _Highlights; // Gain | Slope + half _Amount; + + half4 frag_lgg(v2f_img i) : SV_Target + { + half3 oc = tex2D(_MainTex, i.uv).rgb; + half3 color = oc + (_Shadows.rgb * 0.5 - 0.5) * (1.0 - oc); + color = saturate(color); + color *= _Highlights.rgb; + color = pow(color, 1.0 / _Midtones.rgb); + color = saturate(color); + return half4(lerp(oc, color, _Amount), 1.0); + } + + half4 frag_cdl(v2f_img i) : SV_Target + { + half3 oc = tex2D(_MainTex, i.uv).rgb; + half3 color = oc * _Highlights.rgb; + color = saturate(color); + color = color + (_Shadows.rgb * 0.5 - 0.5); + color = saturate(color); + color = pow(color, 1.0 / _Midtones.rgb); + color = saturate(color); + return half4(lerp(oc, color, _Amount), 1.0); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) LGG + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_lgg + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) CDL + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_cdl + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/ShadowsMidtonesHighlights.shader.meta b/Assets/Colorful FX/Shaders/ShadowsMidtonesHighlights.shader.meta new file mode 100644 index 0000000..acd6c27 --- /dev/null +++ b/Assets/Colorful FX/Shaders/ShadowsMidtonesHighlights.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f1c2bf98023ec1d49a324ffb4746f895 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Sharpen.shader b/Assets/Colorful FX/Shaders/Sharpen.shader new file mode 100644 index 0000000..bb92010 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Sharpen.shader @@ -0,0 +1,86 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Sharpen" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Strength (X) Clamp (Y) Pixel Size (ZW)", Vector) = (0.60, 0.05, 1, 1) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Params; + + half4 frag_typeA(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half2 p = _Params.zw; + half2 p_h = p * 0.5; + half4 blur = tex2D(_MainTex, i.uv + half2( p_h.x, -p.y)); + blur += tex2D(_MainTex, i.uv + half2( -p.x, -p_h.y)); + blur += tex2D(_MainTex, i.uv + half2( p.x, p_h.y)); + blur += tex2D(_MainTex, i.uv + half2(-p_h.x, p.y)); + blur *= 0.25; + + half4 lumaStrength = half4(0.222, 0.707, 0.071, 0.0) * _Params.x * 0.666; + half4 sharp = color - blur; + color += clamp(dot(sharp, lumaStrength), -_Params.y, _Params.y); + + return color; + } + + half4 frag_typeB(v2f_img i) : SV_Target + { + half2 p = _Params.zw; + half4 blur = tex2D( _MainTex, i.uv + half2(-p.x, -p.y) * 1.5); + blur += tex2D(_MainTex, i.uv + half2( p.x, -p.y) * 1.5); + blur += tex2D(_MainTex, i.uv + half2(-p.x, p.y) * 1.5); + blur += tex2D(_MainTex, i.uv + half2( p.x, p.y) * 1.5); + blur *= 0.25; + + half4 center = tex2D(_MainTex, i.uv); + return center + (center - blur) * _Params.x; + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Type A + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_typeA + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Type B + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_typeB + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Sharpen.shader.meta b/Assets/Colorful FX/Shaders/Sharpen.shader.meta new file mode 100644 index 0000000..c93fb68 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Sharpen.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b4f0a5d3f2f4d3d4e80600230efdfe68 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/SmartSaturation.shader b/Assets/Colorful FX/Shaders/SmartSaturation.shader new file mode 100644 index 0000000..8be3510 --- /dev/null +++ b/Assets/Colorful FX/Shaders/SmartSaturation.shader @@ -0,0 +1,47 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Smart Saturation" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Curve ("Curve Texture (A)", 2D) = "white" {} + _Boost ("Saturation Boost (Float)", Float) = 1.0 + } + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + sampler2D _Curve; + half _Boost; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half3 hsv = RGBtoHSV(color.rgb); + half s = tex2D(_Curve, half2(hsv.y, 0.5)).a * 2.0 * hsv.y; + color.rgb = HSVtoRGB(half3(hsv.x, s * _Boost, hsv.z)); + return color; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/SmartSaturation.shader.meta b/Assets/Colorful FX/Shaders/SmartSaturation.shader.meta new file mode 100644 index 0000000..81b696d --- /dev/null +++ b/Assets/Colorful FX/Shaders/SmartSaturation.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a13a4f89750fabf45a06af8796a9bbe6 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Strokes.shader b/Assets/Colorful FX/Shaders/Strokes.shader new file mode 100644 index 0000000..570e7d5 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Strokes.shader @@ -0,0 +1,195 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Strokes" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params1 ("Amplitude (X) Frequency (Y) Scaling (Z) Max Thickness (W)", Vector) = (0, 0, 0, 0) + _Params2 ("Red Luminance (X) Green Luminance (Y) Blue Luminance (Z)", Vector) = (0, 0, 0, 0) + _Params3 ("Threshold (X) Harshness (Y)", Vector) = (0, 0, 0, 0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Params1; + half3 _Params2; + half2 _Params3; + + void get_stroke(half2 uv, out half4 color, out half stroke) + { + half2 screenUV = uv * _ScreenParams.xy; + half2 xy = screenUV / _ScreenParams.yy; + + half3 pattern[6] = { + half3(-0.707, 0.707, 3.0), + half3( 0.0, 1.0, 0.6), + half3( 0.0, 1.0, 0.5), + half3( 1.0, 0.0, 0.4), + half3( 1.0, 0.0, 0.3), + half3( 0.0, 1.0, 0.2) + }; + + color = tex2D(_MainTex, half2(screenUV.x / _ScreenParams.x, xy.y)); + stroke = 1.0; + + for(int i = 0; i < 6; i++) + { + half2 pt = half2( + xy.x * pattern[i].x - xy.y * pattern[i].y, + xy.x * pattern[i].y + xy.y * pattern[i].x + ); + + half thickness = _Params1.w * half(i + 1.0); + half dist = mod(pt.y + thickness * 0.5 - sin(pt.x * _Params1.y) * _Params1.x, _Params1.z); + half lum = dot(color.rgb, _Params2.xyz); + + if(dist < thickness && lum < _Params3.x - 0.12 * half(i)) + { + half k = pattern[i].z - _Params3.y; + half x = (thickness - dist) / thickness; + stroke = min(1.0 - 0.5 / k + abs((x - 0.5) / k), stroke); + } + } + } + + half4 frag_black_white(v2f_img i) : SV_Target + { + half4 color; half stroke; + get_stroke(i.uv, color, stroke); + return half4(stroke.xxx, 1.0); + } + + half4 frag_white_black(v2f_img i) : SV_Target + { + half4 color; half stroke; + get_stroke(i.uv, color, stroke); + stroke = 1.0 - stroke; + return half4(stroke.xxx, 1.0); + } + + half4 frag_color_white(v2f_img i) : SV_Target + { + half4 color; half stroke; + get_stroke(i.uv, color, stroke); + half one_minus_stroke = 1.0 - stroke; + return half4(stroke.xxx, 1.0) + half4(one_minus_stroke.xxx, 1.0) * color; + } + + half4 frag_color_black(v2f_img i) : SV_Target + { + half4 color; half stroke; + get_stroke(i.uv, color, stroke); + stroke = 1.0 - stroke; + return half4(stroke.xxx, 1.0) * color; + } + + half4 frag_white_color(v2f_img i) : SV_Target + { + half4 color; half stroke; + get_stroke(i.uv, color, stroke); + half one_minus_stroke = 1.0 - stroke; + return half4(one_minus_stroke.xxx, 1.0) + half4(stroke.xxx, 1.0) * color; + } + + half4 frag_black_color(v2f_img i) : SV_Target + { + half4 color; half stroke; + get_stroke(i.uv, color, stroke); + return half4(stroke.xxx, 1.0) * color; + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Black and white + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_black_white + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + + // (1) White and black + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_white_black + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + + // (2) Color and white + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_color_white + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + + // (3) Color and black + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_color_black + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + + // (4) White and color + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_white_color + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + + // (5) Black and color + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_black_color + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Strokes.shader.meta b/Assets/Colorful FX/Shaders/Strokes.shader.meta new file mode 100644 index 0000000..83b93f7 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Strokes.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: fcfe9bb61d41be54db37021f6228a5a2 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/TVVignette.shader b/Assets/Colorful FX/Shaders/TVVignette.shader new file mode 100644 index 0000000..20ef81e --- /dev/null +++ b/Assets/Colorful FX/Shaders/TVVignette.shader @@ -0,0 +1,42 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/TV Vignette" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Size (X) Offset (Y)", Vector) = (0, 0, 0, 0) + } + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half2 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half2 uv = -i.uv * i.uv + i.uv; + half v = saturate(uv.x * uv.y * _Params.x + _Params.y); + return v * tex2D(_MainTex, i.uv); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/TVVignette.shader.meta b/Assets/Colorful FX/Shaders/TVVignette.shader.meta new file mode 100644 index 0000000..d32d9fc --- /dev/null +++ b/Assets/Colorful FX/Shaders/TVVignette.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3bdb37fb89bbc244eb7dc17f946b34e5 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Technicolor.shader b/Assets/Colorful FX/Shaders/Technicolor.shader new file mode 100644 index 0000000..42bd20c --- /dev/null +++ b/Assets/Colorful FX/Shaders/Technicolor.shader @@ -0,0 +1,60 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Technicolor" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Exposure ("Exposure (Float)", Range(0.0, 8.0)) = 4.0 + _Balance ("Channel Balance (RGB)", Vector) = (0.75, 0.75, 0.75, 1.0) + _Amount ("Amount (Float)", Range(0.0, 1.0)) = 0.5 + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #include "UnityCG.cginc" + + sampler2D _MainTex; + half _Exposure; + half4 _Balance; + half _Amount; + + half4 frag(v2f_img i) : SV_Target + { + half3 color = tex2D(_MainTex, i.uv).rgb; + + half3 balance = 1.0 / (_Balance.rgb * _Exposure); + half2 rmul = color.rg * balance.r; + half2 gmul = color.rg * balance.g; + half2 bmul = color.rb * balance.b; + + half rneg = dot(half2(1.05, 0.62), rmul); + half gneg = dot(half2(0.30, 1.0), gmul); + half bneg = dot(half2(1.0, 1.05), bmul); + + half3 rout = rneg.rrr + half3(0.0, 1.3, 1.0); + half3 gout = gneg.rrr + half3(1.0, 0.0, 1.05); + half3 bout = bneg.rrr + half3(1.6, 1.6, 0.05); + + half3 result = rout * gout * bout; + return half4(lerp(color, result, _Amount), 1.0); + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Technicolor.shader.meta b/Assets/Colorful FX/Shaders/Technicolor.shader.meta new file mode 100644 index 0000000..2c96f5a --- /dev/null +++ b/Assets/Colorful FX/Shaders/Technicolor.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4c81e0318e9055a45a291da31fdd8edd +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Threshold.shader b/Assets/Colorful FX/Shaders/Threshold.shader new file mode 100644 index 0000000..bce8b5d --- /dev/null +++ b/Assets/Colorful FX/Shaders/Threshold.shader @@ -0,0 +1,71 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Threshold" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Threshold ("Threshold", Range(0.0, 1.0)) = 0.5 + _Range ("Noise Range", Range(0.0, 0.5)) = 0.2 + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half _Threshold; + half _Range; + + half4 frag(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half s = step(luminance(color.rgb), _Threshold); + color = lerp(half4(1.0, 1.0, 1.0, 1.0), half4(0.0, 0.0, 0.0, 0.0), s); + return color; + } + + half4 frag_noise(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + half r = frac(sin(dot(i.uv, half2(12.9898, 78.233))) * 43758.5453) * _Range - _Range / 2.0; + half s = step(luminance(color.rgb), _Threshold + r); + color = lerp(half4(1.0, 1.0, 1.0, 1.0), half4(0.0, 0.0, 0.0, 0.0), s); + return color; + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_noise + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Threshold.shader.meta b/Assets/Colorful FX/Shaders/Threshold.shader.meta new file mode 100644 index 0000000..52fc896 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Threshold.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 601d83f113eed6c4e9ee285c9f69b171 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Vibrance.shader b/Assets/Colorful FX/Shaders/Vibrance.shader new file mode 100644 index 0000000..9cf50cd --- /dev/null +++ b/Assets/Colorful FX/Shaders/Vibrance.shader @@ -0,0 +1,83 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Vibrance" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Amount ("Amount", Float) = 0 + _Channels ("Channels", Vector) = (1.0, 1.0, 1.0, 0.0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half _Amount; + half4 _Channels; + + half4 frag_simple(v2f_img i) : SV_Target + { + half4 color = tex2D(_MainTex, i.uv); + + half cMax = max(max(color.r, color.g), color.b); + half amount = (cMax - luminance(color.rgb)) * (-3.0 * _Amount); + color.rgb = lerp(color.rgb, half3(cMax, cMax, cMax), amount); + + return color; + } + + half4 frag_advanced(v2f_img i) : SV_Target + { + half4 oc = tex2D(_MainTex, i.uv); + half3 color = oc.rgb; + + half3 coeff = _Channels.rgb * _Amount; + half lum = luminance(color); + half sat = max(color.r, max(color.g, color.b)) - min(color.r, min(color.g, color.b)); + color = lerp(half3(lum, lum, lum), color, (1.0 + (coeff * (1.0 - (sign(coeff) * sat))))); + + return half4(color, oc.a); + } + + ENDCG + + SubShader + { + // (0) Simple + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_simple + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Advanced + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_advanced + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Vibrance.shader.meta b/Assets/Colorful FX/Shaders/Vibrance.shader.meta new file mode 100644 index 0000000..e9b76f0 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Vibrance.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bb0e827449f1caa4bbd6dd91a05d702b +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/WaveDistortion.shader b/Assets/Colorful FX/Shaders/WaveDistortion.shader new file mode 100644 index 0000000..c8df4dc --- /dev/null +++ b/Assets/Colorful FX/Shaders/WaveDistortion.shader @@ -0,0 +1,56 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Wave Distortion" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Params ("Amplitude (X) Waves (Y) ColorGlitch (Z) Phase (W)", Vector) = (0.6, 5, 0.35, 0.35) + } + + SubShader + { + Pass + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #pragma fragmentoption ARB_precision_hint_fastest + #pragma exclude_renderers flash + #pragma target 3.0 + #include "UnityCG.cginc" + #include "./Colorful.cginc" + + sampler2D _MainTex; + half4 _Params; + + half4 frag(v2f_img i) : SV_Target + { + half invPhase = 1.0 - _Params.w; + + half2 o = i.uv * sin(_Params.w * _Params.x) - half2(0.5, 0.5); + half theta = acos(dot(o, half2(1.0, 0.0))) * _Params.y; + half disp = (exp(cos(theta)) - 2.0 * cos(4.0 * theta) + pow(sin((2.0 * theta - PI) / 24.0), 5.0)) / 10.0; + + half strDisp = _Params.w * disp; + half r = tex2D(_MainTex, i.uv + strDisp * (1.0 - _Params.z)).r; + half g = tex2D(_MainTex, i.uv + strDisp).g; + half b = tex2D(_MainTex, i.uv + strDisp * (1.0 + _Params.z)).b; + half4 srcColor = half4(r, g, b, 1.0); + half4 dstColor = tex2D(_MainTex, i.uv + invPhase * disp); + + return srcColor * invPhase + dstColor * _Params.w; + } + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/WaveDistortion.shader.meta b/Assets/Colorful FX/Shaders/WaveDistortion.shader.meta new file mode 100644 index 0000000..ee305cf --- /dev/null +++ b/Assets/Colorful FX/Shaders/WaveDistortion.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a43350e669209cb4098e9297891a1ffd +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/WhiteBalance.shader b/Assets/Colorful FX/Shaders/WhiteBalance.shader new file mode 100644 index 0000000..de4b50a --- /dev/null +++ b/Assets/Colorful FX/Shaders/WhiteBalance.shader @@ -0,0 +1,100 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/White Balance" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _White ("White Color (RGB)", Color) = (0.5, 0.5, 0.5, 1.0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + + sampler2D _MainTex; + half4 _White; + + #define EPSILON 0.000001 + + half4 frag_simple(v2f_img i) : SV_Target + { + half3 color = tex2D(_MainTex, i.uv).rgb; + + half3x3 scale = half3x3( + 0.5 / (_White.r + EPSILON), 0, 0, + 0, 0.5 / (_White.g + EPSILON), 0, + 0, 0, 0.5 / (_White.b + EPSILON) + ); + + color = mul(scale, color); + return half4(saturate(color), 1.0); + } + + half4 frag_complex(v2f_img i) : SV_Target + { + half3 color = tex2D(_MainTex, i.uv).rgb; + + half3x3 RGBtoLMS = half3x3( + 0.3811,0.5783,0.0402, + 0.1967,0.7244,0.0782, + 0.0241,0.1288,0.8444 + ); + + half3x3 LMStoRGB = half3x3( + 4.4679, -3.5873, 0.1193, + -1.2186, 2.3809, -0.1624, + 0.0497, -0.2439, 1.2045 + ); + + half3 white = mul(RGBtoLMS, _White.rgb); + + half3x3 scale = half3x3( + 0.5 / (white.r + EPSILON), 0, 0, + 0, 0.5 / (white.g + EPSILON), 0, + 0, 0, 0.5 / (white.b + EPSILON) + ); + + half3 original = mul(RGBtoLMS, color); + half3 balanced = mul(scale, original); + color.rgb = mul(LMStoRGB, balanced); + + return half4(saturate(color), 1.0); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Simple + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_simple + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Complex + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_complex + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/WhiteBalance.shader.meta b/Assets/Colorful FX/Shaders/WhiteBalance.shader.meta new file mode 100644 index 0000000..dbe2b01 --- /dev/null +++ b/Assets/Colorful FX/Shaders/WhiteBalance.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 36a3aa3217d66c645a4665ff1490cb28 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Colorful FX/Shaders/Wiggle.shader b/Assets/Colorful FX/Shaders/Wiggle.shader new file mode 100644 index 0000000..075123b --- /dev/null +++ b/Assets/Colorful FX/Shaders/Wiggle.shader @@ -0,0 +1,78 @@ +// Colorful FX - Unity Asset +// Copyright (c) 2015 - Thomas Hourdel +// http://www.thomashourdel.com + +Shader "Hidden/Colorful/Wiggle" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + _Timer ("Timer", Float) = 0.0 + _Scale ("Scale", Float) = 12.0 + _Params ("Frequency (X) Amplitude (Y) Timer (Z)", Vector) = (0, 0, 0, 0) + } + + CGINCLUDE + + #include "UnityCG.cginc" + + sampler2D _MainTex; + half3 _Params; + + half4 frag_simple(v2f_img i) : SV_Target + { + half2 t = i.uv; + t.x += sin(_Params.z + t.x * _Params.x) * _Params.y; + t.y += cos(_Params.z + t.y * _Params.x) * _Params.y - _Params.y; + return tex2D(_MainTex, t); + } + + half2 shift(half2 uv) + { + half2 freq = _Params.x * (uv + _Params.z); + return cos(half2(cos(freq.x - freq.y) * cos(freq.y), sin(freq.x + freq.y) * sin(freq.y))); + } + + half4 frag_complex(v2f_img i) : SV_Target + { + half2 p = shift(i.uv); + half2 q = shift(i.uv + 1.0); + half2 t = i.uv + _Params.y * (p - q); + return tex2D(_MainTex, t); + } + + ENDCG + + SubShader + { + ZTest Always Cull Off ZWrite Off + Fog { Mode off } + + // (0) Simple + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_simple + #pragma fragmentoption ARB_precision_hint_fastest + + ENDCG + } + + // (1) Complex + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag_complex + #pragma fragmentoption ARB_precision_hint_fastest + #pragma target 3.0 + + ENDCG + } + } + + FallBack off +} diff --git a/Assets/Colorful FX/Shaders/Wiggle.shader.meta b/Assets/Colorful FX/Shaders/Wiggle.shader.meta new file mode 100644 index 0000000..51506a1 --- /dev/null +++ b/Assets/Colorful FX/Shaders/Wiggle.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 22fe62a5d4de91a4995c1363cbc2492e +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/fie.csproj b/fie.csproj index 4ecff3d..2b9581c 100644 --- a/fie.csproj +++ b/fie.csproj @@ -1918,6 +1918,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +