protected override void CheckParameters() { base.CheckParameters(); var cameraEvent = GetCameraEvent(); if (cameraEvent != CameraEvent.BeforeImageEffectsOpaque && !IsDeferredShading()) { GeneralSettings settings = generalSettings; settings.integrationStage = IntegrationStage.BeforeImageEffectsOpaque; generalSettings = settings; } if (cameraEvent == CameraEvent.BeforeImageEffectsOpaque && aoSettings.perPixelNormals == PerPixelNormals.GBuffer) { AOSettings settings = aoSettings; settings.perPixelNormals = PerPixelNormals.Camera; aoSettings = settings; } else if (cameraEvent != CameraEvent.BeforeImageEffectsOpaque && aoSettings.perPixelNormals == PerPixelNormals.Camera) { AOSettings settings = aoSettings; settings.perPixelNormals = PerPixelNormals.GBuffer; aoSettings = settings; } }
public void ApplyPreset(Preset preset) { if (preset == Preset.Custom) { m_Presets.preset = preset; return; } DisplayMode displayMode = generalSettings.displayMode; m_GeneralSettings = GeneralSettings.defaultSettings; m_AOSettings = AOSettings.defaultSettings; m_ColorBleedingSettings = ColorBleedingSettings.defaultSettings; m_BlurSettings = BlurSettings.defaultSettings; m_GeneralSettings.displayMode = displayMode; switch (preset) { case Preset.FastestPerformance: m_GeneralSettings.quality = Quality.Lowest; m_AOSettings.radius = 0.5f; m_AOSettings.maxRadiusPixels = 64.0f; m_BlurSettings.amount = Blur.ExtraWide; m_BlurSettings.downsample = true; break; case Preset.FastPerformance: m_GeneralSettings.quality = Quality.Low; m_AOSettings.radius = 0.5f; m_AOSettings.maxRadiusPixels = 64.0f; m_BlurSettings.amount = Blur.Wide; m_BlurSettings.downsample = true; break; case Preset.HighQuality: m_GeneralSettings.quality = Quality.High; m_AOSettings.radius = 1.0f; break; case Preset.HighestQuality: m_GeneralSettings.quality = Quality.Highest; m_AOSettings.radius = 1.2f; m_AOSettings.maxRadiusPixels = 256.0f; m_BlurSettings.amount = Blur.Narrow; break; case Preset.Normal: default: break; } m_Presets.preset = preset; }
public void SetValues(ProjectObject projectObject) { InitializeSettings(); if (projectObject.AOS != null) { AOS = projectObject.AOS; } else { settingsInitialized = false; InitializeSettings(); } doStuff = true; }
public AOPass(AOSettings settings) { this.settings = settings; this.renderPassEvent = settings.Event; this.blitMaterial = CoreUtils.CreateEngineMaterial(settings.shader); this.triangle = new Mesh(); this.triangle.name = "Fullscreen Triangle"; this.triangle.SetVertices(new[] { new Vector3(-1f, -1f, 0f), new Vector3(-1f, 3f, 0f), new Vector3(3f, -1f, 0f) }); this.triangle.SetIndices(new[] { 0, 1, 2 }, MeshTopology.Triangles, 0, false); this.triangle.UploadMeshData(true); }
void InitializeSettings() { if (settingsInitialized == false) { AOS = new AOSettings(); if (MainGuiScript._HeightMap != null) { AOS.Blend = 1.0f; AOS.BlendText = "1.0"; } else { AOS.Blend = 0.0f; AOS.BlendText = "0.0"; } settingsInitialized = true; } }