示例#1
0
    void Start()
    {
        bloomScript    = GetComponent <BloomAndLensFlares>();
        vignetteScript = GetComponent <Vignetting>();
        noiseScript    = GetComponent <NoiseEffect>();

        if (bloomScript)
        {
            hasBloom = true;
        }
        else
        {
            hasBloom = false;
        }

        if (vignetteScript)
        {
            hasVignetting = true;
        }
        else
        {
            hasVignetting = false;
        }

        if (noiseScript)
        {
            hasNoise = true;
        }
        else
        {
            hasNoise = false;
        }
    }
 // Use this for initialization
 void Awake()
 {
     cam        = GetComponent <Camera>();
     ssao       = GetComponent <SSAOEffect>();
     bloom      = GetComponent <BloomAndLensFlares>();
     brightness = GetComponent <BrightnessScreenOverlay>();
 }
示例#3
0
    private void turnPauseOff()
    {
        player.GetComponent <ControladorJugador>().enabled = true;
        BloomAndLensFlares script = Camera.main.GetComponent <BloomAndLensFlares>();

        script.bloomThreshhold = 0.3f;
        Time.timeScale         = 1.0f;
    }
示例#4
0
    private void turnPauseOff()
    {
        (GameObject.FindGameObjectWithTag("Player")).GetComponent <MouseLook>().enabled = true;
        BloomAndLensFlares script = Camera.main.GetComponent <BloomAndLensFlares>();

        script.bloomThreshhold = 0.3f;
        script.bloomIntensity  = 1.0f;
        Time.timeScale         = 1.0f;
    }
示例#5
0
    public void SetBloom(int state)
    {
        BloomAndLensFlares bloom = Camera.mainCamera.GetComponent <BloomAndLensFlares>();

        if (bloom != null)
        {
            if (state == 0)
            {
                bloom.enabled = false;
            }
            if (state == 1)
            {
                bloom.enabled = true;
            }
        }
        else
        {
            print("No bloom");
        }
    }
