Esempio n. 1
0
        private void Update()
        {
            for (var i = 0; i < this.mrtTex.Length; ++i)
            {
                RenderTexUtil.Clear(this.mrtTex[i]);
            }

            this.targetCamera.RenderWithShader(this.lightShader, null);
        }
Esempio n. 2
0
        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);
        }