protected void OnEnable() { this.mat = this.mat ?? new DisposableMaterial(this.renderToDepth); this.renderCamera = this.renderCamera ?? this.GetComponent <Camera>(); this.OnSettingChanged(); }
public void Init(params object[] parameters) { if (Inited) { return; } if (parameters.Length < 1) { return; } if (parameters[0] is Shader shader) { shader = shader != null ? shader : Shader.Find("Unlit/Texture"); this.material = new DisposableMaterial(shader); var render = this.gameObject.FindOrAddTypeInComponentsAndChildren <MeshRenderer>(); render.sharedMaterial = this.material; } this.inited = true; }
public static void ApplyPostEffectTo(Texture2D source, Shader shader) { Assert.IsNotNull(source); Assert.IsNotNull(shader); var width = source.width; var height = source.height; using (var rt = new RenderTextureTool.RenderTextureTemp(source)) { using (new RenderTextureTool.RenderTextureActive(rt)) { //apple post effect var mat = new DisposableMaterial(shader); Graphics.Blit(source, rt, mat); mat.Dispose(); //read data back source.ReadPixels(new Rect(0, 0, width, height), 0, 0); source.Apply(); } } }
protected virtual void OnEnable() { this.combineMat = new DisposableMaterial(this.shader); }
protected virtual void OnEnable() { Assert.IsNotNull(this.shader); this.mat = new DisposableMaterial(this.shader); }
protected void OnEnable() { this.material = new DisposableMaterial(this.mat); }