示例#6
0
 public virtual void OnRenderImage(RenderTexture source, RenderTexture destination)
 {
     if (!this.CheckResources())
     {
         Graphics.Blit((Texture)source, destination);
     }
     else
     {
         this.doHdr = false;
         if (this.hdr == HDRBloomMode.Auto)
         {
             BloomAndLensFlares bloomAndLensFlares = this;
             int num = source.format == RenderTextureFormat.ARGBHalf ? 1 : 0;
             if (num != 0)
             {
                 num = this.camera.hdr ? 1 : 0;
             }
             bloomAndLensFlares.doHdr = num != 0;
         }
         else
         {
             this.doHdr = this.hdr == HDRBloomMode.On;
         }
         BloomAndLensFlares bloomAndLensFlares1 = this;
         int num1 = this.doHdr ? 1 : 0;
         if (num1 != 0)
         {
             num1 = this.supportHDRTextures ? 1 : 0;
         }
         bloomAndLensFlares1.doHdr = num1 != 0;
         BloomScreenBlendMode bloomScreenBlendMode = this.screenBlendMode;
         if (this.doHdr)
         {
             bloomScreenBlendMode = BloomScreenBlendMode.Add;
         }
         RenderTextureFormat format     = !this.doHdr ? RenderTextureFormat.Default : RenderTextureFormat.ARGBHalf;
         RenderTexture       temporary1 = RenderTexture.GetTemporary(source.width / 2, source.height / 2, 0, format);
         RenderTexture       temporary2 = RenderTexture.GetTemporary(source.width / 4, source.height / 4, 0, format);
         RenderTexture       temporary3 = RenderTexture.GetTemporary(source.width / 4, source.height / 4, 0, format);
         RenderTexture       temporary4 = RenderTexture.GetTemporary(source.width / 4, source.height / 4, 0, format);
         float num2 = (float)(1.0 * (double)source.width / (1.0 * (double)source.height));
         float num3 = 1.0f / 512.0f;
         Graphics.Blit((Texture)source, temporary1, this.screenBlend, 2);
         Graphics.Blit((Texture)temporary1, temporary2, this.screenBlend, 2);
         RenderTexture.ReleaseTemporary(temporary1);
         this.BrightFilter(this.bloomThreshhold, this.useSrcAlphaAsMask, temporary2, temporary3);
         if (this.bloomBlurIterations < 1)
         {
             this.bloomBlurIterations = 1;
         }
         for (int index = 0; index < this.bloomBlurIterations; ++index)
         {
             float num4 = (float)(1.0 + (double)index * 0.5) * this.sepBlurSpread;
             this.separableBlurMaterial.SetVector("offsets", new Vector4(0.0f, num4 * num3, 0.0f, 0.0f));
             Graphics.Blit(index != 0 ? (Texture)temporary2 : (Texture)temporary3, temporary4, this.separableBlurMaterial);
             this.separableBlurMaterial.SetVector("offsets", new Vector4(num4 / num2 * num3, 0.0f, 0.0f, 0.0f));
             Graphics.Blit((Texture)temporary4, temporary2, this.separableBlurMaterial);
         }
         if (this.lensflares)
         {
             if (this.lensflareMode == LensflareStyle34.Ghosting)
             {
                 this.BrightFilter(this.lensflareThreshhold, 0.0f, temporary2, temporary4);
                 this.Vignette(0.975f, temporary4, temporary3);
                 this.BlendFlares(temporary3, temporary2);
             }
             else
             {
                 this.hollywoodFlaresMaterial.SetVector("_Threshhold", new Vector4(this.lensflareThreshhold, (float)(1.0 / (1.0 - (double)this.lensflareThreshhold)), 0.0f, 0.0f));
                 this.hollywoodFlaresMaterial.SetVector("tintColor", new Vector4(this.flareColorA.r, this.flareColorA.g, this.flareColorA.b, this.flareColorA.a) * this.flareColorA.a * this.lensflareIntensity);
                 Graphics.Blit((Texture)temporary4, temporary3, this.hollywoodFlaresMaterial, 2);
                 Graphics.Blit((Texture)temporary3, temporary4, this.hollywoodFlaresMaterial, 3);
                 this.hollywoodFlaresMaterial.SetVector("offsets", new Vector4(this.sepBlurSpread * 1f / num2 * num3, 0.0f, 0.0f, 0.0f));
                 this.hollywoodFlaresMaterial.SetFloat("stretchWidth", this.hollyStretchWidth);
                 Graphics.Blit((Texture)temporary4, temporary3, this.hollywoodFlaresMaterial, 1);
                 this.hollywoodFlaresMaterial.SetFloat("stretchWidth", this.hollyStretchWidth * 2f);
                 Graphics.Blit((Texture)temporary3, temporary4, this.hollywoodFlaresMaterial, 1);
                 this.hollywoodFlaresMaterial.SetFloat("stretchWidth", this.hollyStretchWidth * 4f);
                 Graphics.Blit((Texture)temporary4, temporary3, this.hollywoodFlaresMaterial, 1);
                 if (this.lensflareMode == LensflareStyle34.Anamorphic)
                 {
                     for (int index = 0; index < this.hollywoodFlareBlurIterations; ++index)
                     {
                         this.separableBlurMaterial.SetVector("offsets", new Vector4(this.hollyStretchWidth * 2f / num2 * num3, 0.0f, 0.0f, 0.0f));
                         Graphics.Blit((Texture)temporary3, temporary4, this.separableBlurMaterial);
                         this.separableBlurMaterial.SetVector("offsets", new Vector4(this.hollyStretchWidth * 2f / num2 * num3, 0.0f, 0.0f, 0.0f));
                         Graphics.Blit((Texture)temporary4, temporary3, this.separableBlurMaterial);
                     }
                     this.AddTo(1f, temporary3, temporary2);
                 }
                 else
                 {
                     for (int index = 0; index < this.hollywoodFlareBlurIterations; ++index)
                     {
                         this.separableBlurMaterial.SetVector("offsets", new Vector4(this.hollyStretchWidth * 2f / num2 * num3, 0.0f, 0.0f, 0.0f));
                         Graphics.Blit((Texture)temporary3, temporary4, this.separableBlurMaterial);
                         this.separableBlurMaterial.SetVector("offsets", new Vector4(this.hollyStretchWidth * 2f / num2 * num3, 0.0f, 0.0f, 0.0f));
                         Graphics.Blit((Texture)temporary4, temporary3, this.separableBlurMaterial);
                     }
                     this.Vignette(1f, temporary3, temporary4);
                     this.BlendFlares(temporary4, temporary3);
                     this.AddTo(1f, temporary3, temporary2);
                 }
             }
         }
         this.screenBlend.SetFloat("_Intensity", this.bloomIntensity);
         this.screenBlend.SetTexture("_ColorBuffer", (Texture)source);
         Graphics.Blit((Texture)temporary2, destination, this.screenBlend, (int)bloomScreenBlendMode);
         RenderTexture.ReleaseTemporary(temporary2);
         RenderTexture.ReleaseTemporary(temporary3);
         RenderTexture.ReleaseTemporary(temporary4);
     }
 }
 void Start()
 {
     hiderCam = GameObject.FindGameObjectWithTag("HiderCam");
     BLF      = hiderCam.GetComponentInChildren <BloomAndLensFlares>();
 }
