├── .gitattributes ├── .gitignore ├── Assets ├── CMUMocap.meta ├── CMUMocap │ ├── 135_01.fbx │ ├── 135_01.fbx.meta │ ├── Acknowledgement.txt │ ├── Acknowledgement.txt.meta │ ├── Base.fbx │ └── Base.fbx.meta ├── Klak.meta ├── Klak │ ├── Extension.meta │ ├── Extension │ │ ├── MaterialExtension.cs │ │ ├── MaterialExtension.cs.meta │ │ ├── VectorMathExtension.cs │ │ └── VectorMathExtension.cs.meta │ ├── Math.meta │ ├── Math │ │ ├── BasicMath.cs │ │ ├── BasicMath.cs.meta │ │ ├── Editor.meta │ │ ├── Editor │ │ │ ├── InterpolatorConfigDrawer.cs │ │ │ └── InterpolatorConfigDrawer.cs.meta │ │ ├── Interpolator.cs │ │ ├── Interpolator.cs.meta │ │ ├── NoiseGenerator.cs │ │ ├── NoiseGenerator.cs.meta │ │ ├── Perlin.cs │ │ ├── Perlin.cs.meta │ │ ├── Tween.cs │ │ ├── Tween.cs.meta │ │ ├── XXHash.cs │ │ └── XXHash.cs.meta │ ├── Motion.meta │ └── Motion │ │ ├── BrownianMotion.cs │ │ ├── BrownianMotion.cs.meta │ │ ├── ConstantMotion.cs │ │ ├── ConstantMotion.cs.meta │ │ ├── Editor.meta │ │ ├── Editor │ │ ├── BrownianMotionEditor.cs │ │ ├── BrownianMotionEditor.cs.meta │ │ ├── ConstantMotionEditor.cs │ │ ├── ConstantMotionEditor.cs.meta │ │ ├── SmoothFollowEditor.cs │ │ └── SmoothFollowEditor.cs.meta │ │ ├── SmoothFollow.cs │ │ └── SmoothFollow.cs.meta ├── NeoLowMan.meta ├── NeoLowMan │ ├── Materials.meta │ ├── Materials │ │ ├── Body.mat │ │ └── Body.mat.meta │ ├── Neo.fbx │ └── Neo.fbx.meta ├── PostProcessing.meta ├── PostProcessing │ ├── Editor Resources.meta │ ├── Editor Resources │ │ ├── Monitors.meta │ │ ├── Monitors │ │ │ ├── HistogramCompute.compute │ │ │ ├── HistogramCompute.compute.meta │ │ │ ├── HistogramRender.shader │ │ │ ├── HistogramRender.shader.meta │ │ │ ├── ParadeRender.shader │ │ │ ├── ParadeRender.shader.meta │ │ │ ├── VectorscopeCompute.compute │ │ │ ├── VectorscopeCompute.compute.meta │ │ │ ├── VectorscopeRender.shader │ │ │ ├── VectorscopeRender.shader.meta │ │ │ ├── WaveformCompute.compute │ │ │ ├── WaveformCompute.compute.meta │ │ │ ├── WaveformRender.shader │ │ │ └── WaveformRender.shader.meta │ │ ├── UI.meta │ │ └── UI │ │ │ ├── CurveBackground.shader │ │ │ ├── CurveBackground.shader.meta │ │ │ ├── MotionBlendingIcon.png │ │ │ ├── MotionBlendingIcon.png.meta │ │ │ ├── Trackball.shader │ │ │ └── Trackball.shader.meta │ ├── Editor.meta │ ├── Editor │ │ ├── Attributes.meta │ │ ├── Attributes │ │ │ ├── PostProcessingModelEditorAttribute.cs │ │ │ └── PostProcessingModelEditorAttribute.cs.meta │ │ ├── Models.meta │ │ ├── Models │ │ │ ├── AmbientOcclusionModelEditor.cs │ │ │ ├── AmbientOcclusionModelEditor.cs.meta │ │ │ ├── AntialiasingModelEditor.cs │ │ │ ├── AntialiasingModelEditor.cs.meta │ │ │ ├── BloomModelEditor.cs │ │ │ ├── BloomModelEditor.cs.meta │ │ │ ├── BuiltinDebugViewsEditor.cs │ │ │ ├── BuiltinDebugViewsEditor.cs.meta │ │ │ ├── ChromaticAberrationEditor.cs │ │ │ ├── ChromaticAberrationEditor.cs.meta │ │ │ ├── ColorGradingModelEditor.cs │ │ │ ├── ColorGradingModelEditor.cs.meta │ │ │ ├── DefaultPostFxModelEditor.cs │ │ │ ├── DefaultPostFxModelEditor.cs.meta │ │ │ ├── DepthOfFieldModelEditor.cs │ │ │ ├── DepthOfFieldModelEditor.cs.meta │ │ │ ├── EyeAdaptationModelEditor.cs │ │ │ ├── EyeAdaptationModelEditor.cs.meta │ │ │ ├── GrainModelEditor.cs │ │ │ ├── GrainModelEditor.cs.meta │ │ │ ├── MotionBlurModelEditor.cs │ │ │ ├── MotionBlurModelEditor.cs.meta │ │ │ ├── ScreenSpaceReflectionModelEditor.cs │ │ │ ├── ScreenSpaceReflectionModelEditor.cs.meta │ │ │ ├── UserLutModelEditor.cs │ │ │ ├── UserLutModelEditor.cs.meta │ │ │ ├── VignetteModelEditor.cs │ │ │ └── VignetteModelEditor.cs.meta │ │ ├── Monitors.meta │ │ ├── Monitors │ │ │ ├── HistogramMonitor.cs │ │ │ ├── HistogramMonitor.cs.meta │ │ │ ├── ParadeMonitor.cs │ │ │ ├── ParadeMonitor.cs.meta │ │ │ ├── VectorscopeMonitor.cs │ │ │ ├── VectorscopeMonitor.cs.meta │ │ │ ├── WaveformMonitor.cs │ │ │ └── WaveformMonitor.cs.meta │ │ ├── PostProcessingBehaviourEditor.cs │ │ ├── PostProcessingBehaviourEditor.cs.meta │ │ ├── PostProcessingFactory.cs │ │ ├── PostProcessingFactory.cs.meta │ │ ├── PostProcessingInspector.cs │ │ ├── PostProcessingInspector.cs.meta │ │ ├── PostProcessingModelEditor.cs │ │ ├── PostProcessingModelEditor.cs.meta │ │ ├── PostProcessingMonitor.cs │ │ ├── PostProcessingMonitor.cs.meta │ │ ├── PropertyDrawers.meta │ │ ├── PropertyDrawers │ │ │ ├── GetSetDrawer.cs │ │ │ ├── GetSetDrawer.cs.meta │ │ │ ├── MinDrawer.cs │ │ │ ├── MinDrawer.cs.meta │ │ │ ├── TrackballGroupDrawer.cs │ │ │ └── TrackballGroupDrawer.cs.meta │ │ ├── Utils.meta │ │ └── Utils │ │ │ ├── CurveEditor.cs │ │ │ ├── CurveEditor.cs.meta │ │ │ ├── EditorGUIHelper.cs │ │ │ ├── EditorGUIHelper.cs.meta │ │ │ ├── EditorResources.cs │ │ │ ├── EditorResources.cs.meta │ │ │ ├── FxStyles.cs │ │ │ └── FxStyles.cs.meta │ ├── Resources.meta │ ├── Resources │ │ ├── Shaders.meta │ │ └── Shaders │ │ │ ├── ACES.cginc │ │ │ ├── ACES.cginc.meta │ │ │ ├── AmbientOcclusion.cginc │ │ │ ├── AmbientOcclusion.cginc.meta │ │ │ ├── AmbientOcclusion.shader │ │ │ ├── AmbientOcclusion.shader.meta │ │ │ ├── Blit.shader │ │ │ ├── Blit.shader.meta │ │ │ ├── Bloom.cginc │ │ │ ├── Bloom.cginc.meta │ │ │ ├── Bloom.shader │ │ │ ├── Bloom.shader.meta │ │ │ ├── BuiltinDebugViews.shader │ │ │ ├── BuiltinDebugViews.shader.meta │ │ │ ├── ColorGrading.cginc │ │ │ ├── ColorGrading.cginc.meta │ │ │ ├── Common.cginc │ │ │ ├── Common.cginc.meta │ │ │ ├── DepthOfField.cginc │ │ │ ├── DepthOfField.cginc.meta │ │ │ ├── DepthOfField.shader │ │ │ ├── DepthOfField.shader.meta │ │ │ ├── DiskKernels.cginc │ │ │ ├── DiskKernels.cginc.meta │ │ │ ├── EyeAdaptation.cginc │ │ │ ├── EyeAdaptation.cginc.meta │ │ │ ├── EyeAdaptation.shader │ │ │ ├── EyeAdaptation.shader.meta │ │ │ ├── EyeHistogram.compute │ │ │ ├── EyeHistogram.compute.meta │ │ │ ├── FXAA.shader │ │ │ ├── FXAA.shader.meta │ │ │ ├── FXAA3.cginc │ │ │ ├── FXAA3.cginc.meta │ │ │ ├── GrainGen.shader │ │ │ ├── GrainGen.shader.meta │ │ │ ├── LutGen.shader │ │ │ ├── LutGen.shader.meta │ │ │ ├── MotionBlur.cginc │ │ │ ├── MotionBlur.cginc.meta │ │ │ ├── MotionBlur.shader │ │ │ ├── MotionBlur.shader.meta │ │ │ ├── ScreenSpaceRaytrace.cginc │ │ │ ├── ScreenSpaceRaytrace.cginc.meta │ │ │ ├── ScreenSpaceReflection.shader │ │ │ ├── ScreenSpaceReflection.shader.meta │ │ │ ├── TAA.cginc │ │ │ ├── TAA.cginc.meta │ │ │ ├── TAA.shader │ │ │ ├── TAA.shader.meta │ │ │ ├── Tonemapping.cginc │ │ │ ├── Tonemapping.cginc.meta │ │ │ ├── Uber.shader │ │ │ └── Uber.shader.meta │ ├── Runtime.meta │ ├── Runtime │ │ ├── Attributes.meta │ │ ├── Attributes │ │ │ ├── GetSetAttribute.cs │ │ │ ├── GetSetAttribute.cs.meta │ │ │ ├── MinAttribute.cs │ │ │ ├── MinAttribute.cs.meta │ │ │ ├── TrackballAttribute.cs │ │ │ ├── TrackballAttribute.cs.meta │ │ │ ├── TrackballGroupAttribute.cs │ │ │ └── TrackballGroupAttribute.cs.meta │ │ ├── Components.meta │ │ ├── Components │ │ │ ├── AmbientOcclusionComponent.cs │ │ │ ├── AmbientOcclusionComponent.cs.meta │ │ │ ├── BloomComponent.cs │ │ │ ├── BloomComponent.cs.meta │ │ │ ├── BuiltinDebugViewsComponent.cs │ │ │ ├── BuiltinDebugViewsComponent.cs.meta │ │ │ ├── ChromaticAberrationComponent.cs │ │ │ ├── ChromaticAberrationComponent.cs.meta │ │ │ ├── ColorGradingComponent.cs │ │ │ ├── ColorGradingComponent.cs.meta │ │ │ ├── DepthOfFieldComponent.cs │ │ │ ├── DepthOfFieldComponent.cs.meta │ │ │ ├── EyeAdaptationComponent.cs │ │ │ ├── EyeAdaptationComponent.cs.meta │ │ │ ├── FxaaComponent.cs │ │ │ ├── FxaaComponent.cs.meta │ │ │ ├── GrainComponent.cs │ │ │ ├── GrainComponent.cs.meta │ │ │ ├── MotionBlurComponent.cs │ │ │ ├── MotionBlurComponent.cs.meta │ │ │ ├── ScreenSpaceReflectionComponent.cs │ │ │ ├── ScreenSpaceReflectionComponent.cs.meta │ │ │ ├── TaaComponent.cs │ │ │ ├── TaaComponent.cs.meta │ │ │ ├── UserLutComponent.cs │ │ │ ├── UserLutComponent.cs.meta │ │ │ ├── VignetteComponent.cs │ │ │ └── VignetteComponent.cs.meta │ │ ├── Models.meta │ │ ├── Models │ │ │ ├── AmbientOcclusionModel.cs │ │ │ ├── AmbientOcclusionModel.cs.meta │ │ │ ├── AntialiasingModel.cs │ │ │ ├── AntialiasingModel.cs.meta │ │ │ ├── BloomModel.cs │ │ │ ├── BloomModel.cs.meta │ │ │ ├── BuiltinDebugViewsModel.cs │ │ │ ├── BuiltinDebugViewsModel.cs.meta │ │ │ ├── ChromaticAberrationModel.cs │ │ │ ├── ChromaticAberrationModel.cs.meta │ │ │ ├── ColorGradingModel.cs │ │ │ ├── ColorGradingModel.cs.meta │ │ │ ├── DepthOfFieldModel.cs │ │ │ ├── DepthOfFieldModel.cs.meta │ │ │ ├── EyeAdaptationModel.cs │ │ │ ├── EyeAdaptationModel.cs.meta │ │ │ ├── GrainModel.cs │ │ │ ├── GrainModel.cs.meta │ │ │ ├── MotionBlurModel.cs │ │ │ ├── MotionBlurModel.cs.meta │ │ │ ├── ScreenSpaceReflectionModel.cs │ │ │ ├── ScreenSpaceReflectionModel.cs.meta │ │ │ ├── UserLutModel.cs │ │ │ ├── UserLutModel.cs.meta │ │ │ ├── VignetteModel.cs │ │ │ └── VignetteModel.cs.meta │ │ ├── PostProcessingBehaviour.cs │ │ ├── PostProcessingBehaviour.cs.meta │ │ ├── PostProcessingComponent.cs │ │ ├── PostProcessingComponent.cs.meta │ │ ├── PostProcessingContext.cs │ │ ├── PostProcessingContext.cs.meta │ │ ├── PostProcessingModel.cs │ │ ├── PostProcessingModel.cs.meta │ │ ├── PostProcessingProfile.cs │ │ ├── PostProcessingProfile.cs.meta │ │ ├── Utils.meta │ │ └── Utils │ │ │ ├── ColorGradingCurve.cs │ │ │ ├── ColorGradingCurve.cs.meta │ │ │ ├── GraphicsUtils.cs │ │ │ ├── GraphicsUtils.cs.meta │ │ │ ├── MaterialFactory.cs │ │ │ ├── MaterialFactory.cs.meta │ │ │ ├── ReflectionUtils.cs │ │ │ ├── ReflectionUtils.cs.meta │ │ │ ├── RenderTextureFactory.cs │ │ │ └── RenderTextureFactory.cs.meta │ ├── Textures.meta │ └── Textures │ │ ├── LUTs.meta │ │ ├── LUTs │ │ ├── NeutralLUT_16.png │ │ ├── NeutralLUT_16.png.meta │ │ ├── NeutralLUT_32.png │ │ └── NeutralLUT_32.png.meta │ │ ├── Lens Dirt.meta │ │ ├── Lens Dirt │ │ ├── LensDirt00.png │ │ ├── LensDirt00.png.meta │ │ ├── LensDirt01.png │ │ ├── LensDirt01.png.meta │ │ ├── LensDirt02.png │ │ ├── LensDirt02.png.meta │ │ ├── LensDirt03.png │ │ └── LensDirt03.png.meta │ │ ├── Spectral LUTs.meta │ │ └── Spectral LUTs │ │ ├── SpectralLut_BlueRed.tga │ │ ├── SpectralLut_BlueRed.tga.meta │ │ ├── SpectralLut_GreenPurple.tga │ │ ├── SpectralLut_GreenPurple.tga.meta │ │ ├── SpectralLut_PurpleGreen.tga │ │ ├── SpectralLut_PurpleGreen.tga.meta │ │ ├── SpectralLut_RedBlue.tga │ │ └── SpectralLut_RedBlue.tga.meta ├── SkinnedVertexModifier.meta ├── SkinnedVertexModifier │ ├── Converted Model.asset │ ├── Converted Model.asset.meta │ ├── Editor.meta │ ├── Editor │ │ ├── MeshEditor.cs │ │ └── MeshEditor.cs.meta │ ├── Noise.shader │ ├── Noise.shader.meta │ ├── Shrink.shader │ ├── Shrink.shader.meta │ ├── SimplexNoiseGrad3D.cginc │ └── SimplexNoiseGrad3D.cginc.meta ├── Test.meta ├── Test │ ├── Body Noise.mat │ ├── Body Noise.mat.meta │ ├── Body Shrink.mat │ ├── Body Shrink.mat.meta │ ├── Karate.controller │ ├── Karate.controller.meta │ ├── PostFx.asset │ ├── PostFx.asset.meta │ ├── Skybox.mat │ ├── Skybox.mat.meta │ ├── Test.unity │ ├── Test.unity.meta │ ├── UV Test.mat │ ├── UV Test.mat.meta │ ├── UV Test.png │ └── UV Test.png.meta ├── sIBL Archive.meta └── sIBL Archive │ ├── Acknowledgement.txt │ ├── Acknowledgement.txt.meta │ ├── LA_Downtown_Helipad_GoldenHour_Env.hdr │ └── LA_Downtown_Helipad_GoldenHour_Env.hdr.meta ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset ├── UnityAdsSettings.asset └── UnityConnectSettings.asset └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /[Ll]ibrary/ 2 | /[Tt]emp/ 3 | /[Oo]bj/ 4 | /[Bb]uild/ 5 | /[Bb]uilds/ 6 | 7 | # Autogenerated VS/MD solution and project files 8 | ExportedObj/ 9 | *.csproj 10 | *.unityproj 11 | *.sln 12 | *.suo 13 | *.tmp 14 | *.user 15 | *.userprefs 16 | *.pidb 17 | *.booproj 18 | *.svd 19 | 20 | 21 | # Unity3D generated meta files 22 | *.pidb.meta 23 | 24 | # Unity3D Generated File On Crash Reports 25 | sysinfo.txt 26 | 27 | # ========================= 28 | # Operating System Files 29 | # ========================= 30 | 31 | # OSX 32 | # ========================= 33 | 34 | .DS_Store 35 | .AppleDouble 36 | .LSOverride 37 | 38 | # Thumbnails 39 | ._* 40 | 41 | # Files that might appear in the root of a volume 42 | .DocumentRevisions-V100 43 | .fseventsd 44 | .Spotlight-V100 45 | .TemporaryItems 46 | .Trashes 47 | .VolumeIcon.icns 48 | 49 | # Directories potentially created on remote AFP share 50 | .AppleDB 51 | .AppleDesktop 52 | Network Trash Folder 53 | Temporary Items 54 | .apdisk 55 | 56 | # Windows 57 | # ========================= 58 | 59 | # Windows image file caches 60 | Thumbs.db 61 | ehthumbs.db 62 | 63 | # Folder config file 64 | Desktop.ini 65 | 66 | # Recycle Bin used on file shares 67 | $RECYCLE.BIN/ 68 | 69 | # Windows Installer files 70 | *.cab 71 | *.msi 72 | *.msm 73 | *.msp 74 | 75 | # Windows shortcuts 76 | *.lnk 77 | -------------------------------------------------------------------------------- /Assets/CMUMocap.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b4b934112701ca8438dc7565aafbc68e 3 | folderAsset: yes 4 | timeCreated: 1479043644 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/CMUMocap/135_01.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/SkinnedVertexModifier/86cb46e62b5801cdf0ab74f4bc29fed4f38ea1a8/Assets/CMUMocap/135_01.fbx -------------------------------------------------------------------------------- /Assets/CMUMocap/Acknowledgement.txt: -------------------------------------------------------------------------------- 1 | CMUMocap 2 | -------- 3 | 4 | This directory contains humanoid animations that are converted from the 5 | Carnegie Mellon University Motion Capture Database. 6 | 7 | These animations are basically free to use for commercial and non-commercial 8 | purposes. See the CMU page below for further information. 9 | 10 | http://mocap.cs.cmu.edu/ 11 | 12 | The conversion work is done by Keijiro Takahashi. You can obtain the latest 13 | package from the GitHub repository below. 14 | 15 | https://github.com/keijiro/CMUMocap 16 | -------------------------------------------------------------------------------- /Assets/CMUMocap/Acknowledgement.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 40356b44d29f632459333d2572f4991b 3 | timeCreated: 1481175001 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/CMUMocap/Base.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/SkinnedVertexModifier/86cb46e62b5801cdf0ab74f4bc29fed4f38ea1a8/Assets/CMUMocap/Base.fbx -------------------------------------------------------------------------------- /Assets/Klak.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d80c83752a75c40649d0a3c49a424bd4 3 | folderAsset: yes 4 | timeCreated: 1452473625 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Klak/Extension.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af303efbcda15c14abef72a3a904c771 3 | folderAsset: yes 4 | timeCreated: 1452843633 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Klak/Extension/MaterialExtension.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b4407f6c95f8e43db828f483299732cc 3 | timeCreated: 1452487333 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Klak/Extension/VectorMathExtension.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Klak - Utilities for creative coding with Unity 3 | // 4 | // Copyright (C) 2016 Keijiro Takahashi 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | // 24 | using UnityEngine; 25 | 26 | namespace Klak.VectorMathExtension 27 | { 28 | /// Extension methods for Vector4 29 | static class Vector4Extension 30 | { 31 | public static Quaternion ToQuaternion(this Vector4 v) 32 | { 33 | return new Quaternion(v.x, v.y, v.z, v.w); 34 | } 35 | 36 | public static Quaternion ToNormalizedQuaternion(this Vector4 v) 37 | { 38 | v = Vector4.Normalize(v); 39 | return new Quaternion(v.x, v.y, v.z, v.w); 40 | } 41 | } 42 | 43 | /// Extension methods for Quaternion 44 | static class QuaternionExtension 45 | { 46 | public static Vector4 ToVector4(this Quaternion q) 47 | { 48 | return new Vector4(q.x, q.y, q.z, q.w); 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Assets/Klak/Extension/VectorMathExtension.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b10930df277854f43b411412e91f9bf3 3 | timeCreated: 1452477818 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Klak/Math.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fb9dc05a19a2fad4caf8b1a87a2c484c 3 | folderAsset: yes 4 | timeCreated: 1452843589 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Klak/Math/BasicMath.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Klak - Utilities for creative coding with Unity 3 | // 4 | // Copyright (C) 2016 Keijiro Takahashi 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | // 24 | using UnityEngine; 25 | 26 | namespace Klak.Math 27 | { 28 | static class BasicMath 29 | { 30 | public static float Lerp(float a, float b, float mix) 31 | { 32 | return a * (1 - mix) + b * mix; 33 | } 34 | public static Vector3 Lerp(Vector3 a, Vector3 b, float mix) 35 | { 36 | return a * (1 - mix) + b * mix; 37 | } 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /Assets/Klak/Math/BasicMath.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a93c590d9dab4415eadb92e108635e30 3 | timeCreated: 1453562143 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Klak/Math/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd47a5ebc73153e49b3e170cb40b85e3 3 | folderAsset: yes 4 | timeCreated: 1452853831 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Klak/Math/Editor/InterpolatorConfigDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eb737738c6d26ed4891ed48e364e1041 3 | timeCreated: 1452747941 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Klak/Math/Interpolator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a20dd3f543e39e84583729e6e93c2911 3 | timeCreated: 1452744639 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Klak/Math/NoiseGenerator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02dfbe70c75094fe1973194746bdef09 3 | timeCreated: 1452489764 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Klak/Math/Perlin.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9b05ef48e04bc4e4385bbbecb990f874 3 | timeCreated: 1452487793 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Klak/Math/Tween.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8d594ef0c2194bfcbb842c19f8df85d 3 | timeCreated: 1452474839 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Klak/Math/XXHash.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6508314c510884ced8a4be226dea5495 3 | timeCreated: 1452488971 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Klak/Motion.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b04e253fd90e09646b7032c3100d8444 3 | folderAsset: yes 4 | timeCreated: 1452843621 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Klak/Motion/BrownianMotion.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 543ddbe12367a4899b011d43ef41f357 3 | timeCreated: 1452493080 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Klak/Motion/ConstantMotion.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3db4c4a72731246b2b1ad1e73178c04e 3 | timeCreated: 1452494131 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Klak/Motion/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5f2b8436fbb9bd045ab8bdccf8490ae1 3 | folderAsset: yes 4 | timeCreated: 1452853741 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Klak/Motion/Editor/BrownianMotionEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ff30deb1b277747ecb72302943759563 3 | timeCreated: 1452493920 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Klak/Motion/Editor/ConstantMotionEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6fc5aa7ff4bc94e60a8415d6b0755c76 3 | timeCreated: 1452496761 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Klak/Motion/Editor/SmoothFollowEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3975fff25a95a4a7cb28c27879976139 3 | timeCreated: 1452484574 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Klak/Motion/SmoothFollow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e04f5e50cd25d4df6ad5fe43d1f88cca 3 | timeCreated: 1452473647 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/NeoLowMan.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 64e0fa90ff2a0c5408a34bab6731062f 3 | folderAsset: yes 4 | timeCreated: 1478939099 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/NeoLowMan/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0596d9641837e89498be1acc3bda1b0a 3 | folderAsset: yes 4 | timeCreated: 1483411688 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/NeoLowMan/Materials/Body.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 994fb69d8a342e2459e41d5ffce1e483 3 | timeCreated: 1483411688 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/NeoLowMan/Neo.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/SkinnedVertexModifier/86cb46e62b5801cdf0ab74f4bc29fed4f38ea1a8/Assets/NeoLowMan/Neo.fbx -------------------------------------------------------------------------------- /Assets/PostProcessing.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 123e879123a973b45a75a5ad9df8f429 3 | folderAsset: yes 4 | timeCreated: 1477901432 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 83715878d3a8db441aa5636641db69a3 3 | folderAsset: yes 4 | timeCreated: 1476176392 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources/Monitors.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7358848dd8737c459f4636f1c075835 3 | folderAsset: yes 4 | timeCreated: 1460361782 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources/Monitors/HistogramCompute.compute.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 51b7e4b4448c98f4a849081110fd6212 3 | timeCreated: 1459956391 4 | licenseType: Pro 5 | ComputeShaderImporter: 6 | currentAPIMask: 4 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources/Monitors/HistogramRender.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 965efa32cf2345647a1c987546e08f86 3 | timeCreated: 1459956391 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources/Monitors/ParadeRender.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/Post FX/Monitors/Parade Render" 2 | { 3 | SubShader 4 | { 5 | ZTest Always Cull Off ZWrite Off 6 | Fog { Mode off } 7 | 8 | CGINCLUDE 9 | 10 | #pragma fragmentoption ARB_precision_hint_fastest 11 | #pragma target 5.0 12 | #include "UnityCG.cginc" 13 | 14 | StructuredBuffer _Waveform; 15 | float4 _Size; 16 | float _Exposure; 17 | 18 | float3 Tonemap(float3 x, float exposure) 19 | { 20 | const float a = 6.2; 21 | const float b = 0.5; 22 | const float c = 1.7; 23 | const float d = 0.06; 24 | x *= exposure; 25 | x = max((0.0).xxx, x - (0.004).xxx); 26 | x = (x * (a * x + b)) / (x * (a * x + c) + d); 27 | return x * x; 28 | } 29 | 30 | float4 FragParade(v2f_img i) : SV_Target 31 | { 32 | const float3 red = float3(1.8, 0.03, 0.02); 33 | const float3 green = float3(0.02, 1.3, 0.05); 34 | const float3 blue = float3(0.0, 0.45, 1.75); 35 | float3 color = float3(0.0, 0.0, 0.0); 36 | 37 | const uint limitR = _Size.x / 3; 38 | const uint limitG = limitR * 2; 39 | 40 | if (i.pos.x < (float)limitR) 41 | { 42 | uint2 uvI = i.pos.xy; 43 | color = _Waveform[uvI.y + uvI.x * _Size.y].r * red; 44 | } 45 | else if (i.pos.x < (float)limitG) 46 | { 47 | uint2 uvI = uint2(i.pos.x - limitR, i.pos.y); 48 | color = _Waveform[uvI.y + uvI.x * _Size.y].g * green; 49 | } 50 | else 51 | { 52 | uint2 uvI = uint2(i.pos.x - limitG, i.pos.y); 53 | color = _Waveform[uvI.y + uvI.x * _Size.y].b * blue; 54 | } 55 | 56 | color = Tonemap(color, _Exposure); 57 | color += (0.1).xxx; 58 | 59 | return float4(saturate(color), 1.0); 60 | } 61 | 62 | ENDCG 63 | 64 | // (0) 65 | Pass 66 | { 67 | CGPROGRAM 68 | 69 | #pragma vertex vert_img 70 | #pragma fragment FragParade 71 | 72 | ENDCG 73 | } 74 | } 75 | FallBack off 76 | } 77 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources/Monitors/ParadeRender.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5ae1bfc1dd20ac04e8b74aa0f2f12eea 3 | timeCreated: 1459956391 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources/Monitors/VectorscopeCompute.compute: -------------------------------------------------------------------------------- 1 | #include "UnityCG.cginc" 2 | 3 | RWStructuredBuffer _Vectorscope; 4 | Texture2D _Source; 5 | 6 | CBUFFER_START (Params) 7 | uint _IsLinear; 8 | float4 _Res; 9 | CBUFFER_END 10 | 11 | #define GROUP_SIZE 32 12 | 13 | float3 RgbToYUV(float3 c) 14 | { 15 | float Y = 0.299 * c.r + 0.587 * c.g + 0.114 * c.b; 16 | float U = -0.169 * c.r - 0.331 * c.g + 0.500 * c.b; 17 | float V = 0.500 * c.r - 0.419 * c.g - 0.081 * c.b; 18 | return float3(Y, U, V); 19 | } 20 | 21 | #pragma kernel KVectorscope 22 | [numthreads(GROUP_SIZE,GROUP_SIZE,1)] 23 | void KVectorscope(uint2 dispatchThreadId : SV_DispatchThreadID) 24 | { 25 | if (dispatchThreadId.x < (uint)_Res.x && dispatchThreadId.y < (uint)_Res.y) 26 | { 27 | float3 color = saturate(_Source[dispatchThreadId].xyz); 28 | if (_IsLinear > 0) 29 | color = LinearToGammaSpace(color); 30 | 31 | float3 yuv = RgbToYUV(color); 32 | 33 | if (length(yuv.yz) > 0.49) 34 | yuv.yz = normalize(yuv.yz) * 0.49; 35 | 36 | yuv.yz += (0.5).xx; 37 | uint u = (uint)floor(yuv.y * _Res.x); 38 | uint v = (uint)floor(yuv.z * _Res.y); 39 | InterlockedAdd(_Vectorscope[v * _Res.x + u], 1); 40 | } 41 | } 42 | 43 | #pragma kernel KVectorscopeClear 44 | [numthreads(GROUP_SIZE,GROUP_SIZE,1)] 45 | void KVectorscopeClear(uint2 dispatchThreadId : SV_DispatchThreadID) 46 | { 47 | if (dispatchThreadId.x < (uint)_Res.x && dispatchThreadId.y < (uint)_Res.y) 48 | _Vectorscope[dispatchThreadId.y * _Res.x + dispatchThreadId.x] = 0u; 49 | } 50 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources/Monitors/VectorscopeCompute.compute.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45de9ff58691e934c9810dc23de2ba50 3 | timeCreated: 1459956391 4 | licenseType: Pro 5 | ComputeShaderImporter: 6 | currentAPIMask: 4 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources/Monitors/VectorscopeRender.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c4298cd35ef7834e892898e49d61ecd 3 | timeCreated: 1461756159 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources/Monitors/WaveformCompute.compute: -------------------------------------------------------------------------------- 1 | #include "UnityCG.cginc" 2 | 3 | RWStructuredBuffer _Waveform; 4 | Texture2D _Source; 5 | 6 | CBUFFER_START (Params) 7 | uint _IsLinear; 8 | uint4 _Channels; 9 | CBUFFER_END 10 | 11 | #define COLUMNS 384 12 | 13 | #pragma kernel KWaveform 14 | [numthreads(1,COLUMNS,1)] 15 | void KWaveform(uint2 dispatchThreadId : SV_DispatchThreadID) 16 | { 17 | // We want a gamma corrected colors 18 | float3 color = _Source[dispatchThreadId].rgb; 19 | if (_IsLinear > 0u) 20 | color = LinearToGammaSpace(color); 21 | 22 | color = saturate(color); 23 | 24 | // Convert color & luminance to histogram bins 25 | const float kColumnsMinusOne = COLUMNS - 1.0; 26 | uint3 idx_c = (uint3)(round(color * kColumnsMinusOne)); 27 | uint idx_l = (uint)(round(dot(color.rgb, float3(0.2126, 0.7152, 0.0722)) * kColumnsMinusOne)); 28 | 29 | // A lot of atomic operations will be skipped so there's no need to over-think this one. 30 | uint j = dispatchThreadId.x * COLUMNS; 31 | if (_Channels.x > 0u && idx_c.x > 0u) InterlockedAdd(_Waveform[j + idx_c.x].x, 1u); // Red 32 | if (_Channels.y > 0u && idx_c.y > 0u) InterlockedAdd(_Waveform[j + idx_c.y].y, 1u); // Green 33 | if (_Channels.z > 0u && idx_c.z > 0u) InterlockedAdd(_Waveform[j + idx_c.z].z, 1u); // Blue 34 | if (_Channels.w > 0u) InterlockedAdd(_Waveform[j + idx_l].w, 1u); // Luminance 35 | } 36 | 37 | #pragma kernel KWaveformClear 38 | [numthreads(1, COLUMNS, 1)] 39 | void KWaveformClear(uint2 dispatchThreadId : SV_DispatchThreadID) 40 | { 41 | _Waveform[dispatchThreadId.x * COLUMNS + dispatchThreadId.y] = uint4(0u, 0u, 0u, 0u); 42 | } 43 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources/Monitors/WaveformCompute.compute.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9d9b886f7a8fe7b4baf56624c42e3420 3 | timeCreated: 1459956392 4 | licenseType: Pro 5 | ComputeShaderImporter: 6 | currentAPIMask: 4 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources/Monitors/WaveformRender.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/Post FX/Monitors/Waveform Render" 2 | { 3 | SubShader 4 | { 5 | ZTest Always Cull Off ZWrite Off 6 | Fog { Mode off } 7 | 8 | CGINCLUDE 9 | 10 | #pragma fragmentoption ARB_precision_hint_fastest 11 | #pragma target 5.0 12 | #include "UnityCG.cginc" 13 | 14 | StructuredBuffer _Waveform; 15 | float2 _Size; 16 | float4 _Channels; 17 | float _Exposure; 18 | 19 | float3 Tonemap(float3 x, float exposure) 20 | { 21 | const float a = 6.2; 22 | const float b = 0.5; 23 | const float c = 1.7; 24 | const float d = 0.06; 25 | x *= exposure; 26 | x = max((0.0).xxx, x - (0.004).xxx); 27 | x = (x * (a * x + b)) / (x * (a * x + c) + d); 28 | return x * x; 29 | } 30 | 31 | float4 FragWaveform(v2f_img i) : SV_Target 32 | { 33 | const float3 red = float3(1.4, 0.03, 0.02); 34 | const float3 green = float3(0.02, 1.1, 0.05); 35 | const float3 blue = float3(0.0, 0.25, 1.5); 36 | float3 color = float3(0.0, 0.0, 0.0); 37 | 38 | uint2 uvI = i.pos.xy; 39 | float4 w = _Waveform[uvI.y + uvI.x * _Size.y]; // Waveform data is stored in columns instead of rows 40 | 41 | color += red * w.r * _Channels.r; 42 | color += green * w.g * _Channels.g; 43 | color += blue * w.b * _Channels.b; 44 | color += w.aaa * _Channels.a * 1.5; 45 | color = Tonemap(color, _Exposure); 46 | color += (0.1).xxx; 47 | 48 | return float4(saturate(color), 1.0); 49 | } 50 | 51 | ENDCG 52 | 53 | // (0) 54 | Pass 55 | { 56 | CGPROGRAM 57 | 58 | #pragma vertex vert_img 59 | #pragma fragment FragWaveform 60 | 61 | ENDCG 62 | } 63 | } 64 | FallBack off 65 | } 66 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources/Monitors/WaveformRender.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8b3e43c50424ab2428a9c172843bc66d 3 | timeCreated: 1459956391 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df37d60cc69b7b04d9705a74938179e7 3 | folderAsset: yes 4 | timeCreated: 1460627771 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources/UI/CurveBackground.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/Post FX/UI/Curve Background" 2 | { 3 | CGINCLUDE 4 | 5 | #pragma target 3.0 6 | #include "UnityCG.cginc" 7 | 8 | float _DisabledState; 9 | 10 | float3 HsvToRgb(float3 c) 11 | { 12 | float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); 13 | float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); 14 | return c.z * lerp(K.xxx, saturate(p - K.xxx), c.y); 15 | } 16 | 17 | float4 FragHue(v2f_img i) : SV_Target 18 | { 19 | float3 hsv = HsvToRgb(float3(i.uv.x, 1.0, 0.2)); 20 | float4 color = float4((0.0).xxx, 1.0); 21 | color.rgb = lerp(color.rgb, hsv, smoothstep(0.5, 1.1, 1.0 - i.uv.y)) + lerp(color.rgb, hsv, smoothstep(0.5, 1.1, i.uv.y)); 22 | color.rgb += (0.15).xxx; 23 | return float4(color.rgb, color.a * _DisabledState); 24 | } 25 | 26 | float4 FragSat(v2f_img i) : SV_Target 27 | { 28 | float4 color = float4((0.0).xxx, 1.0); 29 | float sat = i.uv.x / 2; 30 | color.rgb += lerp(color.rgb, (sat).xxx, smoothstep(0.5, 1.2, 1.0 - i.uv.y)) + lerp(color.rgb, (sat).xxx, smoothstep(0.5, 1.2, i.uv.y)); 31 | color.rgb += (0.15).xxx; 32 | return float4(color.rgb, color.a * _DisabledState); 33 | } 34 | 35 | ENDCG 36 | 37 | SubShader 38 | { 39 | Cull Off ZWrite Off ZTest Always 40 | 41 | // (0) Hue 42 | Pass 43 | { 44 | CGPROGRAM 45 | 46 | #pragma vertex vert_img 47 | #pragma fragment FragHue 48 | 49 | ENDCG 50 | } 51 | 52 | // (1) Sat/lum 53 | Pass 54 | { 55 | CGPROGRAM 56 | 57 | #pragma vertex vert_img 58 | #pragma fragment FragSat 59 | 60 | ENDCG 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources/UI/CurveBackground.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b1b2bfb2897659e45983f0c3e7dda2c8 3 | timeCreated: 1460970196 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources/UI/MotionBlendingIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/SkinnedVertexModifier/86cb46e62b5801cdf0ab74f4bc29fed4f38ea1a8/Assets/PostProcessing/Editor Resources/UI/MotionBlendingIcon.png -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources/UI/MotionBlendingIcon.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c0fa58091049bd24394fa15b0b6d4c5a 3 | timeCreated: 1468326774 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | spriteTessellationDetail: -1 50 | textureType: 2 51 | buildTargetSettings: [] 52 | spriteSheet: 53 | serializedVersion: 2 54 | sprites: [] 55 | outline: [] 56 | spritePackingTag: 57 | userData: 58 | assetBundleName: 59 | assetBundleVariant: 60 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor Resources/UI/Trackball.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4bf49309c7ab9eb42a86774d2c09b4fa 3 | timeCreated: 1460627788 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e0e418747b892364db5c5f4451e67ede 3 | folderAsset: yes 4 | timeCreated: 1466586258 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Attributes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cc5c690f549b4704eb992a9be781554d 3 | folderAsset: yes 4 | timeCreated: 1466769698 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Attributes/PostProcessingModelEditorAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEditor.PostProcessing 4 | { 5 | public class PostProcessingModelEditorAttribute : Attribute 6 | { 7 | public readonly Type type; 8 | public readonly bool alwaysEnabled; 9 | 10 | public PostProcessingModelEditorAttribute(Type type, bool alwaysEnabled = false) 11 | { 12 | this.type = type; 13 | this.alwaysEnabled = alwaysEnabled; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Attributes/PostProcessingModelEditorAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c21938aa988055347a2271f03a3e731e 3 | timeCreated: 1466769734 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d5341d31985da604db4b100f174142ad 3 | folderAsset: yes 4 | timeCreated: 1466769808 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/AmbientOcclusionModelEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine.PostProcessing; 2 | 3 | namespace UnityEditor.PostProcessing 4 | { 5 | using Settings = AmbientOcclusionModel.Settings; 6 | 7 | [PostProcessingModelEditor(typeof(AmbientOcclusionModel))] 8 | public class AmbientOcclusionModelEditor : PostProcessingModelEditor 9 | { 10 | SerializedProperty m_Intensity; 11 | SerializedProperty m_Radius; 12 | SerializedProperty m_SampleCount; 13 | SerializedProperty m_Downsampling; 14 | SerializedProperty m_ForceForwardCompatibility; 15 | SerializedProperty m_AmbientOnly; 16 | SerializedProperty m_HighPrecision; 17 | 18 | public override void OnEnable() 19 | { 20 | m_Intensity = FindSetting((Settings x) => x.intensity); 21 | m_Radius = FindSetting((Settings x) => x.radius); 22 | m_SampleCount = FindSetting((Settings x) => x.sampleCount); 23 | m_Downsampling = FindSetting((Settings x) => x.downsampling); 24 | m_ForceForwardCompatibility = FindSetting((Settings x) => x.forceForwardCompatibility); 25 | m_AmbientOnly = FindSetting((Settings x) => x.ambientOnly); 26 | m_HighPrecision = FindSetting((Settings x) => x.highPrecision); 27 | } 28 | 29 | public override void OnInspectorGUI() 30 | { 31 | EditorGUILayout.PropertyField(m_Intensity); 32 | EditorGUILayout.PropertyField(m_Radius); 33 | EditorGUILayout.PropertyField(m_SampleCount); 34 | EditorGUILayout.PropertyField(m_Downsampling); 35 | EditorGUILayout.PropertyField(m_ForceForwardCompatibility); 36 | EditorGUILayout.PropertyField(m_HighPrecision, EditorGUIHelper.GetContent("High Precision (Forward)")); 37 | 38 | using (new EditorGUI.DisabledGroupScope(m_ForceForwardCompatibility.boolValue)) 39 | EditorGUILayout.PropertyField(m_AmbientOnly, EditorGUIHelper.GetContent("Ambient Only (Deferred + HDR)")); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/AmbientOcclusionModelEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9fcb710e23a5a0546a3b8b0ca28c1720 3 | timeCreated: 1467190133 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/AntialiasingModelEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.PostProcessing; 3 | 4 | namespace UnityEditor.PostProcessing 5 | { 6 | using Method = AntialiasingModel.Method; 7 | using Settings = AntialiasingModel.Settings; 8 | 9 | [PostProcessingModelEditor(typeof(AntialiasingModel))] 10 | public class AntialiasingModelEditor : PostProcessingModelEditor 11 | { 12 | SerializedProperty m_Method; 13 | 14 | SerializedProperty m_FxaaPreset; 15 | 16 | SerializedProperty m_TaaJitterSpread; 17 | SerializedProperty m_TaaSharpen; 18 | SerializedProperty m_TaaStationaryBlending; 19 | SerializedProperty m_TaaMotionBlending; 20 | 21 | static string[] s_MethodNames = 22 | { 23 | "Fast Approximate Anti-aliasing", 24 | "Temporal Anti-aliasing" 25 | }; 26 | 27 | public override void OnEnable() 28 | { 29 | m_Method = FindSetting((Settings x) => x.method); 30 | 31 | m_FxaaPreset = FindSetting((Settings x) => x.fxaaSettings.preset); 32 | 33 | m_TaaJitterSpread = FindSetting((Settings x) => x.taaSettings.jitterSpread); 34 | m_TaaSharpen = FindSetting((Settings x) => x.taaSettings.sharpen); 35 | m_TaaStationaryBlending = FindSetting((Settings x) => x.taaSettings.stationaryBlending); 36 | m_TaaMotionBlending = FindSetting((Settings x) => x.taaSettings.motionBlending); 37 | } 38 | 39 | public override void OnInspectorGUI() 40 | { 41 | m_Method.intValue = EditorGUILayout.Popup("Method", m_Method.intValue, s_MethodNames); 42 | 43 | if (m_Method.intValue == (int)Method.Fxaa) 44 | { 45 | EditorGUILayout.PropertyField(m_FxaaPreset); 46 | } 47 | else if (m_Method.intValue == (int)Method.Taa) 48 | { 49 | if (QualitySettings.antiAliasing > 1) 50 | EditorGUILayout.HelpBox("Temporal Anti-Aliasing doesn't work correctly when MSAA is enabled.", MessageType.Warning); 51 | 52 | EditorGUILayout.LabelField("Jitter", EditorStyles.boldLabel); 53 | EditorGUI.indentLevel++; 54 | EditorGUILayout.PropertyField(m_TaaJitterSpread, EditorGUIHelper.GetContent("Spread")); 55 | EditorGUI.indentLevel--; 56 | 57 | EditorGUILayout.Space(); 58 | 59 | EditorGUILayout.LabelField("Blending", EditorStyles.boldLabel); 60 | EditorGUI.indentLevel++; 61 | EditorGUILayout.PropertyField(m_TaaStationaryBlending, EditorGUIHelper.GetContent("Stationary")); 62 | EditorGUILayout.PropertyField(m_TaaMotionBlending, EditorGUIHelper.GetContent("Motion")); 63 | EditorGUI.indentLevel--; 64 | 65 | EditorGUILayout.Space(); 66 | 67 | EditorGUILayout.PropertyField(m_TaaSharpen); 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/AntialiasingModelEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2451939fe695c1a408ba688219837667 3 | timeCreated: 1467190133 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/BloomModelEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a95f3f10e7e437c49ade656f531b30d2 3 | timeCreated: 1467190133 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/BuiltinDebugViewsEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 760ffebbef2ed644c87940a699eb7fe6 3 | timeCreated: 1468237035 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/ChromaticAberrationEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine.PostProcessing; 2 | 3 | namespace UnityEditor.PostProcessing 4 | { 5 | [PostProcessingModelEditor(typeof(ChromaticAberrationModel))] 6 | public class ChromaticaAberrationModelEditor : DefaultPostFxModelEditor 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/ChromaticAberrationEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8a713f71a0169794a915a081f6242f60 3 | timeCreated: 1467190133 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/ColorGradingModelEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c3e3bce1d5c900d4fa7aa0f2b21814cf 3 | timeCreated: 1467190133 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/DefaultPostFxModelEditor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace UnityEditor.PostProcessing 4 | { 5 | public class DefaultPostFxModelEditor : PostProcessingModelEditor 6 | { 7 | List m_Properties = new List(); 8 | 9 | public override void OnEnable() 10 | { 11 | var iter = m_SettingsProperty.Copy().GetEnumerator(); 12 | while (iter.MoveNext()) 13 | m_Properties.Add(((SerializedProperty)iter.Current).Copy()); 14 | } 15 | 16 | public override void OnInspectorGUI() 17 | { 18 | foreach (var property in m_Properties) 19 | EditorGUILayout.PropertyField(property); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/DefaultPostFxModelEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c15016a7fef58974f91a6a4d6b132d94 3 | timeCreated: 1467190133 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/DepthOfFieldModelEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine.PostProcessing; 2 | 3 | namespace UnityEditor.PostProcessing 4 | { 5 | using Settings = DepthOfFieldModel.Settings; 6 | 7 | [PostProcessingModelEditor(typeof(DepthOfFieldModel))] 8 | public class DepthOfFieldModelEditor : PostProcessingModelEditor 9 | { 10 | SerializedProperty m_FocusDistance; 11 | SerializedProperty m_Aperture; 12 | SerializedProperty m_FocalLength; 13 | SerializedProperty m_UseCameraFov; 14 | SerializedProperty m_KernelSize; 15 | 16 | public override void OnEnable() 17 | { 18 | m_FocusDistance = FindSetting((Settings x) => x.focusDistance); 19 | m_Aperture = FindSetting((Settings x) => x.aperture); 20 | m_FocalLength = FindSetting((Settings x) => x.focalLength); 21 | m_UseCameraFov = FindSetting((Settings x) => x.useCameraFov); 22 | m_KernelSize = FindSetting((Settings x) => x.kernelSize); 23 | } 24 | 25 | public override void OnInspectorGUI() 26 | { 27 | EditorGUILayout.PropertyField(m_FocusDistance); 28 | EditorGUILayout.PropertyField(m_Aperture, EditorGUIHelper.GetContent("Aperture (f-stop)")); 29 | 30 | EditorGUILayout.PropertyField(m_UseCameraFov, EditorGUIHelper.GetContent("Use Camera FOV")); 31 | if (!m_UseCameraFov.boolValue) 32 | EditorGUILayout.PropertyField(m_FocalLength, EditorGUIHelper.GetContent("Focal Length (mm)")); 33 | 34 | EditorGUILayout.PropertyField(m_KernelSize); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/DepthOfFieldModelEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc2f388440e9f8b4f8fc7bb43c01cc7d 3 | timeCreated: 1467190133 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/EyeAdaptationModelEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 489b5c785ba0f614d90c322fa0827216 3 | timeCreated: 1467190133 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/GrainModelEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine.PostProcessing; 2 | 3 | namespace UnityEditor.PostProcessing 4 | { 5 | using Settings = GrainModel.Settings; 6 | 7 | [PostProcessingModelEditor(typeof(GrainModel))] 8 | public class GrainModelEditor : PostProcessingModelEditor 9 | { 10 | SerializedProperty m_Colored; 11 | SerializedProperty m_Intensity; 12 | SerializedProperty m_Size; 13 | SerializedProperty m_LuminanceContribution; 14 | 15 | public override void OnEnable() 16 | { 17 | m_Colored = FindSetting((Settings x) => x.colored); 18 | m_Intensity = FindSetting((Settings x) => x.intensity); 19 | m_Size = FindSetting((Settings x) => x.size); 20 | m_LuminanceContribution = FindSetting((Settings x) => x.luminanceContribution); 21 | } 22 | 23 | public override void OnInspectorGUI() 24 | { 25 | EditorGUILayout.PropertyField(m_Intensity); 26 | EditorGUILayout.PropertyField(m_LuminanceContribution); 27 | EditorGUILayout.PropertyField(m_Size); 28 | EditorGUILayout.PropertyField(m_Colored); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/GrainModelEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8330694e2c90c284f81153ac83b3cb4a 3 | timeCreated: 1467190133 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/MotionBlurModelEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 870806eda355b5144879155e2ba37eb6 3 | timeCreated: 1468325681 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/ScreenSpaceReflectionModelEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 57bbe1f20eec7bb4d9bc90fc65ef381b 3 | timeCreated: 1467190133 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/UserLutModelEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b235eb1c486b38c4fa06470234bbfd32 3 | timeCreated: 1466769818 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Models/VignetteModelEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 745ad42620dabf04b94761acc86189ba 3 | timeCreated: 1467190133 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Monitors.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e31078d57ac582944ad5e1e76a84f36a 3 | folderAsset: yes 4 | timeCreated: 1467188891 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Monitors/HistogramMonitor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4581c45ac4aa2264187087659a4cc252 3 | timeCreated: 1460031632 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Monitors/ParadeMonitor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b1f878f3742072e40a280683573bd0ee 3 | timeCreated: 1460031643 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Monitors/VectorscopeMonitor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 805119df0d94800418006c621cc99cc2 3 | timeCreated: 1461748750 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Monitors/WaveformMonitor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2d45bc7edb5916446b4fa1ae1b6f9065 3 | timeCreated: 1459957472 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/PostProcessingBehaviourEditor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq.Expressions; 3 | using UnityEngine.PostProcessing; 4 | 5 | namespace UnityEditor.PostProcessing 6 | { 7 | [CustomEditor(typeof(PostProcessingBehaviour))] 8 | public class PostProcessingBehaviourEditor : Editor 9 | { 10 | SerializedProperty m_Profile; 11 | 12 | public void OnEnable() 13 | { 14 | m_Profile = FindSetting((PostProcessingBehaviour x) => x.profile); 15 | } 16 | 17 | public override void OnInspectorGUI() 18 | { 19 | serializedObject.Update(); 20 | 21 | EditorGUILayout.PropertyField(m_Profile); 22 | 23 | serializedObject.ApplyModifiedProperties(); 24 | } 25 | 26 | SerializedProperty FindSetting(Expression> expr) 27 | { 28 | return serializedObject.FindProperty(ReflectionUtils.GetFieldPath(expr)); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/PostProcessingBehaviourEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0c12e797b02402246a52aa270c45059b 3 | timeCreated: 1476193645 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/PostProcessingFactory.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.PostProcessing; 3 | using UnityEditor.ProjectWindowCallback; 4 | using System.IO; 5 | 6 | namespace UnityEditor.PostProcessing 7 | { 8 | public class PostProcessingFactory 9 | { 10 | [MenuItem("Assets/Create/Post-Processing Profile", priority = 201)] 11 | static void MenuCreatePostProcessingProfile() 12 | { 13 | var icon = EditorGUIUtility.FindTexture("ScriptableObject Icon"); 14 | ProjectWindowUtil.StartNameEditingIfProjectWindowExists(0, ScriptableObject.CreateInstance(), "New Post-Processing Profile.asset", icon, null); 15 | } 16 | 17 | internal static PostProcessingProfile CreatePostProcessingProfileAtPath(string path) 18 | { 19 | var profile = ScriptableObject.CreateInstance(); 20 | profile.name = Path.GetFileName(path); 21 | AssetDatabase.CreateAsset(profile, path); 22 | return profile; 23 | } 24 | } 25 | 26 | class DoCreatePostProcessingProfile : EndNameEditAction 27 | { 28 | public override void Action(int instanceId, string pathName, string resourceFile) 29 | { 30 | PostProcessingProfile profile = PostProcessingFactory.CreatePostProcessingProfileAtPath(pathName); 31 | ProjectWindowUtil.ShowCreatedAsset(profile); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/PostProcessingFactory.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0dfcadb180d67014cb0a6e18d6b11f90 3 | timeCreated: 1466586271 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/PostProcessingInspector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 27fa95984763d9d47bbad59e7fdb66fe 3 | timeCreated: 1467188923 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/PostProcessingModelEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.PostProcessing; 3 | using System; 4 | using System.Linq.Expressions; 5 | 6 | namespace UnityEditor.PostProcessing 7 | { 8 | public class PostProcessingModelEditor 9 | { 10 | public PostProcessingModel target { get; internal set; } 11 | public SerializedProperty serializedProperty { get; internal set; } 12 | 13 | protected SerializedProperty m_SettingsProperty; 14 | protected SerializedProperty m_EnabledProperty; 15 | 16 | internal bool alwaysEnabled = false; 17 | internal PostProcessingProfile profile; 18 | internal PostProcessingInspector inspector; 19 | 20 | internal void OnPreEnable() 21 | { 22 | m_SettingsProperty = serializedProperty.FindPropertyRelative("m_Settings"); 23 | m_EnabledProperty = serializedProperty.FindPropertyRelative("m_Enabled"); 24 | 25 | OnEnable(); 26 | } 27 | 28 | public virtual void OnEnable() 29 | {} 30 | 31 | public virtual void OnDisable() 32 | {} 33 | 34 | internal void OnGUI() 35 | { 36 | GUILayout.Space(5); 37 | 38 | var display = alwaysEnabled 39 | ? EditorGUIHelper.Header(serializedProperty.displayName, m_SettingsProperty) 40 | : EditorGUIHelper.Header(serializedProperty.displayName, m_SettingsProperty, m_EnabledProperty, Reset); 41 | 42 | if (display) 43 | { 44 | EditorGUI.indentLevel++; 45 | using (new EditorGUI.DisabledGroupScope(!m_EnabledProperty.boolValue)) 46 | { 47 | OnInspectorGUI(); 48 | } 49 | EditorGUI.indentLevel--; 50 | } 51 | } 52 | 53 | void Reset() 54 | { 55 | var obj = serializedProperty.serializedObject; 56 | Undo.RecordObject(obj.targetObject, "Reset"); 57 | target.Reset(); 58 | EditorUtility.SetDirty(obj.targetObject); 59 | } 60 | 61 | public virtual void OnInspectorGUI() 62 | {} 63 | 64 | public void Repaint() 65 | { 66 | inspector.Repaint(); 67 | } 68 | 69 | protected SerializedProperty FindSetting(Expression> expr) 70 | { 71 | return m_SettingsProperty.FindPropertyRelative(ReflectionUtils.GetFieldPath(expr)); 72 | } 73 | 74 | protected SerializedProperty FindSetting(SerializedProperty prop, Expression> expr) 75 | { 76 | return prop.FindPropertyRelative(ReflectionUtils.GetFieldPath(expr)); 77 | } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/PostProcessingModelEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: afe296d4ede60a0479734dc8c7df82c2 3 | timeCreated: 1467188923 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/PostProcessingMonitor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace UnityEditor.PostProcessing 5 | { 6 | using MonitorSettings = UnityEngine.PostProcessing.PostProcessingProfile.MonitorSettings; 7 | 8 | public abstract class PostProcessingMonitor : IDisposable 9 | { 10 | protected MonitorSettings m_MonitorSettings; 11 | protected PostProcessingInspector m_BaseEditor; 12 | 13 | public void Init(MonitorSettings monitorSettings, PostProcessingInspector baseEditor) 14 | { 15 | m_MonitorSettings = monitorSettings; 16 | m_BaseEditor = baseEditor; 17 | } 18 | 19 | public abstract bool IsSupported(); 20 | 21 | public abstract GUIContent GetMonitorTitle(); 22 | 23 | public virtual void OnMonitorSettings() 24 | {} 25 | 26 | public abstract void OnMonitorGUI(Rect r); 27 | 28 | public virtual void OnFrameData(RenderTexture source) 29 | {} 30 | 31 | public virtual void Dispose() 32 | {} 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/PostProcessingMonitor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 801186e9e649457469bcddd8ee391c71 3 | timeCreated: 1467188912 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/PropertyDrawers.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ced92f1cc2085ae48acacc79a2b8e196 3 | folderAsset: yes 4 | timeCreated: 1467189428 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/PropertyDrawers/GetSetDrawer.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.PostProcessing; 3 | 4 | namespace UnityEditor.PostProcessing 5 | { 6 | [CustomPropertyDrawer(typeof(GetSetAttribute))] 7 | sealed class GetSetDrawer : PropertyDrawer 8 | { 9 | public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) 10 | { 11 | var attribute = (GetSetAttribute)base.attribute; 12 | 13 | EditorGUI.BeginChangeCheck(); 14 | EditorGUI.PropertyField(position, property, label); 15 | 16 | if (EditorGUI.EndChangeCheck()) 17 | { 18 | attribute.dirty = true; 19 | } 20 | else if (attribute.dirty) 21 | { 22 | var parent = ReflectionUtils.GetParentObject(property.propertyPath, property.serializedObject.targetObject); 23 | 24 | var type = parent.GetType(); 25 | var info = type.GetProperty(attribute.name); 26 | 27 | if (info == null) 28 | Debug.LogError("Invalid property name \"" + attribute.name + "\""); 29 | else 30 | info.SetValue(parent, fieldInfo.GetValue(parent), null); 31 | 32 | attribute.dirty = false; 33 | } 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/PropertyDrawers/GetSetDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e1a43b92f2bbd914ca2e6b4c6a5dba48 3 | timeCreated: 1460383963 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/PropertyDrawers/MinDrawer.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.PostProcessing; 3 | 4 | namespace UnityEditor.PostProcessing 5 | { 6 | [CustomPropertyDrawer(typeof(MinAttribute))] 7 | sealed class MinDrawer : PropertyDrawer 8 | { 9 | public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) 10 | { 11 | MinAttribute attribute = (MinAttribute)base.attribute; 12 | 13 | if (property.propertyType == SerializedPropertyType.Integer) 14 | { 15 | int v = EditorGUI.IntField(position, label, property.intValue); 16 | property.intValue = (int)Mathf.Max(v, attribute.min); 17 | } 18 | else if (property.propertyType == SerializedPropertyType.Float) 19 | { 20 | float v = EditorGUI.FloatField(position, label, property.floatValue); 21 | property.floatValue = Mathf.Max(v, attribute.min); 22 | } 23 | else 24 | { 25 | EditorGUI.LabelField(position, label.text, "Use Min with float or int."); 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/PropertyDrawers/MinDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8995f52f410f0fb4cb1bdaa71a16e04e 3 | timeCreated: 1467364278 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/PropertyDrawers/TrackballGroupDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a668d493c5ed56d448b53c19b2c3dfd2 3 | timeCreated: 1460563239 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Utils.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b52c69ccefdae7545bfb4d0bf9b7df71 3 | folderAsset: yes 4 | timeCreated: 1467189428 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Utils/CurveEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: afb349ef0bffd144db2bdd25630f648e 3 | timeCreated: 1472650750 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Utils/EditorGUIHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7226e17fa48c86148a3d15584e21b4cb 3 | timeCreated: 1460477750 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Utils/EditorResources.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace UnityEditor.PostProcessing 4 | { 5 | using UnityObject = Object; 6 | 7 | static class EditorResources 8 | { 9 | static string m_EditorResourcesPath = string.Empty; 10 | 11 | internal static string editorResourcesPath 12 | { 13 | get 14 | { 15 | if (string.IsNullOrEmpty(m_EditorResourcesPath)) 16 | { 17 | string path; 18 | 19 | if (SearchForEditorResourcesPath(out path)) 20 | m_EditorResourcesPath = path; 21 | else 22 | Debug.LogError("Unable to locate editor resources. Make sure the PostProcessing package has been installed correctly."); 23 | } 24 | 25 | return m_EditorResourcesPath; 26 | } 27 | } 28 | 29 | internal static T Load(string name) 30 | where T : UnityObject 31 | { 32 | return AssetDatabase.LoadAssetAtPath(editorResourcesPath + name); 33 | } 34 | 35 | static bool SearchForEditorResourcesPath(out string path) 36 | { 37 | path = string.Empty; 38 | 39 | string searchStr = "/PostProcessing/Editor Resources/"; 40 | string str = null; 41 | 42 | foreach (var assetPath in AssetDatabase.GetAllAssetPaths()) 43 | { 44 | if (assetPath.Contains(searchStr)) 45 | { 46 | str = assetPath; 47 | break; 48 | } 49 | } 50 | 51 | if (str == null) 52 | return false; 53 | 54 | path = str.Substring(0, str.LastIndexOf(searchStr) + searchStr.Length); 55 | return true; 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Utils/EditorResources.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a66d7b0165140a1439be89b5afc000fb 3 | timeCreated: 1476177015 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Editor/Utils/FxStyles.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f31cf52f05e80c4ea48570d0c3c8f59 3 | timeCreated: 1461744717 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 52380717b4884c04ebc31c46dda84909 3 | folderAsset: yes 4 | timeCreated: 1466585230 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e039bcc30d13c9341aa224f4e89f21b3 3 | folderAsset: yes 4 | timeCreated: 1462199729 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/ACES.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8d56fc3449f426408c23c723b58d7b5 3 | timeCreated: 1460363486 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/AmbientOcclusion.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 447591ee3d9d4204899be5fe25968ea0 3 | timeCreated: 1473323470 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/AmbientOcclusion.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e881ae5627d1cc84395303acfbca6fb2 3 | timeCreated: 1462280790 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/Blit.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/Post FX/Blit" 2 | { 3 | Properties 4 | { 5 | _MainTex("Main Texture", 2D) = "white" {} 6 | } 7 | 8 | CGINCLUDE 9 | 10 | #include "UnityCG.cginc" 11 | #include "Common.cginc" 12 | 13 | struct Varyings 14 | { 15 | float2 uv : TEXCOORD0; 16 | float4 vertex : SV_POSITION; 17 | }; 18 | 19 | Varyings VertBlit(AttributesDefault v) 20 | { 21 | Varyings o; 22 | o.vertex = mul(UNITY_MATRIX_MVP, v.vertex); 23 | o.uv = UnityStereoScreenSpaceUVAdjust(v.texcoord, _MainTex_ST); 24 | return o; 25 | } 26 | 27 | half4 FragBlit(Varyings i) : SV_Target 28 | { 29 | half4 col = tex2D(_MainTex, i.uv); 30 | return col; 31 | } 32 | 33 | ENDCG 34 | 35 | SubShader 36 | { 37 | Cull Off ZWrite Off ZTest Always 38 | 39 | Pass 40 | { 41 | CGPROGRAM 42 | 43 | #pragma vertex VertBlit 44 | #pragma fragment FragBlit 45 | 46 | ENDCG 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/Blit.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7d89469544dfa214eabdbf37fca76f40 3 | timeCreated: 1474297975 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/Bloom.cginc: -------------------------------------------------------------------------------- 1 | #ifndef __BLOOM__ 2 | #define __BLOOM__ 3 | 4 | #include "Common.cginc" 5 | 6 | // Brightness function 7 | half Brightness(half3 c) 8 | { 9 | return Max3(c); 10 | } 11 | 12 | // 3-tap median filter 13 | half3 Median(half3 a, half3 b, half3 c) 14 | { 15 | return a + b + c - min(min(a, b), c) - max(max(a, b), c); 16 | } 17 | 18 | // Downsample with a 4x4 box filter 19 | half3 DownsampleFilter(sampler2D tex, float2 uv, float2 texelSize) 20 | { 21 | float4 d = texelSize.xyxy * float4(-1.0, -1.0, 1.0, 1.0); 22 | 23 | half3 s; 24 | s = DecodeHDR(tex2D(tex, uv + d.xy)); 25 | s += DecodeHDR(tex2D(tex, uv + d.zy)); 26 | s += DecodeHDR(tex2D(tex, uv + d.xw)); 27 | s += DecodeHDR(tex2D(tex, uv + d.zw)); 28 | 29 | return s * (1.0 / 4.0); 30 | } 31 | 32 | // Downsample with a 4x4 box filter + anti-flicker filter 33 | half3 DownsampleAntiFlickerFilter(sampler2D tex, float2 uv, float2 texelSize) 34 | { 35 | float4 d = texelSize.xyxy * float4(-1.0, -1.0, 1.0, 1.0); 36 | 37 | half3 s1 = DecodeHDR(tex2D(tex, uv + d.xy)); 38 | half3 s2 = DecodeHDR(tex2D(tex, uv + d.zy)); 39 | half3 s3 = DecodeHDR(tex2D(tex, uv + d.xw)); 40 | half3 s4 = DecodeHDR(tex2D(tex, uv + d.zw)); 41 | 42 | // Karis's luma weighted average (using brightness instead of luma) 43 | half s1w = 1.0 / (Brightness(s1) + 1.0); 44 | half s2w = 1.0 / (Brightness(s2) + 1.0); 45 | half s3w = 1.0 / (Brightness(s3) + 1.0); 46 | half s4w = 1.0 / (Brightness(s4) + 1.0); 47 | half one_div_wsum = 1.0 / (s1w + s2w + s3w + s4w); 48 | 49 | return (s1 * s1w + s2 * s2w + s3 * s3w + s4 * s4w) * one_div_wsum; 50 | } 51 | 52 | half3 UpsampleFilter(sampler2D tex, float2 uv, float2 texelSize, float sampleScale) 53 | { 54 | #if MOBILE_OR_CONSOLE 55 | // 4-tap bilinear upsampler 56 | float4 d = texelSize.xyxy * float4(-1.0, -1.0, 1.0, 1.0) * (sampleScale * 0.5); 57 | 58 | half3 s; 59 | s = DecodeHDR(tex2D(tex, uv + d.xy)); 60 | s += DecodeHDR(tex2D(tex, uv + d.zy)); 61 | s += DecodeHDR(tex2D(tex, uv + d.xw)); 62 | s += DecodeHDR(tex2D(tex, uv + d.zw)); 63 | 64 | return s * (1.0 / 4.0); 65 | #else 66 | // 9-tap bilinear upsampler (tent filter) 67 | float4 d = texelSize.xyxy * float4(1.0, 1.0, -1.0, 0.0) * sampleScale; 68 | 69 | half3 s; 70 | s = DecodeHDR(tex2D(tex, uv - d.xy)); 71 | s += DecodeHDR(tex2D(tex, uv - d.wy)) * 2.0; 72 | s += DecodeHDR(tex2D(tex, uv - d.zy)); 73 | 74 | s += DecodeHDR(tex2D(tex, uv + d.zw)) * 2.0; 75 | s += DecodeHDR(tex2D(tex, uv)) * 4.0; 76 | s += DecodeHDR(tex2D(tex, uv + d.xw)) * 2.0; 77 | 78 | s += DecodeHDR(tex2D(tex, uv + d.zy)); 79 | s += DecodeHDR(tex2D(tex, uv + d.wy)) * 2.0; 80 | s += DecodeHDR(tex2D(tex, uv + d.xy)); 81 | 82 | return s * (1.0 / 16.0); 83 | #endif 84 | } 85 | 86 | #endif // __BLOOM__ 87 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/Bloom.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7d1f4dd94c8e6e940b0730076ea7d6d9 3 | timeCreated: 1462980395 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/Bloom.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4ceb73bc148699b469361531d6062548 3 | timeCreated: 1462953634 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/BuiltinDebugViews.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 72127ba7dd8c6b04bb3f29c7ee669813 3 | timeCreated: 1468224802 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/ColorGrading.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 26a62c2e30be83547bdfa9fe837165e3 3 | timeCreated: 1460363486 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/Common.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eb88496804341c648b32a75843d92ccb 3 | timeCreated: 1465205118 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/DepthOfField.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ddc2c19b8a216d748a357ffe32ba4dc1 3 | timeCreated: 1472211508 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/DepthOfField.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/Post FX/Depth Of Field" 2 | { 3 | Properties 4 | { 5 | _MainTex ("", 2D) = "black" 6 | } 7 | 8 | CGINCLUDE 9 | #pragma exclude_renderers d3d11_9x 10 | #pragma target 3.0 11 | ENDCG 12 | 13 | SubShader 14 | { 15 | Cull Off ZWrite Off ZTest Always 16 | 17 | // (0) Downsampling, prefiltering & CoC 18 | Pass 19 | { 20 | CGPROGRAM 21 | #pragma multi_compile __ UNITY_COLORSPACE_GAMMA 22 | #pragma vertex VertDOF 23 | #pragma fragment FragPrefilter 24 | #include "DepthOfField.cginc" 25 | ENDCG 26 | } 27 | 28 | // (1-4) Bokeh filter with disk-shaped kernels 29 | Pass 30 | { 31 | CGPROGRAM 32 | #pragma vertex VertDOF 33 | #pragma fragment FragBlur 34 | #define KERNEL_SMALL 35 | #include "DepthOfField.cginc" 36 | ENDCG 37 | } 38 | 39 | Pass 40 | { 41 | CGPROGRAM 42 | #pragma vertex VertDOF 43 | #pragma fragment FragBlur 44 | #define KERNEL_MEDIUM 45 | #include "DepthOfField.cginc" 46 | ENDCG 47 | } 48 | 49 | Pass 50 | { 51 | CGPROGRAM 52 | #pragma vertex VertDOF 53 | #pragma fragment FragBlur 54 | #define KERNEL_LARGE 55 | #include "DepthOfField.cginc" 56 | ENDCG 57 | } 58 | 59 | Pass 60 | { 61 | CGPROGRAM 62 | #pragma vertex VertDOF 63 | #pragma fragment FragBlur 64 | #define KERNEL_VERYLARGE 65 | #include "DepthOfField.cginc" 66 | ENDCG 67 | } 68 | 69 | // (5) CoC antialiasing 70 | Pass 71 | { 72 | CGPROGRAM 73 | #pragma vertex VertDOF 74 | #pragma fragment FragAntialiasCoC 75 | #include "DepthOfField.cginc" 76 | ENDCG 77 | } 78 | 79 | // (6) CoC history clearing 80 | Pass 81 | { 82 | CGPROGRAM 83 | #pragma vertex VertDOF 84 | #pragma fragment FragClearCoCHistory 85 | #include "DepthOfField.cginc" 86 | ENDCG 87 | } 88 | 89 | // (7) Postfilter blur 90 | Pass 91 | { 92 | CGPROGRAM 93 | #pragma vertex VertDOF 94 | #pragma fragment FragPostBlur 95 | #include "DepthOfField.cginc" 96 | ENDCG 97 | } 98 | } 99 | 100 | FallBack Off 101 | } 102 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/DepthOfField.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ac8ed710934a3564686a096bb351caee 3 | timeCreated: 1465484939 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/DiskKernels.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: faeb738b5a2c3ff43bd104dd5b1a275c 3 | timeCreated: 1476954194 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/EyeAdaptation.cginc: -------------------------------------------------------------------------------- 1 | #ifndef __EYE_ADAPTATION__ 2 | #define __EYE_ADAPTATION__ 3 | 4 | // Optimal values for PS4/GCN 5 | // Using a group size of 32x32 seems to be a bit faster on Kepler/Maxwell 6 | // Don't forget to update 'EyeAdaptationController.cs' if you change these values ! 7 | #define HISTOGRAM_BINS 64 8 | #define HISTOGRAM_TEXELS HISTOGRAM_BINS / 4 9 | #define HISTOGRAM_THREAD_X 16 10 | #define HISTOGRAM_THREAD_Y 16 11 | 12 | float GetHistogramBinFromLuminance(float value, float2 scaleOffset) 13 | { 14 | return saturate(log2(value) * scaleOffset.x + scaleOffset.y); 15 | } 16 | 17 | float GetLuminanceFromHistogramBin(float bin, float2 scaleOffset) 18 | { 19 | return exp2((bin - scaleOffset.y) / scaleOffset.x); 20 | } 21 | 22 | #endif // __EYE_ADAPTATION__ 23 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/EyeAdaptation.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d2f406cad28afda489b94594fb3ce0af 3 | timeCreated: 1465898178 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/EyeAdaptation.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 81899cddfbc72494497a6db0ae045f2c 3 | timeCreated: 1465903628 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/EyeHistogram.compute: -------------------------------------------------------------------------------- 1 | // Put the following line to 0 or comment it to disable vignette weighting 2 | #define USE_VIGNETTE_WEIGHTING 1 3 | 4 | #include "Common.cginc" 5 | #include "EyeAdaptation.cginc" 6 | 7 | RWStructuredBuffer _Histogram; 8 | Texture2D _Source; 9 | 10 | CBUFFER_START(Params) 11 | float4 _ScaleOffsetRes; // x: scale, y: offset, z: width, w: height 12 | CBUFFER_END 13 | 14 | groupshared uint gs_histogram[HISTOGRAM_BINS]; 15 | 16 | #pragma kernel KEyeHistogram 17 | [numthreads(HISTOGRAM_THREAD_X,HISTOGRAM_THREAD_Y,1)] 18 | void KEyeHistogram(uint2 dispatchThreadId : SV_DispatchThreadID, uint2 groupThreadId : SV_GroupThreadID) 19 | { 20 | // Pretty straightforward implementation of histogram gathering using atomic ops. 21 | // I tried a few methods (no atomic ops / heavy LDS leveraging) but this one turned out to be 22 | // the fastest on desktop (Nvidia - Kepler/Maxwell) and PS4. Still need to try it on GCN/desktop 23 | // but considering it runs very fast on PS4 we can expect it to run well (?). 24 | 25 | const uint localThreadId = groupThreadId.y * HISTOGRAM_THREAD_X + groupThreadId.x; 26 | 27 | // Clears the shared memory 28 | if (localThreadId < HISTOGRAM_BINS) 29 | gs_histogram[localThreadId] = 0u; 30 | 31 | GroupMemoryBarrierWithGroupSync(); 32 | 33 | // Gather local group histogram 34 | if (dispatchThreadId.x < (uint)_ScaleOffsetRes.z && dispatchThreadId.y < (uint)_ScaleOffsetRes.w) 35 | { 36 | #if USE_VIGNETTE_WEIGHTING 37 | // Vignette weighting to put more focus on what's in the center of the screen 38 | float2 uv01 = float2(dispatchThreadId) / float2(_ScaleOffsetRes.z, _ScaleOffsetRes.w); 39 | float2 d = abs(uv01 - (0.5).xx); 40 | float vfactor = Pow2(saturate(1.0 - dot(d, d))); 41 | uint weight = (uint)(64.0 * vfactor); 42 | #else 43 | uint weight = 1u; 44 | #endif 45 | 46 | float3 color = _Source[dispatchThreadId].xyz; 47 | float luminance = Max3(color); // Looks more natural than using a Rec.709 luminance for some reason 48 | float logLuminance = GetHistogramBinFromLuminance(luminance, _ScaleOffsetRes.xy); 49 | uint idx = (uint)(logLuminance * (HISTOGRAM_BINS - 1u)); 50 | InterlockedAdd(gs_histogram[idx], weight); 51 | } 52 | 53 | GroupMemoryBarrierWithGroupSync(); 54 | 55 | // Merge everything 56 | if (localThreadId < HISTOGRAM_BINS) 57 | InterlockedAdd(_Histogram[localThreadId], gs_histogram[localThreadId]); 58 | } 59 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/EyeHistogram.compute.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e213272ad8ff213409a6e13b5c26b4e4 3 | timeCreated: 1464341416 4 | licenseType: Pro 5 | ComputeShaderImporter: 6 | currentAPIMask: 4 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/FXAA.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/Post FX/FXAA" 2 | { 3 | Properties 4 | { 5 | _MainTex ("Texture", 2D) = "white" {} 6 | } 7 | 8 | CGINCLUDE 9 | 10 | #include "UnityCG.cginc" 11 | #include "Common.cginc" 12 | 13 | #if defined(SHADER_API_PS3) 14 | #define FXAA_PS3 1 15 | 16 | // Shaves off 2 cycles from the shader 17 | #define FXAA_EARLY_EXIT 0 18 | #elif defined(SHADER_API_XBOX360) 19 | #define FXAA_360 1 20 | 21 | // Shaves off 10ms from the shader's execution time 22 | #define FXAA_EARLY_EXIT 1 23 | #else 24 | #define FXAA_PC 1 25 | #endif 26 | 27 | #define FXAA_HLSL_3 1 28 | #define FXAA_QUALITY__PRESET 39 29 | 30 | #define FXAA_GREEN_AS_LUMA 1 31 | 32 | #pragma target 3.0 33 | #include "FXAA3.cginc" 34 | 35 | float3 _QualitySettings; 36 | float4 _ConsoleSettings; 37 | 38 | fixed4 Frag(VaryingsDefault i) : SV_Target 39 | { 40 | const float4 consoleUV = i.uv.xyxy + 0.5 * float4(-_MainTex_TexelSize.xy, _MainTex_TexelSize.xy); 41 | const float4 consoleSubpixelFrame = _ConsoleSettings.x * float4(-1.0, -1.0, 1.0, 1.0) * 42 | _MainTex_TexelSize.xyxy; 43 | 44 | const float4 consoleSubpixelFramePS3 = float4(-2.0, -2.0, 2.0, 2.0) * _MainTex_TexelSize.xyxy; 45 | const float4 consoleSubpixelFrameXBOX = float4(8.0, 8.0, -4.0, -4.0) * _MainTex_TexelSize.xyxy; 46 | 47 | #if defined(SHADER_API_XBOX360) 48 | const float4 consoleConstants = float4(1.0, -1.0, 0.25, -0.25); 49 | #else 50 | const float4 consoleConstants = float4(0.0, 0.0, 0.0, 0.0); 51 | #endif 52 | 53 | return FxaaPixelShader(UnityStereoScreenSpaceUVAdjust(i.uv, _MainTex_ST), UnityStereoScreenSpaceUVAdjust(consoleUV, _MainTex_ST), _MainTex, _MainTex, _MainTex, _MainTex_TexelSize.xy, 54 | consoleSubpixelFrame, consoleSubpixelFramePS3, consoleSubpixelFrameXBOX, 55 | _QualitySettings.x, _QualitySettings.y, _QualitySettings.z, _ConsoleSettings.y, _ConsoleSettings.z, 56 | _ConsoleSettings.w, consoleConstants); 57 | } 58 | 59 | ENDCG 60 | 61 | SubShader 62 | { 63 | Cull Off ZWrite Off ZTest Always 64 | 65 | Pass 66 | { 67 | CGPROGRAM 68 | 69 | #pragma vertex VertDefault 70 | #pragma fragment Frag 71 | 72 | ENDCG 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/FXAA.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 291f0d5b6045f4646847c59b4ce13ac5 3 | timeCreated: 1462350540 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/FXAA3.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 613b4036a9f55c34fb054bde02455e46 3 | timeCreated: 1462350552 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/GrainGen.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 11852d1b1b034654bb03e7c8fda28fbf 3 | timeCreated: 1476347976 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/LutGen.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d248d4d1588851f43a9fa18a4e6f0209 3 | timeCreated: 1460361871 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/MotionBlur.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c83956915580e42489479d2a109470ab 3 | timeCreated: 1470404606 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/MotionBlur.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ab8493603d8f8e408750b81666a95f1 3 | timeCreated: 1468327385 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/ScreenSpaceRaytrace.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a92d6fdbe2c35f94190497c18b88f9af 3 | timeCreated: 1464350148 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/ScreenSpaceReflection.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 607a5643efb168f429e438f7d6ad270a 3 | timeCreated: 1464350149 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/TAA.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 241b7a6a033e9dc4da9d2595cef7f477 3 | timeCreated: 1472807158 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/TAA.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/Post FX/Temporal Anti-aliasing" 2 | { 3 | Properties 4 | { 5 | _MainTex("", 2D) = "black" 6 | } 7 | 8 | SubShader 9 | { 10 | Cull Off ZWrite Off ZTest Always 11 | 12 | // Perspective 13 | Pass 14 | { 15 | CGPROGRAM 16 | #pragma target 5.0 17 | #pragma vertex VertSolver 18 | #pragma fragment FragSolver 19 | #include "TAA.cginc" 20 | ENDCG 21 | } 22 | 23 | // Ortho 24 | Pass 25 | { 26 | CGPROGRAM 27 | #pragma target 5.0 28 | #pragma vertex VertSolver 29 | #pragma fragment FragSolver 30 | #define TAA_DILATE_MOTION_VECTOR_SAMPLE 0 31 | #include "TAA.cginc" 32 | ENDCG 33 | } 34 | 35 | // Alpha Clear 36 | Pass 37 | { 38 | CGPROGRAM 39 | #pragma target 5.0 40 | #pragma vertex VertDefault 41 | #pragma fragment FragAlphaClear 42 | #include "TAA.cginc" 43 | ENDCG 44 | } 45 | } 46 | 47 | SubShader 48 | { 49 | Cull Off ZWrite Off ZTest Always 50 | 51 | // Perspective 52 | Pass 53 | { 54 | CGPROGRAM 55 | #pragma target 3.0 56 | #pragma vertex VertSolver 57 | #pragma fragment FragSolver 58 | #include "TAA.cginc" 59 | ENDCG 60 | } 61 | 62 | // Ortho 63 | Pass 64 | { 65 | CGPROGRAM 66 | #pragma target 3.0 67 | #pragma vertex VertSolver 68 | #pragma fragment FragSolver 69 | #define TAA_DILATE_MOTION_VECTOR_SAMPLE 0 70 | #include "TAA.cginc" 71 | ENDCG 72 | } 73 | 74 | // Alpha Clear 75 | Pass 76 | { 77 | CGPROGRAM 78 | #pragma target 3.0 79 | #pragma vertex VertDefault 80 | #pragma fragment FragAlphaClear 81 | #include "TAA.cginc" 82 | ENDCG 83 | } 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/TAA.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ec6c5af987867f54aa08fba81ee279bd 3 | timeCreated: 1472807140 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/Tonemapping.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a999e641c982a14d9c68dfd53a98afc 3 | timeCreated: 1469104178 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Resources/Shaders/Uber.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8ce0a6f4c8cae334d8a5617f302b6769 3 | timeCreated: 1459956426 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b79d54138d9d1a498085393504c7d02 3 | folderAsset: yes 4 | timeCreated: 1466585248 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Attributes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 68327f748e8ffd94889a47317b7d327b 3 | folderAsset: yes 4 | timeCreated: 1460383911 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Attributes/GetSetAttribute.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEngine.PostProcessing 2 | { 3 | public sealed class GetSetAttribute : PropertyAttribute 4 | { 5 | public readonly string name; 6 | public bool dirty; 7 | 8 | public GetSetAttribute(string name) 9 | { 10 | this.name = name; 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Attributes/GetSetAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f17e8602928ea02419dae051ec79c5a2 3 | timeCreated: 1460383955 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Attributes/MinAttribute.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEngine.PostProcessing 2 | { 3 | public sealed class MinAttribute : PropertyAttribute 4 | { 5 | public readonly float min; 6 | 7 | public MinAttribute(float min) 8 | { 9 | this.min = min; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Attributes/MinAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9af2f505033843c46a362e251937acb1 3 | timeCreated: 1462281908 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Attributes/TrackballAttribute.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEngine.PostProcessing 2 | { 3 | public sealed class TrackballAttribute : PropertyAttribute 4 | { 5 | public readonly string method; 6 | 7 | public TrackballAttribute(string method) 8 | { 9 | this.method = method; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Attributes/TrackballAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 65e30143f4e114f45b84a1d9cba8f469 3 | timeCreated: 1463400829 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Attributes/TrackballGroupAttribute.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEngine.PostProcessing 2 | { 3 | public sealed class TrackballGroupAttribute : PropertyAttribute 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Attributes/TrackballGroupAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa62a51ebe4821e4b89a64d267b30a27 3 | timeCreated: 1460563239 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c1f765b2bd3d2ad49b2677f6478a9ba3 3 | folderAsset: yes 4 | timeCreated: 1466585494 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/AmbientOcclusionComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c6e33ce72d3776b408121f946283403d 3 | timeCreated: 1467275948 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/BloomComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: acd4204a794b09048b928b1e987500c5 3 | timeCreated: 1473089954 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/BuiltinDebugViewsComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd834b6165e82e64f9da2d4ed9f4e236 3 | timeCreated: 1473163679 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/ChromaticAberrationComponent.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEngine.PostProcessing 2 | { 3 | public sealed class ChromaticAberrationComponent : PostProcessingComponentRenderTexture 4 | { 5 | static class Uniforms 6 | { 7 | internal static readonly int _ChromaticAberration_Amount = Shader.PropertyToID("_ChromaticAberration_Amount"); 8 | internal static readonly int _ChromaticAberration_Spectrum = Shader.PropertyToID("_ChromaticAberration_Spectrum"); 9 | } 10 | 11 | Texture2D m_SpectrumLut; 12 | 13 | public override bool active 14 | { 15 | get 16 | { 17 | return model.enabled 18 | && model.settings.intensity > 0f 19 | && !context.interrupted; 20 | } 21 | } 22 | 23 | public override void OnDisable() 24 | { 25 | GraphicsUtils.Destroy(m_SpectrumLut); 26 | m_SpectrumLut = null; 27 | } 28 | 29 | public override void Prepare(Material uberMaterial) 30 | { 31 | var settings = model.settings; 32 | var spectralLut = settings.spectralTexture; 33 | 34 | if (spectralLut == null) 35 | { 36 | if (m_SpectrumLut == null) 37 | { 38 | m_SpectrumLut = new Texture2D(3, 1, TextureFormat.RGB24, false) 39 | { 40 | name = "Chromatic Aberration Spectrum Lookup", 41 | filterMode = FilterMode.Bilinear, 42 | wrapMode = TextureWrapMode.Clamp, 43 | anisoLevel = 0, 44 | hideFlags = HideFlags.DontSave 45 | }; 46 | 47 | var pixels = new Color[3]; 48 | pixels[0] = new Color(1f, 0f, 0f); 49 | pixels[1] = new Color(0f, 1f, 0f); 50 | pixels[2] = new Color(0f, 0f, 1f); 51 | m_SpectrumLut.SetPixels(pixels); 52 | m_SpectrumLut.Apply(); 53 | } 54 | 55 | spectralLut = m_SpectrumLut; 56 | } 57 | 58 | uberMaterial.EnableKeyword("CHROMATIC_ABERRATION"); 59 | uberMaterial.SetFloat(Uniforms._ChromaticAberration_Amount, settings.intensity * 0.03f); 60 | uberMaterial.SetTexture(Uniforms._ChromaticAberration_Spectrum, spectralLut); 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/ChromaticAberrationComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b9c65642df654a84d84ded1b07448a4c 3 | timeCreated: 1473085971 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/ColorGradingComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9baf73db7c9fc1b478f4a0a1000c86f5 3 | timeCreated: 1473086520 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/DepthOfFieldComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d862c8701bf34c342b95cf9058d0b70c 3 | timeCreated: 1468410915 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/EyeAdaptationComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c227d71a4040d304c943c26e0914bdeb 3 | timeCreated: 1473088756 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/FxaaComponent.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEngine.PostProcessing 2 | { 3 | public sealed class FxaaComponent : PostProcessingComponentRenderTexture 4 | { 5 | static class Uniforms 6 | { 7 | internal static readonly int _QualitySettings = Shader.PropertyToID("_QualitySettings"); 8 | internal static readonly int _ConsoleSettings = Shader.PropertyToID("_ConsoleSettings"); 9 | } 10 | 11 | public override bool active 12 | { 13 | get 14 | { 15 | return model.enabled 16 | && model.settings.method == AntialiasingModel.Method.Fxaa 17 | && !context.interrupted; 18 | } 19 | } 20 | 21 | public void Render(RenderTexture source, RenderTexture destination) 22 | { 23 | var settings = model.settings.fxaaSettings; 24 | var material = context.materialFactory.Get("Hidden/Post FX/FXAA"); 25 | var qualitySettings = AntialiasingModel.FxaaQualitySettings.presets[(int)settings.preset]; 26 | var consoleSettings = AntialiasingModel.FxaaConsoleSettings.presets[(int)settings.preset]; 27 | 28 | material.SetVector(Uniforms._QualitySettings, 29 | new Vector3( 30 | qualitySettings.subpixelAliasingRemovalAmount, 31 | qualitySettings.edgeDetectionThreshold, 32 | qualitySettings.minimumRequiredLuminance 33 | ) 34 | ); 35 | 36 | material.SetVector(Uniforms._ConsoleSettings, 37 | new Vector4( 38 | consoleSettings.subpixelSpreadAmount, 39 | consoleSettings.edgeSharpnessAmount, 40 | consoleSettings.edgeDetectionThreshold, 41 | consoleSettings.minimumRequiredLuminance 42 | ) 43 | ); 44 | 45 | Graphics.Blit(source, destination, material, 0); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/FxaaComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d4e1109c5030ca04e9a28243a35155ff 3 | timeCreated: 1473088423 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/GrainComponent.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEngine.PostProcessing 2 | { 3 | public sealed class GrainComponent : PostProcessingComponentRenderTexture 4 | { 5 | static class Uniforms 6 | { 7 | internal static readonly int _Grain_Params1 = Shader.PropertyToID("_Grain_Params1"); 8 | internal static readonly int _Grain_Params2 = Shader.PropertyToID("_Grain_Params2"); 9 | internal static readonly int _GrainTex = Shader.PropertyToID("_GrainTex"); 10 | internal static readonly int _Phase = Shader.PropertyToID("_Phase"); 11 | } 12 | 13 | public override bool active 14 | { 15 | get 16 | { 17 | return model.enabled 18 | && model.settings.intensity > 0f 19 | && SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.ARGBHalf) 20 | && !context.interrupted; 21 | } 22 | } 23 | 24 | RenderTexture m_GrainLookupRT; 25 | 26 | public override void OnDisable() 27 | { 28 | GraphicsUtils.Destroy(m_GrainLookupRT); 29 | m_GrainLookupRT = null; 30 | } 31 | 32 | public override void Prepare(Material uberMaterial) 33 | { 34 | var settings = model.settings; 35 | 36 | uberMaterial.EnableKeyword("GRAIN"); 37 | 38 | float rndOffsetX; 39 | float rndOffsetY; 40 | 41 | #if POSTFX_DEBUG_STATIC_GRAIN 42 | // Chosen by a fair dice roll 43 | float time = 4f; 44 | rndOffsetX = 0f; 45 | rndOffsetY = 0f; 46 | #else 47 | float time = Time.realtimeSinceStartup; 48 | rndOffsetX = Random.value; 49 | rndOffsetY = Random.value; 50 | #endif 51 | 52 | // Generate the grain lut for the current frame first 53 | if (m_GrainLookupRT == null || !m_GrainLookupRT.IsCreated()) 54 | { 55 | GraphicsUtils.Destroy(m_GrainLookupRT); 56 | 57 | m_GrainLookupRT = new RenderTexture(192, 192, 0, RenderTextureFormat.ARGBHalf) 58 | { 59 | filterMode = FilterMode.Bilinear, 60 | wrapMode = TextureWrapMode.Repeat, 61 | anisoLevel = 0, 62 | name = "Grain Lookup Texture" 63 | }; 64 | 65 | m_GrainLookupRT.Create(); 66 | } 67 | 68 | var grainMaterial = context.materialFactory.Get("Hidden/Post FX/Grain Generator"); 69 | grainMaterial.SetFloat(Uniforms._Phase, time / 20f); 70 | 71 | Graphics.Blit((Texture)null, m_GrainLookupRT, grainMaterial, settings.colored ? 1 : 0); 72 | 73 | // Send everything to the uber shader 74 | uberMaterial.SetTexture(Uniforms._GrainTex, m_GrainLookupRT); 75 | uberMaterial.SetVector(Uniforms._Grain_Params1, new Vector2(settings.luminanceContribution, settings.intensity * 20f)); 76 | uberMaterial.SetVector(Uniforms._Grain_Params2, new Vector4((float)context.width / (float)m_GrainLookupRT.width / settings.size, (float)context.height / (float)m_GrainLookupRT.height / settings.size, rndOffsetX, rndOffsetY)); 77 | } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/GrainComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ff793ec42153c34799eed059982bac3 3 | timeCreated: 1473084716 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/MotionBlurComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9a9ae59cbb7c53e40851df7f32805098 3 | timeCreated: 1468325905 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/ScreenSpaceReflectionComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd75f795d6a798f44a7801082f6a703f 3 | timeCreated: 1467626205 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/TaaComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f28703283e17be54180fd04a7c70e1d5 3 | timeCreated: 1472806965 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/UserLutComponent.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEngine.PostProcessing 2 | { 3 | public sealed class UserLutComponent : PostProcessingComponentRenderTexture 4 | { 5 | static class Uniforms 6 | { 7 | internal static readonly int _UserLut = Shader.PropertyToID("_UserLut"); 8 | internal static readonly int _UserLut_Params = Shader.PropertyToID("_UserLut_Params"); 9 | } 10 | 11 | public override bool active 12 | { 13 | get 14 | { 15 | var settings = model.settings; 16 | return model.enabled 17 | && settings.lut != null 18 | && settings.contribution > 0f 19 | && settings.lut.height == (int)Mathf.Sqrt(settings.lut.width) 20 | && !context.interrupted; 21 | } 22 | } 23 | 24 | public override void Prepare(Material uberMaterial) 25 | { 26 | var settings = model.settings; 27 | uberMaterial.EnableKeyword("USER_LUT"); 28 | uberMaterial.SetTexture(Uniforms._UserLut, settings.lut); 29 | uberMaterial.SetVector(Uniforms._UserLut_Params, new Vector4(1f / settings.lut.width, 1f / settings.lut.height, settings.lut.height - 1f, settings.contribution)); 30 | } 31 | 32 | public void OnGUI() 33 | { 34 | var settings = model.settings; 35 | var rect = new Rect(context.viewport.x * Screen.width + 8f, 8f, settings.lut.width, settings.lut.height); 36 | GUI.DrawTexture(rect, settings.lut); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/UserLutComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 63cb071fb8442a14f85c02e6ddba9b72 3 | timeCreated: 1473086193 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/VignetteComponent.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEngine.PostProcessing 2 | { 3 | public sealed class VignetteComponent : PostProcessingComponentRenderTexture 4 | { 5 | static class Uniforms 6 | { 7 | internal static readonly int _Vignette_Color = Shader.PropertyToID("_Vignette_Color"); 8 | internal static readonly int _Vignette_Center = Shader.PropertyToID("_Vignette_Center"); 9 | internal static readonly int _Vignette_Settings = Shader.PropertyToID("_Vignette_Settings"); 10 | internal static readonly int _Vignette_Mask = Shader.PropertyToID("_Vignette_Mask"); 11 | internal static readonly int _Vignette_Opacity = Shader.PropertyToID("_Vignette_Opacity"); 12 | } 13 | 14 | public override bool active 15 | { 16 | get 17 | { 18 | return model.enabled 19 | && !context.interrupted; 20 | } 21 | } 22 | 23 | public override void Prepare(Material uberMaterial) 24 | { 25 | var settings = model.settings; 26 | uberMaterial.SetColor(Uniforms._Vignette_Color, settings.color); 27 | 28 | if (settings.mode == VignetteModel.Mode.Classic) 29 | { 30 | uberMaterial.SetVector(Uniforms._Vignette_Center, settings.center); 31 | uberMaterial.EnableKeyword("VIGNETTE_CLASSIC"); 32 | float roundness = (1f - settings.roundness) * 6f + settings.roundness; 33 | uberMaterial.SetVector(Uniforms._Vignette_Settings, new Vector3(settings.intensity * 3f, settings.smoothness * 5f, roundness)); 34 | } 35 | else if (settings.mode == VignetteModel.Mode.Round) 36 | { 37 | uberMaterial.SetVector(Uniforms._Vignette_Center, settings.center); 38 | uberMaterial.EnableKeyword("VIGNETTE_ROUND"); 39 | uberMaterial.SetVector(Uniforms._Vignette_Settings, new Vector3(settings.intensity * 3f, settings.smoothness * 5f, 1f)); 40 | } 41 | else if (settings.mode == VignetteModel.Mode.Masked) 42 | { 43 | if (settings.mask != null && settings.opacity > 0f) 44 | { 45 | uberMaterial.EnableKeyword("VIGNETTE_MASKED"); 46 | uberMaterial.SetTexture(Uniforms._Vignette_Mask, settings.mask); 47 | uberMaterial.SetFloat(Uniforms._Vignette_Opacity, settings.opacity); 48 | } 49 | } 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Components/VignetteComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 39074aa97f4be23438147346f081c7f3 3 | timeCreated: 1473083872 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8d5a699332eb8a9499077fa4bcd4e0a0 3 | folderAsset: yes 4 | timeCreated: 1459757852 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/AmbientOcclusionModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.PostProcessing 4 | { 5 | [Serializable] 6 | public class AmbientOcclusionModel : PostProcessingModel 7 | { 8 | public enum SampleCount 9 | { 10 | Lowest = 3, 11 | Low = 6, 12 | Medium = 10, 13 | High = 16 14 | } 15 | 16 | [Serializable] 17 | public struct Settings 18 | { 19 | [Range(0, 4), Tooltip("Degree of darkness produced by the effect.")] 20 | public float intensity; 21 | 22 | [Min(1e-4f), Tooltip("Radius of sample points, which affects extent of darkened areas.")] 23 | public float radius; 24 | 25 | [Tooltip("Number of sample points, which affects quality and performance.")] 26 | public SampleCount sampleCount; 27 | 28 | [Tooltip("Halves the resolution of the effect to increase performance.")] 29 | public bool downsampling; 30 | 31 | [Tooltip("Forces compatibility with Forward rendered objects when working with the Deferred rendering path.")] 32 | public bool forceForwardCompatibility; 33 | 34 | [Tooltip("Enables the ambient-only mode in that the effect only affects ambient lighting. This mode is only available with the Deferred rendering path and HDR rendering.")] 35 | public bool ambientOnly; 36 | 37 | [Tooltip("Toggles the use of a higher precision depth texture with the forward rendering path (may impact performances). Has no effect with the deferred rendering path.")] 38 | public bool highPrecision; 39 | 40 | public static Settings defaultSettings 41 | { 42 | get 43 | { 44 | return new Settings 45 | { 46 | intensity = 1f, 47 | radius = 0.3f, 48 | sampleCount = SampleCount.Medium, 49 | downsampling = true, 50 | forceForwardCompatibility = false, 51 | ambientOnly = false, 52 | highPrecision = false 53 | }; 54 | } 55 | } 56 | } 57 | 58 | [SerializeField] 59 | Settings m_Settings = Settings.defaultSettings; 60 | public Settings settings 61 | { 62 | get { return m_Settings; } 63 | set { m_Settings = value; } 64 | } 65 | 66 | public override void Reset() 67 | { 68 | m_Settings = Settings.defaultSettings; 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/AmbientOcclusionModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 564228afc5cbd5f49beb80038b4b7af2 3 | timeCreated: 1462280796 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/AntialiasingModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cb9a239ec5f20ca4cb5d0391441588de 3 | timeCreated: 1467126855 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/BloomModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e215a6ec29d100f489c186f289526f06 3 | timeCreated: 1467126855 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/BuiltinDebugViewsModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 33d6d1a4b7b3dec40819019a25605191 3 | timeCreated: 1467970684 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/ChromaticAberrationModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.PostProcessing 4 | { 5 | [Serializable] 6 | public class ChromaticAberrationModel : PostProcessingModel 7 | { 8 | [Serializable] 9 | public struct Settings 10 | { 11 | [Tooltip("Shift the hue of chromatic aberrations.")] 12 | public Texture2D spectralTexture; 13 | 14 | [Range(0f, 1f), Tooltip("Amount of tangential distortion.")] 15 | public float intensity; 16 | 17 | public static Settings defaultSettings 18 | { 19 | get 20 | { 21 | return new Settings 22 | { 23 | spectralTexture = null, 24 | intensity = 0.1f 25 | }; 26 | } 27 | } 28 | } 29 | 30 | [SerializeField] 31 | Settings m_Settings = Settings.defaultSettings; 32 | public Settings settings 33 | { 34 | get { return m_Settings; } 35 | set { m_Settings = value; } 36 | } 37 | 38 | public override void Reset() 39 | { 40 | m_Settings = Settings.defaultSettings; 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/ChromaticAberrationModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8da01668697617e43879715e835a2367 3 | timeCreated: 1467126855 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/ColorGradingModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe146bcdc1fb8ae4ab7dd803982d3489 3 | timeCreated: 1467126855 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/DepthOfFieldModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.PostProcessing 4 | { 5 | [Serializable] 6 | public class DepthOfFieldModel : PostProcessingModel 7 | { 8 | public enum KernelSize 9 | { 10 | Small, 11 | Medium, 12 | Large, 13 | VeryLarge 14 | } 15 | 16 | [Serializable] 17 | public struct Settings 18 | { 19 | [Min(0.1f), Tooltip("Distance to the point of focus (only used when none is specified in focusTransform).")] 20 | public float focusDistance; 21 | 22 | [Range(0.05f, 32f), Tooltip("Ratio of aperture (known as f-stop or f-number). The smaller the value is, the shallower the depth of field is.")] 23 | public float aperture; 24 | 25 | [Range(1f, 300f), Tooltip("Distance between the lens and the film. The larger the value is, the shallower the depth of field is.")] 26 | public float focalLength; 27 | 28 | [Tooltip("Calculate the focal length automatically from the field-of-view value set on the camera.")] 29 | public bool useCameraFov; 30 | 31 | [Tooltip("Convolution kernel size of the bokeh filter, which determines the maximum radius of bokeh. It also affects the performance (the larger the kernel is, the longer the GPU time is required).")] 32 | public KernelSize kernelSize; 33 | 34 | public static Settings defaultSettings 35 | { 36 | get 37 | { 38 | return new Settings 39 | { 40 | focusDistance = 10f, 41 | aperture = 5.6f, 42 | focalLength = 50f, 43 | useCameraFov = false, 44 | kernelSize = KernelSize.Medium 45 | }; 46 | } 47 | } 48 | } 49 | 50 | [SerializeField] 51 | Settings m_Settings = Settings.defaultSettings; 52 | public Settings settings 53 | { 54 | get { return m_Settings; } 55 | set { m_Settings = value; } 56 | } 57 | 58 | public override void Reset() 59 | { 60 | m_Settings = Settings.defaultSettings; 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/DepthOfFieldModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2626b17c595c71e43811d654eb28d30d 3 | timeCreated: 1467126855 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/EyeAdaptationModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.PostProcessing 4 | { 5 | [Serializable] 6 | public class EyeAdaptationModel : PostProcessingModel 7 | { 8 | public enum EyeAdaptationType 9 | { 10 | Progressive, 11 | Fixed 12 | } 13 | 14 | [Serializable] 15 | public struct Settings 16 | { 17 | [Range(1f, 99f), Tooltip("Filters the dark part of the histogram when computing the average luminance to avoid very dark pixels from contributing to the auto exposure. Unit is in percent.")] 18 | public float lowPercent; 19 | 20 | [Range(1f, 99f), Tooltip("Filters the bright part of the histogram when computing the average luminance to avoid very dark pixels from contributing to the auto exposure. Unit is in percent.")] 21 | public float highPercent; 22 | 23 | [Min(0f), Tooltip("Minimum average luminance to consider for auto exposure.")] 24 | public float minLuminance; 25 | 26 | [Min(0f), Tooltip("Maximum average luminance to consider for auto exposure.")] 27 | public float maxLuminance; 28 | 29 | [Min(0f), Tooltip("Exposure bias. Use this to control the global exposure of the scene.")] 30 | public float exposureCompensation; 31 | 32 | [Tooltip("Use \"Progressive\" if you want the auto exposure to be animated. Use \"Fixed\" otherwise.")] 33 | public EyeAdaptationType adaptationType; 34 | 35 | [Min(0f), Tooltip("Adaptation speed from a dark to a light environment.")] 36 | public float speedUp; 37 | 38 | [Min(0f), Tooltip("Adaptation speed from a light to a dark environment.")] 39 | public float speedDown; 40 | 41 | [Range(-16, -1), Tooltip("Lower bound for the brightness range of the generated histogram (Log2).")] 42 | public int logMin; 43 | 44 | [Range(1, 16), Tooltip("Upper bound for the brightness range of the generated histogram (Log2).")] 45 | public int logMax; 46 | 47 | public static Settings defaultSettings 48 | { 49 | get 50 | { 51 | return new Settings 52 | { 53 | lowPercent = 65f, 54 | highPercent = 95f, 55 | 56 | minLuminance = 0.03f, 57 | maxLuminance = 2f, 58 | exposureCompensation = 0.5f, 59 | 60 | adaptationType = EyeAdaptationType.Progressive, 61 | speedUp = 2f, 62 | speedDown = 1f, 63 | 64 | logMin = -8, 65 | logMax = 4 66 | }; 67 | } 68 | } 69 | } 70 | 71 | [SerializeField] 72 | Settings m_Settings = Settings.defaultSettings; 73 | public Settings settings 74 | { 75 | get { return m_Settings; } 76 | set { m_Settings = value; } 77 | } 78 | 79 | public override void Reset() 80 | { 81 | m_Settings = Settings.defaultSettings; 82 | } 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/EyeAdaptationModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: edf6d216ca4b60942a0c533c14f26d53 3 | timeCreated: 1467126855 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/GrainModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.PostProcessing 4 | { 5 | [Serializable] 6 | public class GrainModel : PostProcessingModel 7 | { 8 | [Serializable] 9 | public struct Settings 10 | { 11 | [Tooltip("Enable the use of colored grain.")] 12 | public bool colored; 13 | 14 | [Range(0f, 1f), Tooltip("Grain strength. Higher means more visible grain.")] 15 | public float intensity; 16 | 17 | [Range(1f, 3f), Tooltip("Grain particle size in \"Filmic\" mode.")] 18 | public float size; 19 | 20 | [Range(0f, 1f), Tooltip("Controls the noisiness response curve based on scene luminance. Lower values mean less noise in dark areas.")] 21 | public float luminanceContribution; 22 | 23 | public static Settings defaultSettings 24 | { 25 | get 26 | { 27 | return new Settings 28 | { 29 | colored = true, 30 | intensity = 0.5f, 31 | size = 1f, 32 | luminanceContribution = 0.8f 33 | }; 34 | } 35 | } 36 | } 37 | 38 | [SerializeField] 39 | Settings m_Settings = Settings.defaultSettings; 40 | public Settings settings 41 | { 42 | get { return m_Settings; } 43 | set { m_Settings = value; } 44 | } 45 | 46 | public override void Reset() 47 | { 48 | m_Settings = Settings.defaultSettings; 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/GrainModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f4fbcdb7f7a3c76489f32ffea74e6bb3 3 | timeCreated: 1467126855 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/MotionBlurModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.PostProcessing 4 | { 5 | [Serializable] 6 | public class MotionBlurModel : PostProcessingModel 7 | { 8 | [Serializable] 9 | public struct Settings 10 | { 11 | [Range(0f, 360f), Tooltip("The angle of rotary shutter. Larger values give longer exposure.")] 12 | public float shutterAngle; 13 | 14 | [Range(4, 32), Tooltip("The amount of sample points, which affects quality and performances.")] 15 | public int sampleCount; 16 | 17 | [Range(0f, 1f), Tooltip("The strength of multiple frame blending. The opacity of preceding frames are determined from this coefficient and time differences.")] 18 | public float frameBlending; 19 | 20 | public static Settings defaultSettings 21 | { 22 | get 23 | { 24 | return new Settings 25 | { 26 | shutterAngle = 270f, 27 | sampleCount = 10, 28 | frameBlending = 0f 29 | }; 30 | } 31 | } 32 | } 33 | 34 | [SerializeField] 35 | Settings m_Settings = Settings.defaultSettings; 36 | public Settings settings 37 | { 38 | get { return m_Settings; } 39 | set { m_Settings = value; } 40 | } 41 | 42 | public override void Reset() 43 | { 44 | m_Settings = Settings.defaultSettings; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/MotionBlurModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb4df227c906dd342bd34767914d292c 3 | timeCreated: 1468325392 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/ScreenSpaceReflectionModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e841012229e57cd408a146561435e90d 3 | timeCreated: 1467126855 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/UserLutModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.PostProcessing 4 | { 5 | [Serializable] 6 | public class UserLutModel : PostProcessingModel 7 | { 8 | [Serializable] 9 | public struct Settings 10 | { 11 | [Tooltip("Custom lookup texture (strip format, e.g. 256x16).")] 12 | public Texture2D lut; 13 | 14 | [Range(0f, 1f), Tooltip("Blending factor.")] 15 | public float contribution; 16 | 17 | public static Settings defaultSettings 18 | { 19 | get 20 | { 21 | return new Settings 22 | { 23 | lut = null, 24 | contribution = 1f 25 | }; 26 | } 27 | } 28 | } 29 | 30 | [SerializeField] 31 | Settings m_Settings = Settings.defaultSettings; 32 | public Settings settings 33 | { 34 | get { return m_Settings; } 35 | set { m_Settings = value; } 36 | } 37 | 38 | public override void Reset() 39 | { 40 | m_Settings = Settings.defaultSettings; 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/UserLutModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3a7afd753a89c4140b80c855e15f69d6 3 | timeCreated: 1467126855 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/VignetteModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.PostProcessing 4 | { 5 | [Serializable] 6 | public class VignetteModel : PostProcessingModel 7 | { 8 | public enum Mode 9 | { 10 | Classic, 11 | Round, 12 | Masked 13 | } 14 | 15 | [Serializable] 16 | public struct Settings 17 | { 18 | [Tooltip("Use the \"Classic\" mode for parametric controls. Use \"Round\" to get a perfectly round vignette no matter what the aspect ratio is. Use the \"Masked\" mode to use your own texture mask.")] 19 | public Mode mode; 20 | 21 | [ColorUsage(false)] 22 | [Tooltip("Vignette color. Use the alpha channel for transparency.")] 23 | public Color color; 24 | 25 | [Tooltip("Sets the vignette center point (screen center is [0.5,0.5]).")] 26 | public Vector2 center; 27 | 28 | [Range(0f, 1f), Tooltip("Amount of vignetting on screen.")] 29 | public float intensity; 30 | 31 | [Range(0.01f, 1f), Tooltip("Smoothness of the vignette borders.")] 32 | public float smoothness; 33 | 34 | [Range(0f, 1f), Tooltip("Lower values will make a square-ish vignette.")] 35 | public float roundness; 36 | 37 | [Tooltip("A black and white mask to use as a vignette.")] 38 | public Texture mask; 39 | 40 | [Range(0f, 1f), Tooltip("Mask opacity.")] 41 | public float opacity; 42 | 43 | public static Settings defaultSettings 44 | { 45 | get 46 | { 47 | return new Settings 48 | { 49 | mode = Mode.Classic, 50 | color = new Color(0f, 0f, 0f, 1f), 51 | center = new Vector2(0.5f, 0.5f), 52 | intensity = 0.45f, 53 | smoothness = 0.2f, 54 | roundness = 1f, 55 | mask = null, 56 | opacity = 1f 57 | }; 58 | } 59 | } 60 | } 61 | 62 | [SerializeField] 63 | Settings m_Settings = Settings.defaultSettings; 64 | public Settings settings 65 | { 66 | get { return m_Settings; } 67 | set { m_Settings = value; } 68 | } 69 | 70 | public override void Reset() 71 | { 72 | m_Settings = Settings.defaultSettings; 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Models/VignetteModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d7aa967ba692363448f1b25d0728b9bd 3 | timeCreated: 1467126855 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/PostProcessingBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ff26db721962cdf4a8edcdfa9a767d2a 3 | timeCreated: 1459757354 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/PostProcessingComponent.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine.Rendering; 2 | 3 | namespace UnityEngine.PostProcessing 4 | { 5 | public abstract class PostProcessingComponentBase 6 | { 7 | public PostProcessingContext context; 8 | 9 | public virtual DepthTextureMode GetCameraFlags() 10 | { 11 | return DepthTextureMode.None; 12 | } 13 | 14 | public abstract bool active { get; } 15 | 16 | public virtual void OnEnable() 17 | {} 18 | 19 | public virtual void OnDisable() 20 | {} 21 | 22 | public abstract PostProcessingModel GetModel(); 23 | } 24 | 25 | public abstract class PostProcessingComponent : PostProcessingComponentBase 26 | where T : PostProcessingModel 27 | { 28 | public T model { get; internal set; } 29 | 30 | public void Init(PostProcessingContext pcontext, T pmodel) 31 | { 32 | context = pcontext; 33 | model = pmodel; 34 | } 35 | 36 | public override PostProcessingModel GetModel() 37 | { 38 | return model; 39 | } 40 | } 41 | 42 | public abstract class PostProcessingComponentCommandBuffer : PostProcessingComponent 43 | where T : PostProcessingModel 44 | { 45 | public abstract CameraEvent GetCameraEvent(); 46 | 47 | public abstract string GetName(); 48 | 49 | public abstract void PopulateCommandBuffer(CommandBuffer cb); 50 | } 51 | 52 | public abstract class PostProcessingComponentRenderTexture : PostProcessingComponent 53 | where T : PostProcessingModel 54 | { 55 | public virtual void Prepare(Material material) 56 | {} 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/PostProcessingComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ef3277e9c14f78546a1ecaab0d293b77 3 | timeCreated: 1473009349 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/PostProcessingContext.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEngine.PostProcessing 2 | { 3 | public class PostProcessingContext 4 | { 5 | public PostProcessingProfile profile; 6 | public Camera camera; 7 | 8 | public MaterialFactory materialFactory; 9 | public RenderTextureFactory renderTextureFactory; 10 | 11 | public bool interrupted { get; private set; } 12 | 13 | public void Interrupt() 14 | { 15 | interrupted = true; 16 | } 17 | 18 | public PostProcessingContext Reset() 19 | { 20 | profile = null; 21 | camera = null; 22 | materialFactory = null; 23 | renderTextureFactory = null; 24 | interrupted = false; 25 | return this; 26 | } 27 | 28 | #region Helpers 29 | public bool isGBufferAvailable 30 | { 31 | get { return camera.actualRenderingPath == RenderingPath.DeferredShading; } 32 | } 33 | 34 | public bool isHdr 35 | { 36 | get { return camera.hdr; } 37 | } 38 | 39 | public int width 40 | { 41 | get { return camera.pixelWidth; } 42 | } 43 | 44 | public int height 45 | { 46 | get { return camera.pixelHeight; } 47 | } 48 | 49 | public Rect viewport 50 | { 51 | get { return camera.rect; } // Normalized coordinates 52 | } 53 | #endregion 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/PostProcessingContext.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 63da4b6536f11834fa026e327087bd7b 3 | timeCreated: 1467630780 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/PostProcessingModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.PostProcessing 4 | { 5 | [Serializable] 6 | public abstract class PostProcessingModel 7 | { 8 | [SerializeField, GetSet("enabled")] 9 | bool m_Enabled; 10 | public bool enabled 11 | { 12 | get { return m_Enabled; } 13 | set 14 | { 15 | m_Enabled = value; 16 | 17 | if (value) 18 | OnValidate(); 19 | } 20 | } 21 | 22 | public abstract void Reset(); 23 | 24 | public virtual void OnValidate() 25 | {} 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/PostProcessingModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 28413153a26e53342baf1a7b2c3711c3 3 | timeCreated: 1466586474 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/PostProcessingProfile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.PostProcessing 4 | { 5 | public class PostProcessingProfile : ScriptableObject 6 | { 7 | #pragma warning disable 0169 // "field x is never used" 8 | 9 | public BuiltinDebugViewsModel debugViews = new BuiltinDebugViewsModel(); 10 | public AntialiasingModel antialiasing = new AntialiasingModel(); 11 | public AmbientOcclusionModel ambientOcclusion = new AmbientOcclusionModel(); 12 | public ScreenSpaceReflectionModel screenSpaceReflection = new ScreenSpaceReflectionModel(); 13 | public DepthOfFieldModel depthOfField = new DepthOfFieldModel(); 14 | public MotionBlurModel motionBlur = new MotionBlurModel(); 15 | public EyeAdaptationModel eyeAdaptation = new EyeAdaptationModel(); 16 | public BloomModel bloom = new BloomModel(); 17 | public ColorGradingModel colorGrading = new ColorGradingModel(); 18 | public UserLutModel userLut = new UserLutModel(); 19 | public ChromaticAberrationModel chromaticAberration = new ChromaticAberrationModel(); 20 | public GrainModel grain = new GrainModel(); 21 | public VignetteModel vignette = new VignetteModel(); 22 | 23 | #if UNITY_EDITOR 24 | // Monitor settings 25 | [Serializable] 26 | public class MonitorSettings 27 | { 28 | // Callback used in the editor to grab the rendered frame and sent it to monitors 29 | public Action onFrameEndEditorOnly; 30 | 31 | // Global 32 | public int currentMonitorID = 0; 33 | public bool refreshOnPlay = false; 34 | 35 | // Histogram 36 | public enum HistogramMode 37 | { 38 | Red = 0, 39 | Green = 1, 40 | Blue = 2, 41 | Luminance = 3, 42 | RGBMerged, 43 | RGBSplit 44 | } 45 | 46 | public HistogramMode histogramMode = HistogramMode.Luminance; 47 | 48 | // Waveform 49 | public float waveformExposure = 0.12f; 50 | public bool waveformY = false; 51 | public bool waveformR = true; 52 | public bool waveformG = true; 53 | public bool waveformB = true; 54 | 55 | // Parade 56 | public float paradeExposure = 0.12f; 57 | 58 | // Vectorscope 59 | public float vectorscopeExposure = 0.12f; 60 | public bool vectorscopeShowBackground = true; 61 | } 62 | 63 | public MonitorSettings monitors = new MonitorSettings(); 64 | #endif 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/PostProcessingProfile.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8a3bdb2cd68f901469e7cc149151eb49 3 | timeCreated: 1459756301 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Utils.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 18fb6a6b698945843a16c2d0111a7af2 3 | folderAsset: yes 4 | timeCreated: 1459945070 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Utils/ColorGradingCurve.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEngine.PostProcessing 4 | { 5 | // Small wrapper on top of AnimationCurve to handle zero-key curves and keyframe looping 6 | 7 | [Serializable] 8 | public sealed class ColorGradingCurve 9 | { 10 | public AnimationCurve curve; 11 | 12 | [SerializeField] 13 | bool m_Loop; 14 | 15 | [SerializeField] 16 | float m_ZeroValue; 17 | 18 | [SerializeField] 19 | float m_Range; 20 | 21 | AnimationCurve m_InternalLoopingCurve; 22 | 23 | public ColorGradingCurve(AnimationCurve curve, float zeroValue, bool loop, Vector2 bounds) 24 | { 25 | this.curve = curve; 26 | m_ZeroValue = zeroValue; 27 | m_Loop = loop; 28 | m_Range = bounds.magnitude; 29 | } 30 | 31 | public void Cache() 32 | { 33 | if (!m_Loop) 34 | return; 35 | 36 | var length = curve.length; 37 | 38 | if (length < 2) 39 | return; 40 | 41 | if (m_InternalLoopingCurve == null) 42 | m_InternalLoopingCurve = new AnimationCurve(); 43 | 44 | var prev = curve[length - 1]; 45 | prev.time -= m_Range; 46 | var next = curve[0]; 47 | next.time += m_Range; 48 | m_InternalLoopingCurve.keys = curve.keys; 49 | m_InternalLoopingCurve.AddKey(prev); 50 | m_InternalLoopingCurve.AddKey(next); 51 | } 52 | 53 | public float Evaluate(float t) 54 | { 55 | if (curve.length == 0) 56 | return m_ZeroValue; 57 | 58 | if (!m_Loop || curve.length == 1) 59 | return curve.Evaluate(t); 60 | 61 | return m_InternalLoopingCurve.Evaluate(t); 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Utils/ColorGradingCurve.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bb6f2275f7eff940b6f0d72681e7877 3 | timeCreated: 1473847739 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Utils/GraphicsUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f40f0a1acf6ce2f419f2b71c667e8973 3 | timeCreated: 1467635425 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Utils/MaterialFactory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace UnityEngine.PostProcessing 5 | { 6 | using UnityObject = Object; 7 | 8 | public sealed class MaterialFactory : IDisposable 9 | { 10 | Dictionary m_Materials; 11 | 12 | public MaterialFactory() 13 | { 14 | m_Materials = new Dictionary(); 15 | } 16 | 17 | public Material Get(string shaderName) 18 | { 19 | Material material; 20 | 21 | if (!m_Materials.TryGetValue(shaderName, out material)) 22 | { 23 | var shader = Shader.Find(shaderName); 24 | 25 | if (shader == null) 26 | throw new ArgumentException(string.Format("Shader not found ({0})", shaderName)); 27 | 28 | material = new Material(shader) 29 | { 30 | name = string.Format("PostFX - {0}", shaderName.Substring(shaderName.LastIndexOf("/") + 1)), 31 | hideFlags = HideFlags.DontSave 32 | }; 33 | 34 | m_Materials.Add(shaderName, material); 35 | } 36 | 37 | return material; 38 | } 39 | 40 | public void Dispose() 41 | { 42 | var enumerator = m_Materials.GetEnumerator(); 43 | while (enumerator.MoveNext()) 44 | { 45 | var material = enumerator.Current.Value; 46 | GraphicsUtils.Destroy(material); 47 | } 48 | 49 | m_Materials.Clear(); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Utils/MaterialFactory.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 594fad000c373f746864717c588e1815 3 | timeCreated: 1466586851 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Utils/ReflectionUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71f7e805a7fc35046afbcf5c2639d116 3 | timeCreated: 1466604313 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Utils/RenderTextureFactory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace UnityEngine.PostProcessing 5 | { 6 | public sealed class RenderTextureFactory : IDisposable 7 | { 8 | HashSet m_TemporaryRTs; 9 | 10 | public RenderTextureFactory() 11 | { 12 | m_TemporaryRTs = new HashSet(); 13 | } 14 | 15 | public RenderTexture Get(RenderTexture baseRenderTexture) 16 | { 17 | return Get( 18 | baseRenderTexture.width, 19 | baseRenderTexture.height, 20 | baseRenderTexture.depth, 21 | baseRenderTexture.format, 22 | baseRenderTexture.sRGB ? RenderTextureReadWrite.sRGB : RenderTextureReadWrite.Linear, 23 | baseRenderTexture.filterMode, 24 | baseRenderTexture.wrapMode 25 | ); 26 | } 27 | 28 | public RenderTexture Get(int width, int height, int depthBuffer = 0, RenderTextureFormat format = RenderTextureFormat.ARGBHalf, RenderTextureReadWrite rw = RenderTextureReadWrite.Default, FilterMode filterMode = FilterMode.Bilinear, TextureWrapMode wrapMode = TextureWrapMode.Clamp, string name = "FactoryTempTexture") 29 | { 30 | var rt = RenderTexture.GetTemporary(width, height, depthBuffer, format); 31 | rt.filterMode = filterMode; 32 | rt.wrapMode = wrapMode; 33 | rt.name = name; 34 | m_TemporaryRTs.Add(rt); 35 | return rt; 36 | } 37 | 38 | public void Release(RenderTexture rt) 39 | { 40 | if (rt == null) 41 | return; 42 | 43 | if (!m_TemporaryRTs.Contains(rt)) 44 | throw new ArgumentException(string.Format("Attempting to remove a RenderTexture that was not allocated: {0}", rt)); 45 | 46 | m_TemporaryRTs.Remove(rt); 47 | RenderTexture.ReleaseTemporary(rt); 48 | } 49 | 50 | public void ReleaseAll() 51 | { 52 | var enumerator = m_TemporaryRTs.GetEnumerator(); 53 | while (enumerator.MoveNext()) 54 | RenderTexture.ReleaseTemporary(enumerator.Current); 55 | 56 | m_TemporaryRTs.Clear(); 57 | } 58 | 59 | public void Dispose() 60 | { 61 | ReleaseAll(); 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Runtime/Utils/RenderTextureFactory.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aec5694806c4d75449e231cfae69c329 3 | timeCreated: 1467361102 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e15c29a7abfa52743a8cb7714389c3c7 3 | folderAsset: yes 4 | timeCreated: 1466585230 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/LUTs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 499867e2df2e54e4aad0b9333221f875 3 | folderAsset: yes 4 | timeCreated: 1473255405 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/LUTs/NeutralLUT_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/SkinnedVertexModifier/86cb46e62b5801cdf0ab74f4bc29fed4f38ea1a8/Assets/PostProcessing/Textures/LUTs/NeutralLUT_16.png -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/LUTs/NeutralLUT_16.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e45483e270a314c4bbc6e317771d56ab 3 | timeCreated: 1463066524 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: 3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 0 34 | mipBias: -1 35 | wrapMode: -1 36 | nPOTScale: 1 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | textureType: 5 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/LUTs/NeutralLUT_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/SkinnedVertexModifier/86cb46e62b5801cdf0ab74f4bc29fed4f38ea1a8/Assets/PostProcessing/Textures/LUTs/NeutralLUT_32.png -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/LUTs/NeutralLUT_32.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f98e9c96c8a48541b5eb704e92d99b8 3 | timeCreated: 1463066534 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: 3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 0 34 | mipBias: -1 35 | wrapMode: -1 36 | nPOTScale: 1 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | textureType: 5 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/Lens Dirt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 705e7922061713741885ae52a3e0bea4 3 | folderAsset: yes 4 | timeCreated: 1472737148 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/Lens Dirt/LensDirt00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/SkinnedVertexModifier/86cb46e62b5801cdf0ab74f4bc29fed4f38ea1a8/Assets/PostProcessing/Textures/Lens Dirt/LensDirt00.png -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/Lens Dirt/LensDirt00.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69e847bbff1cf5449a4ee0bbd045dbc9 3 | timeCreated: 1472572785 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: -1 28 | maxTextureSize: 4096 29 | textureSettings: 30 | filterMode: -1 31 | aniso: 0 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 1024 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 1024 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | spriteSheet: 70 | serializedVersion: 2 71 | sprites: [] 72 | outline: [] 73 | spritePackingTag: 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/Lens Dirt/LensDirt01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/SkinnedVertexModifier/86cb46e62b5801cdf0ab74f4bc29fed4f38ea1a8/Assets/PostProcessing/Textures/Lens Dirt/LensDirt01.png -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/Lens Dirt/LensDirt01.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3884f7a2d04ffe8409ad9200b275896f 3 | timeCreated: 1472551546 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: -1 28 | maxTextureSize: 4096 29 | textureSettings: 30 | filterMode: -1 31 | aniso: 0 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 1024 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 1024 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | spriteSheet: 70 | serializedVersion: 2 71 | sprites: [] 72 | outline: [] 73 | spritePackingTag: 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/Lens Dirt/LensDirt02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/SkinnedVertexModifier/86cb46e62b5801cdf0ab74f4bc29fed4f38ea1a8/Assets/PostProcessing/Textures/Lens Dirt/LensDirt02.png -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/Lens Dirt/LensDirt02.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a2960ffde020f27409e070d92fb2e00b 3 | timeCreated: 1472632371 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: -1 28 | maxTextureSize: 4096 29 | textureSettings: 30 | filterMode: -1 31 | aniso: 0 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 1024 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 1024 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | spriteSheet: 70 | serializedVersion: 2 71 | sprites: [] 72 | outline: [] 73 | spritePackingTag: 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/Lens Dirt/LensDirt03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/SkinnedVertexModifier/86cb46e62b5801cdf0ab74f4bc29fed4f38ea1a8/Assets/PostProcessing/Textures/Lens Dirt/LensDirt03.png -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/Lens Dirt/LensDirt03.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a051dbda2d7bc447bee412427cd311e 3 | timeCreated: 1472641925 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: -1 28 | maxTextureSize: 4096 29 | textureSettings: 30 | filterMode: -1 31 | aniso: 0 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 1024 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 1024 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | spriteSheet: 70 | serializedVersion: 2 71 | sprites: [] 72 | outline: [] 73 | spritePackingTag: 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/Spectral LUTs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 67d9249960fda4c41b0a23a65573a8a2 3 | folderAsset: yes 4 | timeCreated: 1473255405 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/Spectral LUTs/SpectralLut_BlueRed.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/SkinnedVertexModifier/86cb46e62b5801cdf0ab74f4bc29fed4f38ea1a8/Assets/PostProcessing/Textures/Spectral LUTs/SpectralLut_BlueRed.tga -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/Spectral LUTs/SpectralLut_BlueRed.tga.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 318cbcd94840f1d48aca4d86234dc2e7 3 | timeCreated: 1473255656 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 32 31 | textureSettings: 32 | filterMode: 1 33 | aniso: 0 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | spriteTessellationDetail: -1 50 | textureType: 5 51 | buildTargetSettings: [] 52 | spriteSheet: 53 | serializedVersion: 2 54 | sprites: [] 55 | outline: [] 56 | spritePackingTag: 57 | userData: 58 | assetBundleName: 59 | assetBundleVariant: 60 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/Spectral LUTs/SpectralLut_GreenPurple.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/SkinnedVertexModifier/86cb46e62b5801cdf0ab74f4bc29fed4f38ea1a8/Assets/PostProcessing/Textures/Spectral LUTs/SpectralLut_GreenPurple.tga -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/Spectral LUTs/SpectralLut_GreenPurple.tga.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4a8f054acfbd08043a931cd22760758d 3 | timeCreated: 1473255985 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 32 31 | textureSettings: 32 | filterMode: 1 33 | aniso: 0 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | spriteTessellationDetail: -1 50 | textureType: 5 51 | buildTargetSettings: [] 52 | spriteSheet: 53 | serializedVersion: 2 54 | sprites: [] 55 | outline: [] 56 | spritePackingTag: 57 | userData: 58 | assetBundleName: 59 | assetBundleVariant: 60 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/Spectral LUTs/SpectralLut_PurpleGreen.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/SkinnedVertexModifier/86cb46e62b5801cdf0ab74f4bc29fed4f38ea1a8/Assets/PostProcessing/Textures/Spectral LUTs/SpectralLut_PurpleGreen.tga -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/Spectral LUTs/SpectralLut_PurpleGreen.tga.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 42183971d24cfe443a346e7ec6e83bbb 3 | timeCreated: 1473256088 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 32 31 | textureSettings: 32 | filterMode: 1 33 | aniso: 0 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | spriteTessellationDetail: -1 50 | textureType: 5 51 | buildTargetSettings: [] 52 | spriteSheet: 53 | serializedVersion: 2 54 | sprites: [] 55 | outline: [] 56 | spritePackingTag: 57 | userData: 58 | assetBundleName: 59 | assetBundleVariant: 60 | -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/Spectral LUTs/SpectralLut_RedBlue.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/SkinnedVertexModifier/86cb46e62b5801cdf0ab74f4bc29fed4f38ea1a8/Assets/PostProcessing/Textures/Spectral LUTs/SpectralLut_RedBlue.tga -------------------------------------------------------------------------------- /Assets/PostProcessing/Textures/Spectral LUTs/SpectralLut_RedBlue.tga.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ff5f3317371838d4fa16ac6c2acf2040 3 | timeCreated: 1473255656 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 32 31 | textureSettings: 32 | filterMode: 1 33 | aniso: 0 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | spriteTessellationDetail: -1 50 | textureType: 5 51 | buildTargetSettings: [] 52 | spriteSheet: 53 | serializedVersion: 2 54 | sprites: [] 55 | outline: [] 56 | spritePackingTag: 57 | userData: 58 | assetBundleName: 59 | assetBundleVariant: 60 | -------------------------------------------------------------------------------- /Assets/SkinnedVertexModifier.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 824b006f5d79e704a946170d1269ffb5 3 | folderAsset: yes 4 | timeCreated: 1483406678 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/SkinnedVertexModifier/Converted Model.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0c76102d341ab5d4d8bb5bbefbabce60 3 | timeCreated: 1483409481 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/SkinnedVertexModifier/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 543a5896a203b2a44a6cf3a4567767c9 3 | folderAsset: yes 4 | timeCreated: 1483368648 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/SkinnedVertexModifier/Editor/MeshEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58c0746b51f6ab843a8f400733c720af 3 | timeCreated: 1483368656 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/SkinnedVertexModifier/Noise.shader: -------------------------------------------------------------------------------- 1 | Shader "Skinned Vertex Modifier/Noise" 2 | { 3 | Properties 4 | { 5 | _MainTex("Albedo", 2D) = "gray"{} 6 | _Color("Color", Color) = (1, 1, 1) 7 | _Smoothness("Smoothness", Range(0, 1)) = 0 8 | _Metallic("Metallic", Range(0, 1)) = 0 9 | } 10 | SubShader 11 | { 12 | Tags { "RenderType"="Opaque" } 13 | 14 | CGPROGRAM 15 | 16 | #pragma surface surf Standard nolightmap addshadow vertex:vert 17 | #pragma target 3.0 18 | 19 | #include "SimplexNoiseGrad3D.cginc" 20 | 21 | struct Input 22 | { 23 | float2 uv_MainTex; 24 | }; 25 | 26 | sampler2D _MainTex; 27 | half3 _Color; 28 | half _Smoothness; 29 | half _Metallic; 30 | 31 | float3 ApplyNoise(float3 p) 32 | { 33 | float3 np = p * 2 + float3(0, _Time.y, 0); 34 | return p + snoise_grad(np) * 0.02; 35 | } 36 | 37 | void vert(inout appdata_full v) 38 | { 39 | float3 binormal = cross(v.normal, v.tangent.xyz) * v.tangent.w; 40 | 41 | float3 p = v.vertex.xyz; 42 | 43 | // Left-hand neighbor vertex position 44 | float3 p_l = v.vertex.xyz + 45 | v.tangent.xyz * v.texcoord2.x + 46 | binormal * v.texcoord2.y; 47 | 48 | // Right-hand neighbor vertex position 49 | float3 p_r = v.vertex.xyz + 50 | v.tangent.xyz * v.texcoord2.z + 51 | binormal * v.texcoord2.w; 52 | 53 | // Modify the vertex positions by the noise field. 54 | p = ApplyNoise(p); 55 | p_l = ApplyNoise(p_l); 56 | p_r = ApplyNoise(p_r); 57 | 58 | v.vertex.xyz = p; 59 | 60 | // Recalculate the normal from the modified vertex positions. 61 | v.normal = normalize(cross(p_l - p, p_r - p)); 62 | } 63 | 64 | void surf(Input IN, inout SurfaceOutputStandard o) 65 | { 66 | o.Albedo = tex2D(_MainTex, IN.uv_MainTex).rgb * _Color; 67 | o.Metallic = _Metallic; 68 | o.Smoothness = _Smoothness; 69 | } 70 | 71 | ENDCG 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /Assets/SkinnedVertexModifier/Noise.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4422ae0906dcf4145b473491d91e26c4 3 | timeCreated: 1483371040 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/SkinnedVertexModifier/Shrink.shader: -------------------------------------------------------------------------------- 1 | Shader "Skinned Vertex Modifier/Shrink" 2 | { 3 | Properties 4 | { 5 | _MainTex("Albedo", 2D) = "gray"{} 6 | _Color("Color", Color) = (1, 1, 1) 7 | _Smoothness("Smoothness", Range(0, 1)) = 0 8 | _Metallic("Metallic", Range(0, 1)) = 0 9 | } 10 | SubShader 11 | { 12 | Tags { "RenderType"="Opaque" } 13 | 14 | Cull Off 15 | 16 | CGPROGRAM 17 | 18 | #pragma surface surf Standard nolightmap addshadow vertex:vert 19 | #pragma target 3.0 20 | 21 | struct Input 22 | { 23 | float2 uv_MainTex; 24 | float facing : VFACE; 25 | }; 26 | 27 | sampler2D _MainTex; 28 | half3 _Color; 29 | half _Smoothness; 30 | half _Metallic; 31 | 32 | void vert(inout appdata_full v) 33 | { 34 | float3 binormal = cross(v.normal, v.tangent.xyz) * v.tangent.w; 35 | 36 | float3 center = v.vertex.xyz + 37 | v.tangent.xyz * v.texcoord1.x + 38 | binormal * v.texcoord1.y; 39 | 40 | float anim = sin(_Time.y * 4 + center.x * 2) * 0.4 + 0.4; 41 | 42 | v.vertex.xyz = lerp(v.vertex.xyz, center, anim); 43 | } 44 | 45 | void surf(Input IN, inout SurfaceOutputStandard o) 46 | { 47 | o.Albedo = tex2D(_MainTex, IN.uv_MainTex).rgb * _Color; 48 | o.Metallic = _Metallic; 49 | o.Smoothness = _Smoothness; 50 | o.Normal = float3(0, 0, IN.facing > 0 ? 1 : -1); 51 | } 52 | 53 | ENDCG 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /Assets/SkinnedVertexModifier/Shrink.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8dfafb6cbc8e92046a4e6a81206ec5a8 3 | timeCreated: 1483371040 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/SkinnedVertexModifier/SimplexNoiseGrad3D.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e5f477cf30529fa4dbd3aa826bb57222 3 | timeCreated: 1483411235 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Test.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d484c9a049b42414799e39950a46d451 3 | folderAsset: yes 4 | timeCreated: 1478939111 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Test/Body Noise.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45436c21efba55848ad8aa794558e28f 3 | timeCreated: 1482031187 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Test/Body Shrink.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e52c2d6e3b18f240b468d14a5c6e489 3 | timeCreated: 1482031187 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Test/Karate.controller: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!91 &9100000 4 | AnimatorController: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Karate 9 | serializedVersion: 5 10 | m_AnimatorParameters: [] 11 | m_AnimatorLayers: 12 | - serializedVersion: 5 13 | m_Name: Base Layer 14 | m_StateMachine: {fileID: 1107000012078816576} 15 | m_Mask: {fileID: 0} 16 | m_Motions: [] 17 | m_Behaviours: [] 18 | m_BlendingMode: 0 19 | m_SyncedLayerIndex: -1 20 | m_DefaultWeight: 0 21 | m_IKPass: 0 22 | m_SyncedLayerAffectsTiming: 0 23 | m_Controller: {fileID: 9100000} 24 | --- !u!1102 &1102000011581356484 25 | AnimatorState: 26 | serializedVersion: 5 27 | m_ObjectHideFlags: 1 28 | m_PrefabParentObject: {fileID: 0} 29 | m_PrefabInternal: {fileID: 0} 30 | m_Name: 135_01 31 | m_Speed: 1 32 | m_CycleOffset: 0 33 | m_Transitions: [] 34 | m_StateMachineBehaviours: [] 35 | m_Position: {x: 50, y: 50, z: 0} 36 | m_IKOnFeet: 1 37 | m_WriteDefaultValues: 1 38 | m_Mirror: 0 39 | m_SpeedParameterActive: 0 40 | m_MirrorParameterActive: 0 41 | m_CycleOffsetParameterActive: 0 42 | m_Motion: {fileID: 7400000, guid: 103c99fe19b5e2541a2d3bf7a651fcae, type: 3} 43 | m_Tag: 44 | m_SpeedParameter: 45 | m_MirrorParameter: 46 | m_CycleOffsetParameter: 47 | --- !u!1107 &1107000012078816576 48 | AnimatorStateMachine: 49 | serializedVersion: 5 50 | m_ObjectHideFlags: 1 51 | m_PrefabParentObject: {fileID: 0} 52 | m_PrefabInternal: {fileID: 0} 53 | m_Name: Base Layer 54 | m_ChildStates: 55 | - serializedVersion: 1 56 | m_State: {fileID: 1102000011581356484} 57 | m_Position: {x: 324, y: 108, z: 0} 58 | m_ChildStateMachines: [] 59 | m_AnyStateTransitions: [] 60 | m_EntryTransitions: [] 61 | m_StateMachineTransitions: {} 62 | m_StateMachineBehaviours: [] 63 | m_AnyStatePosition: {x: 50, y: 20, z: 0} 64 | m_EntryPosition: {x: 50, y: 120, z: 0} 65 | m_ExitPosition: {x: 800, y: 120, z: 0} 66 | m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} 67 | m_DefaultState: {fileID: 1102000011581356484} 68 | -------------------------------------------------------------------------------- /Assets/Test/Karate.controller.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 34552319241c26c4b8e64563ed9e67da 3 | timeCreated: 1478938841 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Test/PostFx.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9c886c9863cb87c4f9db694bed57cc8e 3 | timeCreated: 1477966262 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Test/Skybox.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6046054f436f2470d88761b2f03a3470 3 | timeCreated: 1457254617 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Test/Test.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd0f3770ba49f4301b9ab83302649e86 3 | timeCreated: 1457255157 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Test/UV Test.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 937485d937bde442cba1125def3b0f12 3 | timeCreated: 1457254327 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Test/UV Test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/SkinnedVertexModifier/86cb46e62b5801cdf0ab74f4bc29fed4f38ea1a8/Assets/Test/UV Test.png -------------------------------------------------------------------------------- /Assets/Test/UV Test.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 122b4d62d61fe4ad582629e021d9dce6 3 | timeCreated: 1457254311 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: .25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -1 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: 2 33 | aniso: 4 34 | mipBias: -1 35 | wrapMode: -1 36 | nPOTScale: 1 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: .5, y: .5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 0 49 | textureType: -1 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | spritePackingTag: 54 | userData: 55 | assetBundleName: 56 | assetBundleVariant: 57 | -------------------------------------------------------------------------------- /Assets/sIBL Archive.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a45feb57f31d6431b9c70826bad20276 3 | folderAsset: yes 4 | timeCreated: 1457256397 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/sIBL Archive/Acknowledgement.txt: -------------------------------------------------------------------------------- 1 | The HDR images in this directory are provided from sIBL Archive under the 2 | Creative Commons license (CC BY-NC-SA 3.0 US). Please see the page below for 3 | further details. 4 | 5 | http://www.hdrlabs.com/sibl/archive.html 6 | -------------------------------------------------------------------------------- /Assets/sIBL Archive/Acknowledgement.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 539994cd5da974df4aa624b1efbfc35e 3 | timeCreated: 1457256437 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/sIBL Archive/LA_Downtown_Helipad_GoldenHour_Env.hdr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keijiro/SkinnedVertexModifier/86cb46e62b5801cdf0ab74f4bc29fed4f38ea1a8/Assets/sIBL Archive/LA_Downtown_Helipad_GoldenHour_Env.hdr -------------------------------------------------------------------------------- /Assets/sIBL Archive/LA_Downtown_Helipad_GoldenHour_Env.hdr.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a484b152a713c486e98ed7a992f53a51 3 | timeCreated: 1457255178 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: 7 | 8900000: generatedCubemap 8 | serializedVersion: 2 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 1 12 | linearTexture: 0 13 | correctGamma: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: .25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | grayScaleToAlpha: 0 25 | generateCubemap: 6 26 | cubemapConvolution: 0 27 | cubemapConvolutionSteps: 8 28 | cubemapConvolutionExponent: 1.5 29 | seamlessCubemap: 0 30 | textureFormat: -3 31 | maxTextureSize: 2048 32 | textureSettings: 33 | filterMode: -1 34 | aniso: -1 35 | mipBias: -1 36 | wrapMode: 1 37 | nPOTScale: 1 38 | lightmap: 0 39 | rGBM: 0 40 | compressionQuality: 50 41 | allowsAlphaSplitting: 0 42 | spriteMode: 0 43 | spriteExtrude: 1 44 | spriteMeshType: 1 45 | alignment: 0 46 | spritePivot: {x: .5, y: .5} 47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 48 | spritePixelsToUnits: 100 49 | alphaIsTransparency: 0 50 | textureType: 3 51 | buildTargetSettings: [] 52 | spriteSheet: 53 | sprites: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | Doppler Factor: 1 9 | Default Speaker Mode: 2 10 | m_SampleRate: 0 11 | m_DSPBufferSize: 0 12 | m_VirtualVoiceCount: 512 13 | m_RealVoiceCount: 32 14 | m_SpatializerPlugin: 15 | m_DisableAudio: 0 16 | m_VirtualizeEffects: 1 17 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_SolverIterationCount: 6 13 | m_SolverVelocityIterations: 1 14 | m_QueriesHitTriggers: 1 15 | m_EnableAdaptiveForce: 0 16 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 17 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/Test/Test.unity 10 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 3 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_WebSecurityEmulationEnabled: 0 10 | m_WebSecurityEmulationHostUrl: http://www.mydomain.com/mygame.unity3d 11 | m_DefaultBehaviorMode: 0 12 | m_SpritePackerMode: 2 13 | m_SpritePackerPaddingPower: 1 14 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd 15 | m_ProjectGenerationRootNamespace: 16 | -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 7 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0} 39 | m_PreloadedShaders: [] 40 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 41 | type: 0} 42 | m_ShaderSettings_Tier1: 43 | useCascadedShadowMaps: 1 44 | standardShaderQuality: 2 45 | useReflectionProbeBoxProjection: 1 46 | useReflectionProbeBlending: 1 47 | m_ShaderSettings_Tier2: 48 | useCascadedShadowMaps: 1 49 | standardShaderQuality: 2 50 | useReflectionProbeBoxProjection: 1 51 | useReflectionProbeBlending: 1 52 | m_ShaderSettings_Tier3: 53 | useCascadedShadowMaps: 1 54 | standardShaderQuality: 2 55 | useReflectionProbeBoxProjection: 1 56 | useReflectionProbeBlending: 1 57 | m_BuildTargetShaderSettings: [] 58 | m_LightmapStripping: 0 59 | m_FogStripping: 0 60 | m_LightmapKeepPlain: 1 61 | m_LightmapKeepDirCombined: 1 62 | m_LightmapKeepDirSeparate: 1 63 | m_LightmapKeepDynamicPlain: 1 64 | m_LightmapKeepDynamicDirCombined: 1 65 | m_LightmapKeepDynamicDirSeparate: 1 66 | m_FogKeepLinear: 1 67 | m_FogKeepExp: 1 68 | m_FogKeepExp2: 1 69 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshAreas: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_MinPenetrationForPenalty: 0.01 17 | m_BaumgarteScale: 0.2 18 | m_BaumgarteTimeOfImpactScale: 0.75 19 | m_TimeToSleep: 0.5 20 | m_LinearSleepTolerance: 0.01 21 | m_AngularSleepTolerance: 2 22 | m_QueriesHitTriggers: 1 23 | m_QueriesStartInColliders: 1 24 | m_ChangeStopsCallbacks: 0 25 | m_AlwaysShowColliders: 0 26 | m_ShowColliderSleep: 1 27 | m_ShowColliderContacts: 0 28 | m_ContactArrowScale: 0.2 29 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 30 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 31 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 32 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 33 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 5.4.3f1 2 | m_StandardAssetsVersion: 0 3 | -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 0 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Good 11 | pixelLightCount: 2 12 | shadows: 2 13 | shadowResolution: 2 14 | shadowProjection: 1 15 | shadowCascades: 2 16 | shadowDistance: 16 17 | shadowNearPlaneOffset: 2 18 | shadowCascade2Split: 0.33333334 19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 20 | blendWeights: 2 21 | textureQuality: 0 22 | anisotropicTextures: 1 23 | antiAliasing: 0 24 | softParticles: 0 25 | softVegetation: 1 26 | realtimeReflectionProbes: 1 27 | billboardsFaceCameraPosition: 1 28 | vSyncCount: 1 29 | lodBias: 1 30 | maximumLODLevel: 0 31 | particleRaycastBudget: 256 32 | asyncUploadTimeSlice: 2 33 | asyncUploadBufferSize: 4 34 | excludedTargetPlatforms: [] 35 | m_PerPlatformDefaultQuality: 36 | Android: 0 37 | Nintendo 3DS: 0 38 | PS3: 0 39 | PS4: 0 40 | PSM: 0 41 | PSP2: 0 42 | Samsung TV: 0 43 | Standalone: 0 44 | Tizen: 0 45 | Web: 0 46 | WebGL: 0 47 | WiiU: 0 48 | Windows Store Apps: 0 49 | XBOX360: 0 50 | XboxOne: 0 51 | iPhone: 0 52 | tvOS: 0 53 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | -------------------------------------------------------------------------------- /ProjectSettings/UnityAdsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!292 &1 4 | UnityAdsSettings: 5 | m_ObjectHideFlags: 0 6 | m_Enabled: 0 7 | m_InitializeOnStartup: 1 8 | m_TestMode: 0 9 | m_EnabledPlatforms: 4294967295 10 | m_IosGameId: 11 | m_AndroidGameId: 12 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | m_Enabled: 0 7 | m_TestMode: 0 8 | m_TestEventUrl: 9 | m_TestConfigUrl: 10 | CrashReportingSettings: 11 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes 12 | m_Enabled: 0 13 | UnityPurchasingSettings: 14 | m_Enabled: 0 15 | m_TestMode: 0 16 | UnityAnalyticsSettings: 17 | m_Enabled: 0 18 | m_InitializeOnStartup: 1 19 | m_TestMode: 0 20 | m_TestEventUrl: 21 | m_TestConfigUrl: 22 | --------------------------------------------------------------------------------