Ejemplo n.º 1
0
        protected virtual void setupCamera()
        {
            var camera = new SSCameraThirdPerson(null);

            camera.followDistance = 50.0f;
            scene.ActiveCamera    = camera;
            scene.AddObject(camera);
        }
        protected virtual void setupCamera()
        {
            var camera = new SSCameraThirdPerson(null);

            camera.followDistance    = 50.0f;
            camera.Name              = "camera";
            main3dScene.ActiveCamera = camera;
        }
Ejemplo n.º 3
0
        protected override void setupCamera()
        {
            var camera = new SSCameraThirdPerson(droneObj2);

            //var camera = new SSCameraThirdPerson (droneObj1);
            camera.Pos            = Vector3.Zero;
            camera.followDistance = 80.0f;

            main3dScene.ActiveCamera = camera;
        }
Ejemplo n.º 4
0
        protected override void setupCamera()
        {
            var camera = new SSCameraThirdPerson(null);

            camera.Name                      = "camera";
            camera.basePos                   = new Vector3(100f, 0f, 30f);
            camera.Pos                       = new Vector3(170f, 20f, 245f);
            camera.followDistance            = 225f;
            camera.localBoundingSphereRadius = 0.1f;

            main3dScene.ActiveCamera = camera;
        }
        protected override void setupCamera()
        {
            var camera = new SSCameraThirdPerson(null);

            camera.basePos        = new Vector3(0f, 10f, 0f);
            camera.followDistance = 50.0f;
            scene.ActiveCamera    = camera;
            scene.AddObject(camera);

            tracker0.targetObject = scene.ActiveCamera;
            tracker4.targetObject = scene.ActiveCamera;
        }
Ejemplo n.º 6
0
        public void setupInput()
        {
            // hook mouse drag input...
            this.MouseDown += (object sender, MouseButtonEventArgs e) => {
                this.mouseButtonDown = true;

                // cast ray for mouse click
                var     clientRect = new System.Drawing.Size(ClientRectangle.Width, ClientRectangle.Height);
                Vector2 mouseLoc   = new Vector2(e.X, e.Y);

                SSRay ray = OpenTKHelper.MouseToWorldRay(
                    this.scene.ProjectionMatrix, this.scene.InvCameraViewMatrix, clientRect, mouseLoc);

                // Console.WriteLine("mouse ({0},{1}) unproject to ray ({2})",e.X,e.Y,ray);
                // scene.addObject(new SSObjectRay(ray));

                selectedObject = scene.Intersect(ref ray);
            };
            this.MouseUp += (object sender, MouseButtonEventArgs e) => {
                this.mouseButtonDown = false;
            };
            this.MouseMove += (object sender, MouseMoveEventArgs e) => {
                if (this.mouseButtonDown)
                {
                    // Console.WriteLine("mouse dragged: {0},{1}",e.XDelta,e.YDelta);
                    this.scene.ActiveCamera.MouseDeltaOrient(e.XDelta, e.YDelta);
                    // this.activeModel.MouseDeltaOrient(e.XDelta,e.YDelta);
                }
            };
            this.MouseWheel += (object sender, MouseWheelEventArgs e) => {
                // Console.WriteLine("mousewheel {0} {1}",e.Delta,e.DeltaPrecise);
                SSCameraThirdPerson ctp = scene.ActiveCamera as SSCameraThirdPerson;
                if (ctp != null)
                {
                    ctp.followDistance += -e.DeltaPrecise;
                }
            };

            this.KeyPress += (object sender, KeyPressEventArgs e) => {
                switch (e.KeyChar)
                {
                case 'w':
                    scene.DrawWireFrameMode = SSRenderConfig.NextWireFrameMode(scene.DrawWireFrameMode);
                    updateWireframeDisplayText(scene.DrawWireFrameMode);

                    // if we need single-pass wireframes, set the GLSL uniform variable
                    shaderPgm.Activate();
                    shaderPgm.u_ShowWireframes = (scene.DrawWireFrameMode == WireframeMode.GLSL_SinglePass);
                    break;
                }
            };
        }
        protected virtual void mouseWheelHandler(object sender, MouseWheelEventArgs e)
        {
            if (!base.Focused)
            {
                return;
            }

            // Console.WriteLine("mousewheel {0} {1}",e.Delta,e.DeltaPrecise);
            SSCameraThirdPerson ctp = scene.ActiveCamera as SSCameraThirdPerson;

            if (ctp != null)
            {
                ctp.followDistance += -e.DeltaPrecise;
            }
        }
Ejemplo n.º 8
0
        protected override void setupCamera()
        {
            var camera = new SSCameraThirdPerson(null);

            camera.basePos           = new Vector3(0f, 10f, 0f);
            camera.followDistance    = 50.0f;
            main3dScene.ActiveCamera = camera;

            if (tracker0 != null)
            {
                tracker0.targetObject = main3dScene.ActiveCamera;
            }
            if (tracker4 != null)
            {
                tracker4.targetObject = main3dScene.ActiveCamera;
            }
        }
Ejemplo n.º 9
0
        protected virtual void driveCamera(float deltaT)
        {
            // TODO this doesn't work well after turning upside down
            if (!base.Focused)
            {
                return;                            // no window focus = no action
            }
            SSCameraThirdPerson ctp = main3dScene.ActiveCamera as SSCameraThirdPerson;

            if (ctp == null)
            {
                return;
            }

            KeyboardState state = OpenTK.Input.Keyboard.GetState();
            float         cameraDisplacement = (ctp.followDistance + 5f) * deltaT * -0.33f;

            if (state.IsKeyDown(Key.W))
            {
                ctp.basePos += ctp.Dir * cameraDisplacement;
            }
            if (state.IsKeyDown(Key.S))
            {
                ctp.basePos -= ctp.Dir * cameraDisplacement;
            }

            if (state.IsKeyDown(Key.A))
            {
                ctp.basePos += ctp.Right * cameraDisplacement;
            }
            if (state.IsKeyDown(Key.D))
            {
                ctp.basePos -= ctp.Right * cameraDisplacement;
            }

            if (state.IsKeyDown(Key.Space))
            {
                ctp.basePos -= ctp.Up * cameraDisplacement;
            }
            if (state.IsKeyDown(Key.C) || state.IsKeyDown(Key.ControlLeft))
            {
                ctp.basePos += ctp.Up * cameraDisplacement;
            }
        }
Ejemplo n.º 10
0
        protected virtual void mouseWheelHandler(object sender, MouseWheelEventArgs e)
        {
            if (!base.Focused)
            {
                return;
            }

            // Console.WriteLine("mousewheel {0} {1}",e.Delta,e.DeltaPrecise);
            SSCameraThirdPerson ctp = main3dScene.ActiveCamera as SSCameraThirdPerson;

            if (ctp != null)
            {
                var amount  = -e.DeltaPrecise;
                var kbState = OpenTK.Input.Keyboard.GetState();
                if (kbState.IsKeyDown(OpenTK.Input.Key.ShiftLeft))
                {
                    amount *= 10f;
                }
                ctp.followDistance += amount;
            }
        }