diff options
author | Sven Gothel <[email protected]> | 2023-09-02 20:24:23 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2023-09-02 20:24:23 +0200 |
commit | 71576e94af890e2a4a98225ed258445ba7db0f26 (patch) | |
tree | 2e07d6a18f7394d394459a98414ad8c16984d0ed /src/jogl/classes | |
parent | f6dd8e9562d7e0bbf681c268f40ff4c819057915 (diff) |
PMVMatrix.gluPerspective(): Redfine angle in radians instead of degrees ** API Change **
Since this is an extra implementation of PMVMatrix and not of GLMatrixFunc, we shall use the default ISO dimension avoiding conversion.
This alsi redefined Graph's RegionRenderer.reshapePerspective() angle definition from degrees to radians
Diffstat (limited to 'src/jogl/classes')
-rw-r--r-- | src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java | 18 | ||||
-rw-r--r-- | src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java | 6 |
2 files changed, 18 insertions, 6 deletions
diff --git a/src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java b/src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java index 8b3fb3a82..0c939d015 100644 --- a/src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java +++ b/src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java @@ -362,17 +362,29 @@ public final class RegionRenderer { viewport.set(x, y, width, height); } - public final void reshapePerspective(final float angle, final int width, final int height, final float near, final float far) { + /** + * Perspective projection, method also calls {@link #reshapeNotify(int, int, int, int)}. + * @param angle_rad perspective angle in radians + * @param width viewport width + * @param height viewport height + * @param near projection z-near + * @param far projection z-far + */ + public final void reshapePerspective(final float angle_rad, final int width, final int height, final float near, final float far) { reshapeNotify(0, 0, width, height); final float ratio = (float)width/(float)height; final PMVMatrix p = getMatrix(); p.glMatrixMode(GLMatrixFunc.GL_PROJECTION); p.glLoadIdentity(); - p.gluPerspective(angle, ratio, near, far); + p.gluPerspective(angle_rad, ratio, near, far); } /** - * Perspective orthogonal, method calls {@link #reshapeNotify(int, int, int, int)}. + * Orthogonal projection, method also calls {@link #reshapeNotify(int, int, int, int)}. + * @param width viewport width + * @param height viewport height + * @param near projection z-near + * @param far projection z-far */ public final void reshapeOrtho(final int width, final int height, final float near, final float far) { reshapeNotify(0, 0, width, height); diff --git a/src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java b/src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java index b8b2925ae..ebb164912 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java +++ b/src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java @@ -1038,15 +1038,15 @@ public final class PMVMatrix implements GLMatrixFunc { /** * {@link #glMultMatrixf(FloatBuffer) Multiply} the {@link #glGetMatrixMode() current matrix} with the perspective/frustum matrix. * - * @param fovy_deg fov angle in degrees + * @param fovy_rad fov angle in radians * @param aspect aspect ratio width / height * @param zNear * @param zFar * @throws GLException if {@code zNear <= 0} or {@code zFar <= zNear} * @see Matrix4f#setToPerspective(float, float, float, float) */ - public final void gluPerspective(final float fovy_deg, final float aspect, final float zNear, final float zFar) throws GLException { - glMultMatrixf( mat4Tmp1.setToPerspective(FloatUtil.adegToRad(fovy_deg), aspect, zNear, zFar) ); + public final void gluPerspective(final float fovy_rad, final float aspect, final float zNear, final float zFar) throws GLException { + glMultMatrixf( mat4Tmp1.setToPerspective(fovy_rad, aspect, zNear, zFar) ); } /** |