public static bool ActivateGlContext() { if (OpenGL.wglGetCurrentContext() != IntPtr.Zero) { return(true); } if (IntPtr.Zero == _hglrc) { return(false); } RhinoView view = RhinoView.FromRuntimeSerialNumber(_viewSerialNumber); if (null == view) { _hglrc = IntPtr.Zero; _viewSerialNumber = 0; return(false); } var hwnd = view.Handle; var hdc = OpenGL.GetDC(hwnd); OpenGL.wglMakeCurrent(hdc, _hglrc); return(true); }
public static bool ActivateGlContext() { if (!OpenGL.IsAvailable) { return(false); } // just assume GL context is active for now if (Rhino.Runtime.HostUtils.RunningOnOSX) { return(true); } if (OpenGL.wglGetCurrentContext() != IntPtr.Zero) { return(true); } if (IntPtr.Zero == _hglrc) { return(false); } RhinoView view = RhinoView.FromRuntimeSerialNumber(_viewSerialNumber); if (null == view) { _hglrc = IntPtr.Zero; _viewSerialNumber = 0; return(false); } var hwnd = view.Handle; var hdc = OpenGL.GetDC(hwnd); OpenGL.wglMakeCurrent(hdc, _hglrc); return(true); }