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; }
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(); }
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); }
//===================================================== void Awake() { _fxPro = transform.GetComponent <FxPro>(); _previousState = _currentState = eWildMagicState.NULL; }