public void RefreshState(CustomUberPostFeature.CustomUberPostSettings settings) { _uberSettings.EyeMaskEnable = settings.EyeMaskEnable; _uberSettings.DualKawaseDOFEnable = settings.DualKawaseDOFEnable; _uberSettings.RainDropEnable = settings.RainDropEnable; _uberSettings.VignetteEnable = settings.VignetteEnable; _uberSettings.GlitchEnable = settings.GlitchEnable; }
public CustomUberPostPass(RenderPassEvent evt, RenderQueueRange renderQueueRange, LayerMask layerMask, Material blitMaterial, CustomUberPostFeature.CustomUberPostSettings settings) { this.renderPassEvent = evt; this.blitMaterial = blitMaterial; m_FilteringSettings = new FilteringSettings(renderQueueRange, layerMask); RefreshSettings(settings); /******** DualKawase ********/ m_Pyramid = new BlurSampleLevel[k_MaxPyramidSize]; for (int i = 0; i < k_MaxPyramidSize; i++) { m_Pyramid[i] = new BlurSampleLevel() { down = Shader.PropertyToID("_BlurMipDown" + i), up = Shader.PropertyToID("_BlurMipUp" + i) }; } }
public void RefreshSettings(CustomUberPostFeature.CustomUberPostSettings settings) { _uberSettings.Copy(settings); blitMaterial.SetFloat(STATIC_ScreenAspect, _uberSettings.ScreenAspect); blitMaterial.SetFloat(STATIC_IdMask, _uberSettings.IDMask ? 1 : 0); if (_uberSettings.IDMask) { blitMaterial.EnableKeyword("USE_ID_TEXTURE"); } else { blitMaterial.DisableKeyword("USE_ID_TEXTURE"); } if (settings.OverlayEnable) { if (_uberSettings.PolarUV) { blitMaterial.EnableKeyword("USE_POLARUV"); } else { blitMaterial.DisableKeyword("USE_POLARUV"); } blitMaterial.SetVector(STATIC_OverlayCoordiate, _uberSettings.OverlayCoordiate); blitMaterial.SetVector(STATIC_NormalCoordiate, _uberSettings.NormalCoordiate); blitMaterial.SetFloat(STATIC_NormalStr, _uberSettings.NormalStr); blitMaterial.SetFloat(STATIC_GradingOffset, _uberSettings.GradientOffset); } if (settings.EyeMaskEnable) { blitMaterial.SetFloat(STATIC_Handle, _uberSettings.Handle); blitMaterial.SetFloat(STATIC_Gradient, _uberSettings.Gradient); } if (settings.RadialBlurEnable) { blitMaterial.SetVector(STATIC_RadialBlurCenter, _uberSettings.RadialBlurCenter); blitMaterial.SetFloat(STATIC_RadialBlurMaskStr, _uberSettings.RadialBlurMaskStr); blitMaterial.SetInt(STATIC_RadialBlurSampleTime, _uberSettings.RadialBlurSampleTime); blitMaterial.SetFloat(STATIC_RadialBlurOffsetStr, _uberSettings.RadialBlurOffsetStr); } if (settings.DualKawaseDOFEnable) { blitMaterial.SetFloat(STATIC_BlurOffset, _uberSettings.BlurRadius); blitMaterial.SetFloat(STATIC_FocusLength, _uberSettings.FocusLength); blitMaterial.SetFloat(STATIC_DofRadius, _uberSettings.DOFRadius); } if (settings.RainDropEnable) { blitMaterial.SetFloat(STATIC_RainForce, _uberSettings.RainForce); blitMaterial.SetFloat(STATIC_RainDropSize, _uberSettings.RainDropSize); blitMaterial.SetFloat(STATIC_RainDropAngle, _uberSettings.RainDropAngle); blitMaterial.SetFloat(STATIC_DropAspect, _uberSettings.DropAspect); blitMaterial.SetFloat(STATIC_DropSpeed, _uberSettings.DropSpeed); blitMaterial.SetFloat(STATIC_DropMotionTurb, _uberSettings.DropMotionTurb); blitMaterial.SetFloat(STATIC_DISTORTION, _uberSettings.Distortion); blitMaterial.SetFloat(STATIC_BLUR, _uberSettings.Blur); } if (settings.VignetteEnable) { blitMaterial.SetColor(STATIC_VignetteColor, _uberSettings.VignetteColor); blitMaterial.SetVector(STATIC_VignetteCenter, _uberSettings.VigenetteCenter); blitMaterial.SetFloat(STATIC_VignetteIntensity, _uberSettings.VignetteIntensity); blitMaterial.SetFloat(STATIC_VignetteSmoothness, _uberSettings.VignetteSmoothness); } if (settings.GlitchEnable) { blitMaterial.SetFloat(STATIC_ScanLineJitter, _uberSettings.ScanLineJitter); blitMaterial.SetFloat(STATIC_VerticalJump, _uberSettings.VerticleJump); blitMaterial.SetFloat(STATIC_HorizontalShake, _uberSettings.HorizontalShake); blitMaterial.SetFloat(STATIC_RGBShiftAmp, _uberSettings.RGBShiftAmp); blitMaterial.SetFloat(STATIC_ShiftSpeed, _uberSettings.ShiftSpeed); blitMaterial.SetVector(STATIC_ManualShift, _uberSettings.ManualShift); blitMaterial.SetFloat(STATIC_Lighten, _uberSettings.Lighten); blitMaterial.SetColor(STATIC_Color1, _uberSettings.Color1); blitMaterial.SetColor(STATIC_Color2, _uberSettings.Color2); blitMaterial.SetColor(STATIC_Color3, _uberSettings.Color3); blitMaterial.SetFloat(STATIC_Balance, _uberSettings.Balance); blitMaterial.SetFloat(STATIC_X, _uberSettings.X ? 1 : 0); blitMaterial.SetFloat(STATIC_Y, _uberSettings.Y ? 1 : 0); } blitMaterial.SetFloat(STATIC_Saturate, _uberSettings.SaturateStr); }