Beispiel #1
0
        protected override void OnLoad()
        {
            //var unptr = Assimp.Unmanaged.AssimpLibrary.Instance.ImportFile(JointPath, Assimp.PostProcessSteps.None, Assimp.Unmanaged.AssimpLibrary.Instance.CreatePropertyStore());
            //var manptr = Assimp.Scene.FromUnmanagedScene(unptr);
            //var ptr = Assimp.Unmanaged.AssimpLibrary.Instance.ApplyPostProcessing(unptr, Assimp.PostProcessSteps.Triangulate);
            //manptr = Assimp.Scene.FromUnmanagedScene(ptr);

            _dummyColliders = new Collider[100];
            _dummyTasks     = new Thread[100];

            //for (int i = 0; i < 2; i++)
            //{
            //    int index = i;
            //    _dummyColliders[index] = PhysicsHandler.CreateKinematicCollider(new BoxShape(0.5f));
            //    _dummyTasks[index] = new Thread(() =>
            //    {
            //        while (true)
            //        {
            //            var mat = Matrix.Identity;
            //            _dummyColliders[index].Body.WorldTransform = mat;
            //            _dummyColliders[index].Body.MotionState.SetWorldTransform(ref mat);
            //        }
            //    });
            //    _dummyTasks[index].Start();
            //}

            ManipulatorHandler.LoadDefaultModels();

            ShaderHandler.InitializeShaders();

            // attach ImGUI to this window
            _imGui = new MainWindowImGui(this);  // TODO: make static?

            // Camera is 6 units back and has the proper aspect ratio
            _camera = new Camera((float)(0.75 * Size.X / Size.Y), new Vector3(-5, 3, 5), -15, -45);

            InputHandler.TranslationalWidget = new TranslationalWidget(Vector3.Zero, new (Vector3, Vector4)[3]