public void Init(PerformanceInfo.eREFLECTION_QUALITY quality, int reflectedLayerMask) { Setup(); m_layerMask = reflectedLayerMask | (1 << LayerMask.NameToLayer(PlanarReflectionOnlyLayer)); if (quality == Quality) { EB.Debug.Log("PlanarReflectionManager: No quality change {0}", Quality); return; } if (Quality != PerformanceInfo.eREFLECTION_QUALITY.Off) { //De-init if we weren't previously "off" EB.Debug.Log("PlanarReflectionManager: DeInit {0}", Quality); DeInit(); } if ((quality != PerformanceInfo.eREFLECTION_QUALITY.Off) && (reflectedLayerMask != 0)) { //init if we aren't off and have something to reflect EB.Debug.Log("PlanarReflectionManager: Init {0}", quality); InitQuality(quality); Quality = quality; } else { EB.Debug.Log("PlanarReflectionManager: Off"); Quality = PerformanceInfo.eREFLECTION_QUALITY.Off; } }
private void InitQuality(PerformanceInfo.eREFLECTION_QUALITY quality) { m_renderTexture = new RenderTexture(m_ReflectionWidth[(int)quality], m_ReflectionHeight[(int)quality], 24); m_renderTexture.isPowerOfTwo = true; m_renderTexture.hideFlags = HideFlags.HideAndDontSave; m_renderTexture.name = "PlanarReflectionTexture"; m_renderTexture.Create(); m_ReflectionCamera.targetTexture = m_renderTexture; m_blurTexture1 = new RenderTexture(m_blurWidth[(int)quality], m_blurHeight[(int)quality], 0); m_blurTexture1.hideFlags = HideFlags.HideAndDontSave; m_blurTexture1.Create(); m_blurTexture2 = new RenderTexture(m_blurWidth2[(int)quality], m_blurHeight2[(int)quality], 0); m_blurTexture2.hideFlags = HideFlags.HideAndDontSave; m_blurTexture2.Create(); }