void GetScreen() { // Image myImage = GetComponent<Image>(); LinearBlur myBlur = new LinearBlur(); //Texture2D Texture2D blurTexture = renderCamera.screenshot; TextureScale.Bilinear(blurTexture, blurTexture.width / downSampleAmount, blurTexture.height / downSampleAmount); blurTexture = myBlur.Blur(blurTexture, blurPixels, 2); blurTexture.Apply(); myImage.material.mainTexture = blurTexture; }
static public Sprite RequestSprite(Sprite originalSprite, int blurSize, int blurIterations) { BlurObject blurObject = null; bool exist = dictionary.TryGetValue(originalSprite, out blurObject); if (exist) { if (blurObject.sprite == null || blurObject.sprite.texture == null) { dictionary.Remove(originalSprite); blurObject.sprite = LinearBlur.Blur(originalSprite, blurSize, blurIterations, Color.white); blurObject.blurSize = blurSize; blurObject.blurIterations = blurIterations; dictionary.Add(originalSprite, blurObject); } else if (blurObject.blurSize != blurSize || blurObject.blurIterations != blurIterations) { blurObject.sprite = LinearBlur.Blur(originalSprite, blurSize, blurIterations, Color.white); blurObject.blurSize = blurSize; blurObject.blurIterations = blurIterations; } return(blurObject.sprite); } else { Sprite sprite = LinearBlur.Blur(originalSprite, blurSize, blurIterations, Color.white); blurObject = new BlurObject(sprite, blurSize, blurIterations); dictionary.Add(originalSprite, blurObject); return(blurObject.sprite); } }