示例#1
0
        // TODO: get rid of ComputeProjectionMatrix()

        public Camera( Vector3f position, Vector3f forward, Vector3f up,
            float fovYDegrees,
            int screenWidth, int screenHeight )
        {
            FieldOfView = Arithmetic.DegreesToRadians( fovYDegrees );

            // interpolationKeyFrames = new KeyFrameInterpolator
            Frame = new ManipulatedCameraFrame();
            
            SceneRadius = 1.0f;
            orthoCoeff = ( float ) ( Math.Tan( FieldOfView / 2.0 ) );
            SceneCenter = Vector3f.Zero;

            CameraType = CameraType.PERSPECTIVE;

            ZNearCoefficient = 0.005f;
            ZClippingCoefficient = ( float ) ( Math.Sqrt( 3.0 ) );

            // dummy values
            screenSize = new Vector2i( screenWidth, screenHeight );

            Position = position;
            UpVector = up;
            ViewDirection = forward;

            ComputeViewMatrix();
            ComputeProjectionMatrix();
        }
示例#2
0
        public Camera()            
        {
            FieldOfView = ( float ) ( Math.PI / 4.0 );

            // interpolationKeyFrames = new KeyFrameInterpolator
            Frame = new ManipulatedCameraFrame();

            SceneRadius = 1.0f;
            orthoCoeff = ( float ) ( Math.Tan( FieldOfView / 2.0 ) );
            SceneCenter = Vector3f.Zero;

            CameraType = CameraType.PERSPECTIVE;

            ZNearCoefficient = 0.005f;
            ZClippingCoefficient = ( float ) ( Math.Sqrt( 3.0 ) );

            // dummy values
            screenSize = new Vector2i( 400, 400 );

            viewMatrix = Matrix4f.Identity;
            projectionMatrix = Matrix4f.Zero;

            ComputeProjectionMatrix();
        }
示例#3
0
        public Camera( Camera camera )
        {
            // #CONNECTION# Camera constructor
            // interpolationKfi_ = new KeyFrameInterpolator;
            
            // Requires the interpolationKfi_
            Frame = new ManipulatedCameraFrame();

            viewMatrix = Matrix4f.Identity;
            projectionMatrix = Matrix4f.Zero;

            Set( camera );
        }