Exemple #1
0
    //! Feedback line buffer for OpenGL feedback, used by mvgraphics.cpp

    /*
     * class FeedbackLineBufferItem
     * {
     *  public double type;
     *  public Vector2[] vertices = new Vector2[2];
     * }
     */

    public Vector3 GetMouseVector(Vector3 OurPos, Rot OurRot, int mousex, int mousey)
    {
        IRenderer renderer = RendererFactory.GetInstance();

        Vector3 MouseVectorObserverAxes = new Vector3(
            -renderer.InnerWindowWidth / 2 + mousex,
            -renderer.ScreenDistanceScreenCoords,
            renderer.InnerWindowHeight / 2 - mousey);

        //Console.WriteLine("MouseVectorObserverAxes: " + MouseVectorObserverAxes);
        MouseVectorObserverAxes.Normalize();
        //Console.WriteLine("MouseVectorObserverAxes (normalized): " + MouseVectorObserverAxes);
        Vector3 MouseVectorWorldAxes = MouseVectorObserverAxes * OurRot.Inverse();

        //Console.WriteLine("MouseVectorWorldAxes: " + MouseVectorWorldAxes.ToString());
        MouseVectorWorldAxes.Normalize();
        return(MouseVectorWorldAxes);
    }
    //! Feedback line buffer for OpenGL feedback, used by mvgraphics.cpp
    /*
        class FeedbackLineBufferItem
        {
            public double type;
            public Vector2[] vertices = new Vector2[2];
        }
        */
    public Vector3 GetMouseVector(Vector3 OurPos, Rot OurRot, int mousex, int mousey)
    {
        IRenderer renderer = RendererFactory.GetInstance();

            Vector3 MouseVectorObserverAxes = new Vector3(
                - renderer.InnerWindowWidth / 2 + mousex,
                - renderer.ScreenDistanceScreenCoords,
                renderer.InnerWindowHeight / 2 - mousey);
            //Console.WriteLine("MouseVectorObserverAxes: " + MouseVectorObserverAxes);
            MouseVectorObserverAxes.Normalize();
            //Console.WriteLine("MouseVectorObserverAxes (normalized): " + MouseVectorObserverAxes);
            Vector3 MouseVectorWorldAxes = MouseVectorObserverAxes * OurRot.Inverse();
            //Console.WriteLine("MouseVectorWorldAxes: " + MouseVectorWorldAxes.ToString());
            MouseVectorWorldAxes.Normalize();
            return MouseVectorWorldAxes;
    }