public void Unregister() { Registration.RegistrationCount--; if (Registration.RegistrationCount <= 0) { Registration.RegistrationCount = 0; FXRenderTextureManager.Unregister(this); } }
public static void Update() { var size = GetRenderSize(); if (lastScreenWidth != size.x || lastScreenHeight != size.y) { lastScreenWidth = size.x; lastScreenHeight = size.y; FXRenderTextureManager.SetDirty(); } FXRenderTextureManager.PackTextures(); }
public void Register() { Registration.RegistrationCount++; if (Registration.RegistrationCount == 1) { FXRenderTextureManager.Register(this); } #if UNITY_EDITOR System.Type T = System.Type.GetType("UnityEditor.GameView,UnityEditor"); System.Reflection.MethodInfo repaintAll = T.GetMethod("RepaintAll", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); repaintAll.Invoke(null, null); #endif }
void OnPostRender() { if (!enabled) { return; } if (!dummyTexture) { dummyTexture = new Texture2D(1, 1); dummyTexture.hideFlags = HideFlags.HideAndDontSave; } EnsureRenderTexture(); FXRenderTextureManager.Update(); CaptureScreen(); }
public Vector2 CalculateSize(Vector2 chartSize) { var size = chartSize; if (SizeMode == FXRenderTexture.FXRenderTextureSizeMode.Factor) { size *= SizeFactor; } else if (SizeMode == FXRenderTexture.FXRenderTextureSizeMode.MaxSize) { size = Vector2.Min(size, MaximumSize); } else { size = FXRenderTextureManager.GetRenderSize(); } size = Vector2.Max(Vector2.one, size); return(new Vector2((int)size.x, (int)size.y)); }
public void OnPreRender() { if (!enabled) { return; } if (renderCamera == null) { CreateRenderObjects(); } FXRenderTextureManager.Update(); var fxTextures = this.gameObject.GetComponents <FXTexture>().Where(f => f.enabled && f.RenderTexture).ToArray(); if (fxTextures.Length == 0) { return; } RenderToTextures(fxTextures); }