protected override void OnCreate() { try { initialized = GLFWNativeCalls.init(); } catch (Exception) { Debug.LogWarning("GLFW support unable to initialize; likely missing lib_unity_tiny_glfw.dll"); } }
protected override void OnStartRunning() { base.OnStartRunning(); if (initialized) { return; } // setup window Debug.Log("GLFW Window init."); var env = World.TinyEnvironment(); var config = env.GetConfigData <DisplayInfo>(); try { initialized = GLFWNativeCalls.init(config.width, config.height); } catch { Debug.Log(" Excepted (Is lib_unity_tiny_glfw.dll missing?)."); initialized = false; } if (!initialized) { Debug.Log(" Failed."); World.QuitUpdate = true; } int winw = 0, winh = 0; GLFWNativeCalls.getWindowSize(ref winw, ref winh); config.focused = true; config.visible = true; config.orientation = winw >= winh ? DisplayOrientation.Horizontal : DisplayOrientation.Vertical; config.frameWidth = winw; config.frameHeight = winh; int sw = 0, sh = 0; GLFWNativeCalls.getScreenSize(ref sw, ref sh); config.screenWidth = sw; config.screenHeight = sh; config.width = winw; config.height = winh; int fbw = 0, fbh = 0; GLFWNativeCalls.getFramebufferSize(ref fbw, ref fbh); config.framebufferWidth = fbw; config.framebufferHeight = fbh; env.SetConfigData(config); frameTime = GLFWNativeCalls.time(); }
protected override void OnStartRunning() { base.OnStartRunning(); if (initialized) { return; } // must init after window unsafe { GLFWNativeCalls.init(GLFWNativeCalls.getWindow()); } initialized = true; }