private void Update() { for (var i = 0; i < this.mrtTex.Length; ++i) { RenderTexUtil.Clear(this.mrtTex[i]); } this.targetCamera.RenderWithShader(this.lightShader, null); }
private void Start() { this.lightShader = Shader.Find("Custom/RenderToGbuffer"); Assert.IsNotNull(this.lightShader); this.targetCamera = this.GetComponent <Camera>(); Assert.IsNotNull(this.targetCamera); var source = this.targetCamera.targetTexture; if (source == null) { source = new RenderTexture(Screen.width, Screen.height, 24); } for (var i = 0; i < this.mrtTex.Length; ++i) { RenderTexUtil.CheckAndRebuild(source, ref this.mrtTex[i]); this.mrtRB[i] = mrtTex[i].colorBuffer; } this.targetCamera.clearFlags = CameraClearFlags.SolidColor; this.targetCamera?.SetTargetBuffers(mrtRB, mrtTex[0].depthBuffer); }