| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | 
							- using UnityEngine;
 
- [ExecuteInEditMode]
 
- [AddComponentMenu("Image Effects/Frost")]
 
- public class FrostEffect : MonoBehaviour
 
- {
 
-     public float FrostAmount = 0.5f; //0-1 (0=minimum Frost, 1=maximum frost)
 
-     public float EdgeSharpness = 1; //>=1
 
-     public float minFrost = 0; //0-1
 
-     public float maxFrost = 1; //0-1
 
-     public float seethroughness = 0.2f; //blends between 2 ways of applying the frost effect: 0=normal blend mode, 1="overlay" blend mode
 
-     public float distortion = 0.1f; //how much the original image is distorted through the frost (value depends on normal map)
 
-     public Texture2D Frost; //RGBA
 
-     public Texture2D FrostNormals; //normalmap
 
-     public Shader Shader; //ImageBlendEffect.shader
 
- 	
 
- 	private Material material;
 
- 	private void Start()
 
- 	{
 
-         material = new Material(Shader);
 
-         material.SetTexture("_BlendTex", Frost);
 
-         material.SetTexture("_BumpMap", FrostNormals);
 
- 	}
 
-     private void OnRenderImage(RenderTexture source, RenderTexture destination)
 
-     {
 
-         if (!Application.isPlaying)
 
-         {
 
-             material.SetTexture("_BlendTex", Frost);
 
-             material.SetTexture("_BumpMap", FrostNormals);
 
-             EdgeSharpness = Mathf.Max(1, EdgeSharpness);
 
-         }
 
-         material.SetFloat("_BlendAmount", Mathf.Clamp01(Mathf.Clamp01(FrostAmount) * (maxFrost - minFrost) + minFrost));
 
-         material.SetFloat("_EdgeSharpness", EdgeSharpness);
 
-         material.SetFloat("_SeeThroughness", seethroughness);
 
-         material.SetFloat("_Distortion", distortion);
 
-         //Debug.Log("_Distortion: " + distortion);
 
-         Graphics.Blit(source, destination, material);
 
-     }
 
-     private void OnPostRender()
 
-     {
 
-         //Debug.Log("rendering");
 
-     }
 
- }
 
 
  |