示例#8
0
    public static void CheckToggleSaturationCorrection()
    {
        GameObject obj2 = GameObject.FindWithTag("MainCamera");

        if (obj2 != null)
        {
            if (Input.GetKeyUp(KeyCode.F12))
            {
                isF12KeyDown = false;
            }
            if (!isF12KeyDown && Input.GetKeyDown(KeyCode.F12))
            {
                if (iniHelper == null)
                {
                    iniHelper = new IniHelper(Application.dataPath + "/Managed/new.ini");
                }

                TM_Enable    = (iniHelper.ReadValue("Graphics Enhance", "ToneMapping") == "1") ? true : false;
                SSAO_Enable  = (iniHelper.ReadValue("Graphics Enhance", "SSAO") == "1") ? true : false;
                CE_Enable    = (iniHelper.ReadValue("Graphics Enhance", "ContrastEnhance") == "1") ? true : false;
                CS_Enable    = (iniHelper.ReadValue("Graphics Enhance", "ContrastStretch") == "1") ? true : false;
                Bloom_Enable = (iniHelper.ReadValue("Graphics Enhance", "Bloom") == "1") ? true : false;

                Tonemapping           TM    = obj2.GetComponent <Tonemapping> ();
                SSAOEffect            SSAO  = obj2.GetComponent <SSAOEffect>();
                ContrastEnhance       CE    = obj2.GetComponent <ContrastEnhance> ();
                BloomAndLensFlares    bloom = obj2.GetComponent <BloomAndLensFlares> ();
                ContrastStretchEffect CS    = obj2.GetComponent <ContrastStretchEffect> ();

                QualitySettings.antiAliasing = 4;

                if (CS == null)
                {
                    CS              = obj2.AddComponent <ContrastStretchEffect> ();
                    CS.shaderAdapt  = Shader.Find("Hidden/Contrast Stretch Adaptation");
                    CS.shaderApply  = Shader.Find("Hidden/Contrast Stretch Apply");
                    CS.shaderLum    = Shader.Find("Hidden/Contrast Stretch Luminance");
                    CS.shaderReduce = Shader.Find("Hidden/Contrast Stretch Reduction");
                }

                if (bloom == null)
                {
                    bloom = obj2.AddComponent <BloomAndLensFlares> ();
                    bloom.addBrightStuffOneOneShader = Shader.Find("Hidden/BlendOneOne");
                    bloom.brightPassFilterShader     = Shader.Find("Hidden/BrightPassFilterForBloom");
                    bloom.hollywoodFlaresShader      = Shader.Find("Hidden/MultipassHollywoodFlares");
                    bloom.lensFlareShader            = Shader.Find("Hidden/LensFlareCreate");
                    bloom.screenBlendShader          = Shader.Find("Hidden/Blend");
                    bloom.separableBlurShader        = Shader.Find("Hidden/SeparableBlurPlus");
                    bloom.vignetteShader             = Shader.Find("Hidden/VignetteShader");
                }

                if (TM == null)
                {
                    TM            = obj2.AddComponent <Tonemapping> ();
                    TM.tonemapper = Shader.Find("Hidden/Tonemapper");
                    TM.type       = Tonemapping.TonemapperType.AdaptiveReinhardAutoWhite;
                }
                if (SSAO == null)
                {
                    SSAO = obj2.AddComponent <SSAOEffect>();
                    SSAO.m_SSAOShader        = Shader.Find("Hidden/SSAO");
                    obj2.camera.farClipPlane = 1000;
                }

                FightUIInterface.uiInterface.cheatWindow.Open();
                //Main.actorMgr.SwitchControlActor ();

                if (CE == null)
                {
                    CE = obj2.AddComponent <ContrastEnhance> ();
                    CE.contrastCompositeShader = Shader.Find("Hidden/ContrastComposite");
                    CE.separableBlurShader     = Shader.Find("Hidden/SeparableBlurPlus");
                }

                isF12KeyDown = true;
                if (!SaturationCorrectionFlag)
                {
                    FightUIInterface.ShowPromptText("画面增强打开", 1, 1f);
                    SaturationCorrectionFlag = true;

                    if (TM)
                    {
                        TM.enabled = TM_Enable;
                    }

                    if (SSAO)
                    {
                        SSAO.enabled              = SSAO_Enable;
                        SSAO.m_Radius             = 0.8f;
                        SSAO.m_SampleCount        = SSAOEffect.SSAOSamples.Medium;
                        SSAO.m_OcclusionIntensity = 2.4f;
                        SSAO.m_Downsampling       = 2;
                        SSAO.m_MinZ = 0.8f;
                    }
                    if (CE)
                    {
                        CE.enabled = CE_Enable;
                    }
                    if (bloom)
                    {
                        bloom.enabled = Bloom_Enable;
                    }

                    if (CS)
                    {
                        CS.enabled = CS_Enable;
                    }
                }
                else
                {
                    FightUIInterface.ShowPromptText("画面增强关闭", 1, 1f);
                    SaturationCorrectionFlag = false;
                    //component.enabled = false;
                    if (SSAO)
                    {
                        SSAO.enabled = false;
                    }
                    if (CE)
                    {
                        CE.enabled = false;
                    }
                    if (TM)
                    {
                        TM.enabled = false;
                    }
                    if (bloom)
                    {
                        bloom.enabled = false;
                    }
                    if (CS)
                    {
                        CS.enabled = false;
                    }
                }
                //FightUIInterface.ShowPromptText (SSAO_Enable ? "SSAO ON" : "SSAO OFF");
            }
        }

        //FightUIInterface.ShowPromptText (Application.unityVersion.ToString ());
    }
