Ejemplo n.º 1
0
    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;
        }
    }
Ejemplo n.º 2
0
    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;
    }
Ejemplo n.º 3
0
 public void SetValues(ProjectObject projectObject)
 {
     InitializeSettings();
     if (projectObject.AOS != null)
     {
         AOS = projectObject.AOS;
     }
     else
     {
         settingsInitialized = false;
         InitializeSettings();
     }
     doStuff = true;
 }
Ejemplo n.º 4
0
            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);
            }
Ejemplo n.º 5
0
    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;
        }
    }