void RenderLights(VLSLightLayer _layer) { ReleaseRenderTexture(ref _layer.renderTexture); RenderTexture buffer = RenderTexture.GetTemporary(pixelWidth, pixelHeight); _layer.renderTexture = RenderTexture.GetTemporary(pixelWidth, pixelHeight); RTCamera.clearFlags = CameraClearFlags.Color; RTCamera.backgroundColor = Color.clear; RTCamera.cullingMask = _layer.layerMask; RTCamera.targetTexture = _layer.renderTexture; RTCamera.Render(); if (_layer.blur.enabled && _layer.blur.iterations > 0) { BlurRenderTexture(_layer.renderTexture, buffer, _layer.blur.iterations, _layer.blur.spread); } else { Graphics.Blit(_layer.renderTexture, buffer); } if (_layer.overlay.enabled && _layer.overlay.texture != null) { GetAddOverlayMaterial().SetTexture("_OverlayTex", _layer.overlay.texture); GetAddOverlayMaterial().SetFloat("_Intensity", _layer.overlay.intensity); GetAddOverlayMaterial().SetFloat("_Scale", _layer.overlay.scale); GetAddOverlayMaterial().SetFloat("_XScrollSpeed", _layer.overlay.xScrollSpeed); GetAddOverlayMaterial().SetFloat("_YScrollSpeed", _layer.overlay.yScrollSpeed); } else { GetAddOverlayMaterial().SetTexture("_OverlayTex", null); } Graphics.Blit(buffer, _layer.renderTexture, GetAddOverlayMaterial()); RenderTexture.ReleaseTemporary(buffer); }
void RenderLights(VLSLightLayer _layer) { ReleaseRenderTexture(ref _layer.renderTexture); RenderTexture buffer = RenderTexture.GetTemporary(pixelWidth, pixelHeight); _layer.renderTexture = RenderTexture.GetTemporary(pixelWidth, pixelHeight); RTCamera.clearFlags = CameraClearFlags.Color; RTCamera.backgroundColor = Color.clear; RTCamera.cullingMask = _layer.layerMask; RTCamera.targetTexture = _layer.renderTexture; RTCamera.Render(); if (_layer.blur.enabled && _layer.blur.iterations > 0) { BlurRenderTexture(_layer.renderTexture, buffer, _layer.blur.iterations, _layer.blur.spread); } else { Graphics.Blit(_layer.renderTexture, buffer); } if (_layer.overlay.enabled && _layer.overlay.texture != null) { GetAddOverlayMaterial().SetTexture("_OverlayTex", _layer.overlay.texture); GetAddOverlayMaterial().SetFloat("_Intensity", _layer.overlay.intensity); GetAddOverlayMaterial().SetFloat("_Scale", _layer.overlay.scale); GetAddOverlayMaterial().SetFloat("_XScrollSpeed", _layer.overlay.xScrollSpeed); GetAddOverlayMaterial().SetFloat("_YScrollSpeed", _layer.overlay.yScrollSpeed); } else { GetAddOverlayMaterial().SetTexture("_OverlayTex", null); } Graphics.Blit(buffer, _layer.renderTexture, GetAddOverlayMaterial()); RenderTexture.ReleaseTemporary(buffer); }