@Override public VectorReadable3FType cameraGetForward() { this.deriveVectors(); return this.derived_forward; }
@Override public VectorReadable3FType cameraGetUp() { this.deriveVectors(); return this.derived_up; }
@Override public VectorReadable3FType cameraGetRight() { this.deriveVectors(); return this.derived_right; }
@Override public Vector3D cameraGetForward() { this.deriveVectors(); return this.derived_forward; }
@Override public Vector3D cameraGetRight() { this.deriveVectors(); return this.derived_right; }
@Override public Vector3D cameraGetUp() { this.deriveVectors(); return this.derived_up; }
@Override public void cameraMoveForward( final double u) { this.deriveVectors(); this.input_position = Vectors3D.add( this.input_position, Vectors3D.scale(this.derived_forward, u)); }
@Override public void cameraMoveForward( final float u) { this.deriveVectors(); VectorM3F.scale(this.derived_forward, (double) u, this.temporary); VectorM3F.addInPlace(this.input_position, this.temporary); }
@Override public void cameraMoveUp( final double u) { this.deriveVectors(); this.input_position = Vectors3D.add( this.input_position, Vectors3D.scale(this.derived_up, u)); }
@Override public void cameraMoveUp( final float u) { this.deriveVectors(); VectorM3F.scale(this.derived_up, (double) u, this.temporary); VectorM3F.addInPlace(this.input_position, this.temporary); }
@Override public void cameraMoveRight( final float u) { this.deriveVectors(); VectorM3F.scale(this.derived_right, (double) u, this.temporary); VectorM3F.addInPlace(this.input_position, this.temporary); }
@Override public void cameraMoveRight( final double u) { this.deriveVectors(); this.input_position = Vectors3D.add( this.input_position, Vectors3D.scale(this.derived_right, u)); }
@Override public Matrix4x4D cameraMakeViewMatrix() { this.deriveVectors(); return JCameraViewMatrix.makeViewMatrix( this.cameraGetPosition(), this.cameraGetRight(), this.cameraGetUp(), this.cameraGetForward()); }
@Override public <T0, T1> PMatrix4x4D<T0, T1> cameraMakeViewPMatrix() { this.deriveVectors(); return JCameraViewMatrix.makeViewPMatrix( this.cameraGetPosition(), this.cameraGetRight(), this.cameraGetUp(), this.cameraGetForward()); }
@Override public void cameraMakeViewMatrix( final JCameraContext ctx, final Matrix4x4FType m) { this.deriveVectors(); JCameraViewMatrix.makeViewMatrix( ctx, m, this.cameraGetPosition(), this.cameraGetRight(), this.cameraGetUp(), this.cameraGetForward()); }
@Override public <T0, T1> void cameraMakeViewPMatrix( final JCameraContext ctx, final PMatrix4x4FType<T0, T1> m) { this.deriveVectors(); JCameraViewMatrix.makeViewPMatrix( ctx, m, this.cameraGetPosition(), this.cameraGetRight(), this.cameraGetUp(), this.cameraGetForward()); }
@Override public JCameraFPSStyleSnapshot cameraMakeSnapshot() { this.deriveVectors(); return new JCameraFPSStyleSnapshot( new VectorI3F(this.derived_forward), new VectorI3F(this.derived_right), new VectorI3F(this.derived_up), this.input_angle_around_horizontal, this.input_angle_around_vertical, new VectorI3F(this.input_position)); }