示例#9
0
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.F))
        {
            FpsHud.Instance.SplatterRandom();
        }

        if (!FpsHudScopeCamera.Instance.Toggled)
        {
            if (Input.GetKeyDown(KeyCode.Alpha1))
            {
                FpsHud.Instance.ReticuleStyle = FpsHud.ReticuleStyles.Crosshair;
            }

            if (Input.GetKeyDown(KeyCode.Alpha2))
            {
                FpsHud.Instance.ReticuleStyle = FpsHud.ReticuleStyles.Circle;
            }

            if (Input.GetKeyDown(KeyCode.Alpha3))
            {
                FpsHud.Instance.ReticuleStyle = FpsHud.ReticuleStyles.Dot;
            }
        }

        if (Input.GetKeyDown(KeyCode.Alpha4))
        {
            if (FpsHudScopeCamera.Instance.Toggled)
            {
                FpsHud.Instance.ActiveReticule.gameObject.SetActiveRecursively(true);
                FpsHudScopeCamera.Instance.Exit();
            }
            else
            {
                FpsHud.Instance.ActiveReticule.gameObject.SetActiveRecursively(false);
                FpsHudScopeCamera.Instance.Enter(20f);
            }
        }

        if (Input.GetKeyDown(KeyCode.T))
        {
            FpsHudPerspectiveCamera cam   = FindObjectOfType(typeof(FpsHudPerspectiveCamera)) as FpsHudPerspectiveCamera;
            BloomAndLensFlares      bloom = cam.GetComponent <BloomAndLensFlares>();
            bloom.enabled = !bloom.enabled;
        }

        if (Input.GetKeyDown(KeyCode.R))
        {
            if (FpsHud.Instance.TotalAmmo > 0)
            {
                int newAmmo = Mathf.Min(FpsHud.Instance.TotalAmmo, FpsHud.Instance.ClipAmmoMax);

                FpsHud.Instance.ClipAmmo   = newAmmo;
                FpsHud.Instance.TotalAmmo -= newAmmo;
            }
        }

        if (Input.GetKeyDown(KeyCode.Mouse0))
        {
            if (FpsHud.Instance.ClipAmmo > 0)
            {
                FpsHud.Instance.ClipAmmo -= 1;
            }
        }

        if (Input.GetKey(KeyCode.LeftAlt) && Input.GetKeyUp(KeyCode.Return))
        {
            if (!Screen.fullScreen)
            {
                Screen.SetResolution(Screen.currentResolution.width, Screen.currentResolution.height, true);
            }
            else
            {
                Screen.SetResolution(960, 600, false);
            }
        }

        FpsHud.Instance.ReticuleSpread += Input.GetAxis("Mouse ScrollWheel");
    }
        public void Setup(Camera source, Portal portal, Portal otherPortal, int[] remove, int[] add, PortalCameraControl par = null, float nearclipoffset = 0f, bool ignoreFog = false)
        {
            if (par)
            {
                hasParent    = true;
                parentCamera = par;
            }
            setUp               = true;
            this.source         = source;
            this.portal         = portal;
            this.otherPortal    = otherPortal;
            this.nearClipOffset = nearclipoffset;

            if (portalDummy == null)
            {
                portalDummy        = new GameObject(portal.name + " Dummy").transform;
                portalDummy.parent = portal.transform;
            }
            if (otherDummy == null)
            {
                otherDummy        = new GameObject(otherPortal.name + " Dummy").transform;
                otherDummy.parent = otherPortal.transform;
            }

            camera = gameObject.AddComponent <Camera>();
            camera.CopyFrom(Camera.main);
            int i;

            for (i = 0; i < remove.Length; i++)
            {
                camera.cullingMask = VidyaMod.RemoveFromLayerMask(camera.cullingMask, remove[i]);
                //camera.cullingMask = camera.cullingMask & ~(1 << remove[i]);//remove layer
            }
            for (i = 0; i < add.Length; i++)
            {
                camera.cullingMask = VidyaMod.AddToLayerMask(camera.cullingMask, add[i]);
                //camera.cullingMask = camera.cullingMask | (1 << add[i]);//add
            }
            camera.depth = -2;

            sourceBloom = Camera.main.GetComponent <BloomAndLensFlares>();
            sourceSsao  = Camera.main.GetComponent <SSAOPro>();
            sourceAa    = Camera.main.GetComponent <AntialiasingAsPostEffect>();
            sourceFog   = Camera.main.GetComponent <ColorfulFog>();

            bloom = ModUtility.CopyComponent <BloomAndLensFlares>(sourceBloom, gameObject);
            ssao  = ModUtility.CopyComponent <SSAOPro>(sourceSsao, gameObject);
            aa    = ModUtility.CopyComponent <AntialiasingAsPostEffect>(sourceAa, gameObject);
            fog   = ModUtility.CopyComponent <ColorfulFog>(sourceFog, gameObject);

            bloom.enabled = false;
            ssao.enabled  = sourceSsao.enabled;
            aa.enabled    = sourceAa.enabled;
            fog.enabled   = sourceFog.enabled;

            layer   = add[0];
            ignored = ignoreFog;
            ProcessFog();

            UpdateFOV();
            ReferenceMaster.onFOVChanged += UpdateFOV;
        }