예제 #1
0
 protected override void OnCreate()
 {
     try
     {
         initialized = GLFWNativeCalls.init();
     }
     catch (Exception)
     {
         Debug.LogWarning("GLFW support unable to initialize; likely missing lib_unity_tiny_glfw.dll");
     }
 }
예제 #2
0
        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();
        }
예제 #3
0
        protected override void OnStartRunning()
        {
            base.OnStartRunning();
            if (initialized)
            {
                return;
            }

            // must init after window
            unsafe
            {
                GLFWNativeCalls.init(GLFWNativeCalls.getWindow());
            }
            initialized = true;
        }