/// <summary> /// Object is displayed through computing frustun corners in order to find where the camera /// is and not display the effect on any other part except of the 4 corners of the camera. /// It is set to show as a circle right. /// This OnRenderImage requires us to create our own Graph.Blits in order for it to work /// </summary> #region ImageEffectFx private void OnRenderImage(RenderTexture source, RenderTexture destination) { if (_material == null) { shader = Shader.Find("Kwaku/NightVisionWGlitch"); _material = new Material(shader); _material.hideFlags = HideFlags.DontSave; } if (_mode == GlitchMode.GlitchOn) { _material.SetFloat("_GlitchInterval", _GlitchInterval); _material.SetFloat("_DispIntensity", _DispIntensity); _material.SetFloat("_DispProbability", _DispProbability); _material.SetFloat("_ColorIntensity", _ColorIntensity); _material.SetFloat("_ColorProbability", _GlitchInterval); } else { _material.SetColor("_MidColor", midColor); _material.SetColor("_TrailColor", trailColor); _material.SetFloat("_MidIntensity", _MidColorIntensity); _material.SetFloat("_TrailIntensity", _TrailColorIntensity); } _material.SetColor("_TrailColor", trailColor); _material.SetFloat("_MidIntensity", _MidColorIntensity); _material.SetFloat("_TrailIntensity", _TrailColorIntensity); _material.SetVector("_WorldSpaceScannerPos", playerPos.position); if (_scanDistance < _ScanningDistanceMax) { _material.SetFloat("_ScanDistance", _scanDistance); } else { _scanDistance = 0; } _material.SetFloat("_ScanWidth", _ScanWidth); RaycastGraphBlits.RaycastCornerBlit(source, destination, _material); }
void OnRenderImage(RenderTexture source, RenderTexture destination) { if (_material == null) { shader = Shader.Find("Kwaku/SimulationFX"); _material = new Material(shader); _material.hideFlags = HideFlags.DontSave; } _material.SetColor("_MidColor", midColor); //Where to start the scan in the world _material.SetVector("_WorldSpaceScannerPos", _ScannerOrigin.position); _material.SetFloat("_ScanDistance", _scanDistance); _material.SetFloat("_Distance", _scanDistance); _material.SetFloat("_ScanWidth", _ScanWidth); _material.SetFloat("_Intensity", _intensity); RaycastGraphBlits.RaycastCornerBlit(source, destination, _material); }