private void Awake() { stencilBlock = new MaterialPropertyBlock(); callback = window.gameObject.AddComponent <VisibilityCallback>(); callback.target = this; }
/// <summary> /// Sets the visibility callback for the current window. /// </summary> /// <param name="func"> /// The new visibility callback function. See <see cref="VisibilityCallback" />. /// </param> /// <remarks> /// <para> /// <b>glutVisibilityFunc</b> sets the visibility callback for the current window. /// The visibility callback for a window is called when the visibility of a /// window changes. The state callback parameter is either /// <see cref="GLUT_NOT_VISIBLE" /> or <see cref="GLUT_VISIBLE" /> depending on /// the current visibility of the window. <i>GLUT_VISIBLE</i> does not /// distinguish a window being totally versus partially visible. /// <i>GLUT_NOT_VISIBLE</i> means no part of the window is visible, i.e., until /// the window's visibility changes, all further rendering to the window is /// discarded. /// </para> /// <para> /// GLUT considers a window visible if any pixel of the window is visible or any /// pixel of any descendant window is visible on the screen. /// </para> /// <para> /// Passing <c>null</c> to <b>glutVisibilityFunc</b> disables the generation of /// the visibility callback. /// </para> /// <para> /// If the visibility callback for a window is disabled and later re-enabled, the /// visibility status of the window is undefined; any change in window visibility /// will be reported, that is if you disable a visibility callback and re-enable /// the callback, you are guaranteed the next visibility change will be reported. /// </para> /// </remarks> /// <seealso cref="VisibilityCallback" /> // GLUTAPI void APIENTRY glutVisibilityFunc(void (GLUTCALLBACK *func)(int state)); public static void glutVisibilityFunc([In] VisibilityCallback func) { visibilityCallback = func; __glutVisibilityFunc(visibilityCallback); }
private static extern void __glutVisibilityFunc(VisibilityCallback func);