// 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(); }
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(); }
public Camera( Camera camera ) { // #CONNECTION# Camera constructor // interpolationKfi_ = new KeyFrameInterpolator; // Requires the interpolationKfi_ Frame = new ManipulatedCameraFrame(); viewMatrix = Matrix4f.Identity; projectionMatrix = Matrix4f.Zero; Set( camera ); }