public void RenderBloomTexture(RenderTexture source, RenderTexture dest)
        {
            RenderTexture curRenderTex = RenderTextureManager.Instance.RequestRenderTexture(source.width, source.height, source.depth, source.format);

            //Prepare by extracting blooming pixels
            Graphics.Blit(source, curRenderTex, Mat, 0);    //Is it ok to extract blooming pixels at 1/4 res??????

            //Downsample & blur
            for (int i = 1; i <= bloomSamples; i++)
            {
                float curSpread = Mathf.Lerp(1f, 2f, (float)(i - 1) / (float)(bloomSamples));

                                #if FXPRO_EFFECT
                RenderTextureManager.Instance.SafeAssign(ref curRenderTex, FxPro.DownsampleTex(curRenderTex, 2f));
                                #elif BLOOMPRO_EFFECT
                RenderTextureManager.Instance.SafeAssign(ref curRenderTex, BloomPro.DownsampleTex(curRenderTex, 2f));
                                #elif DOFPRO_EFFECT
                RenderTextureManager.Instance.SafeAssign(ref curRenderTex, DOFPro.DownsampleTex(curRenderTex, 2f));
                                #endif

                RenderTextureManager.Instance.SafeAssign(ref curRenderTex, BlurTex(curRenderTex, curSpread));

                //Set blurred bloom texture
                Mat.SetTexture("_DsTex" + i, curRenderTex);
            }

            //Bloom composite pass
            Graphics.Blit(null, dest, Mat, 1);

            RenderTextureManager.Instance.ReleaseRenderTexture(curRenderTex);
        }
    void Start()
    {
        _anim          = GetComponent <Animator>();
        _postProcLayer = _cam.GetComponent <FxPro>();

        _cam.cullingMask      &= ~_mirageLayer;
        _postProcLayer.enabled = false;
        _mirageUI.SetActive(false);

        fieldOfViewIni = Camera.main.fieldOfView;
    }
예제 #3
0
파일: Game.cs 프로젝트: Tobolov/Fuzzle
 public static void InitaliseGameSettings(FxPro PostProccessingEffects, GameSettings gameSettings)
 {
     //PostProccessingEffects.HalfResolution = gameSettings.HalfResolution;
     PostProccessingEffects.Quality             = gameSettings.HalfResolution ? FxProNS.EffectsQuality.Fastest : FxProNS.EffectsQuality.Fast;
     PostProccessingEffects.BloomEnabled        = gameSettings.Bloom;
     PostProccessingEffects.ChromaticAberration = gameSettings.ChromaticAberration;
     if (!gameSettings.Bloom && !gameSettings.ChromaticAberration)
     {
         PostProccessingEffects.enabled = false;
     }
     else
     {
         PostProccessingEffects.enabled = true;
     }
     PostProccessingEffects.Init();
 }
예제 #4
0
    void Start()
    {
        fx = CameraManager.cm.analogGlitch.gameObject.GetComponent <FxPro>();

        if (PlayerPrefs.HasKey("Quality"))
        {
            FpsSlider.value = PlayerPrefs.GetFloat("FPS");
            ChangeFPS(FpsSlider.value);

            quality = PlayerPrefs.GetInt("Quality");
            ChangeSetting(quality);
        }
        else
        {
            ChangeFPS(FpsSlider.value);
            ChangeSetting(quality);
        }

        VLow.onValueChanged.AddListener((v) => { if (!v)
                                                 {
                                                     return;
                                                 }
                                                 quality = 0; ChangeSetting(quality); });
        Low.onValueChanged.AddListener((v) => { if (!v)
                                                {
                                                    return;
                                                }
                                                quality = 1; ChangeSetting(quality); });
        Med.onValueChanged.AddListener((v) => { if (!v)
                                                {
                                                    return;
                                                }
                                                quality = 2; ChangeSetting(quality); });
        High.onValueChanged.AddListener((v) => { if (!v)
                                                 {
                                                     return;
                                                 }
                                                 quality = 3; ChangeSetting(quality); });
        FpsSlider.onValueChanged.AddListener(ChangeFPS);
    }
예제 #5
0
    //=====================================================

    void Awake()
    {
        _fxPro         = transform.GetComponent <FxPro>();
        _previousState = _currentState = eWildMagicState.NULL;
    }