aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com/jogamp/math/Matrix4f.java
diff options
context:
space:
mode:
authorSven Göthel <[email protected]>2024-01-19 06:11:46 +0100
committerSven Göthel <[email protected]>2024-01-19 06:11:46 +0100
commit5cca51e32999a882e2a5f00cb45ecafc824ffd86 (patch)
tree0266df911dc3e39a68def66fc355d18c01c0433e /src/jogl/classes/com/jogamp/math/Matrix4f.java
parent1040bed4ecc6f4598ea459f1073a9240583fc3c3 (diff)
Frustum: Revise code and its Plane definition to support Cube->Frustum as well as to extract planes for float[] vec4-shader uniforms.
commit 1040bed4ecc6f4598ea459f1073a9240583fc3c3 added AABBox -> Cube -> Frustum mapping (incomplete) and requires Frustum.Plane.set(..) by normal and point-on-plane for distance. Frustum.isOutside(Cube) has been added, testing all its 8-points similar to AABBox. Further all 6 Frustum.Plane shall be extracted to Vec4f and float[], the latter to pass the whole float[4*6] as a vec4[6] uniform array to the shader. +++ Constructor, setter and getter have been adjusted accordingly. Most of the loops have been unrolled. +++ Method names to query Frustum, i.e. 'is*Outside(<Type>)' have been reduced to 'isOutside(<Type>)' where <Type> uniquely indenticates the purpose. Hence only 'isSphereOutside()' is left over.
Diffstat (limited to 'src/jogl/classes/com/jogamp/math/Matrix4f.java')
-rw-r--r--src/jogl/classes/com/jogamp/math/Matrix4f.java9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/jogl/classes/com/jogamp/math/Matrix4f.java b/src/jogl/classes/com/jogamp/math/Matrix4f.java
index beb7b666c..b82f92727 100644
--- a/src/jogl/classes/com/jogamp/math/Matrix4f.java
+++ b/src/jogl/classes/com/jogamp/math/Matrix4f.java
@@ -1334,13 +1334,11 @@ public class Matrix4f {
* using this premultiplied P*MV (column major order) matrix.
* <p>
* Frustum plane's normals will point to the inside of the viewing frustum,
- * as required by this class.
- * </p>
- * <p>
- * Usually called by {@link Frustum#updateFrustumPlanes(Matrix4f)}.
+ * as required by the {@link Frustum} class.
* </p>
+ * @see Frustum#updateFrustumPlanes(Matrix4f)
*/
- public void updateFrustumPlanes(final Frustum frustum) {
+ public Frustum updateFrustumPlanes(final Frustum frustum) {
// Left: a = m41 + m11, b = m42 + m12, c = m43 + m13, d = m44 + m14 - [1..4] column-major
// Left: a = m30 + m00, b = m31 + m01, c = m32 + m02, d = m33 + m03 - [0..3] column-major
{
@@ -1415,6 +1413,7 @@ public class Matrix4f {
p_n.scale(invLen);
p.d *= invLen;
}
+ return frustum;
}
/**