aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/jogamp/graph/curve/opengl
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2023-04-18 05:15:16 +0200
committerSven Gothel <[email protected]>2023-04-18 05:15:16 +0200
commitc65c750e032118f229050ff8e834961264ed0591 (patch)
tree8500286ca6086eb21a9b275ccd586185090b1500 /src/jogl/classes/jogamp/graph/curve/opengl
parentcd845589eea6c7773007e013bd5f2f37242cbe1a (diff)
Graph + GraphUI: Consolidate Vertex: Drop SVertex and factory, use Vec[234]f instead of float[] and remove unused VectorUtil methods
After Matrix4f consolidation and proving same or better performance on non array types, this enhances code readability, simplifies API, reduces bugs and may improve performance. GraphUI: - Have RoundButton as a functional class to make a round or rectangular backdrop, i.e. impl. addShapeToRegion() via reused addRoundShapeToRegion()
Diffstat (limited to 'src/jogl/classes/jogamp/graph/curve/opengl')
-rw-r--r--src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java28
-rw-r--r--src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java28
-rw-r--r--src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java28
3 files changed, 45 insertions, 39 deletions
diff --git a/src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java b/src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java
index d970b7029..c6c7f567c 100644
--- a/src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java
+++ b/src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java
@@ -48,6 +48,8 @@ import com.jogamp.opengl.FBObject;
import com.jogamp.opengl.FBObject.Attachment;
import com.jogamp.opengl.math.Matrix4f;
import com.jogamp.opengl.math.Recti;
+import com.jogamp.opengl.math.Vec3f;
+import com.jogamp.opengl.math.Vec4f;
import com.jogamp.opengl.math.geom.AABBox;
import com.jogamp.opengl.util.GLArrayDataServer;
import com.jogamp.opengl.util.SyncMatrices4f16;
@@ -221,12 +223,12 @@ public final class VBORegion2PMSAAES2 extends GLRegion {
}
@Override
- protected final void pushVertex(final float[] coords, final float[] texParams, final float[] rgba) {
- put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords[0], coords[1], coords[2]);
- put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams[0], texParams[1], texParams[2]);
+ protected final void pushVertex(final Vec3f coords, final Vec3f texParams, final Vec4f rgba) {
+ put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords);
+ put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams);
if( null != gca_ColorsAttr ) {
if( null != rgba ) {
- put4f((FloatBuffer)gca_ColorsAttr.getBuffer(), rgba[0], rgba[1], rgba[2], rgba[3]);
+ put4f((FloatBuffer)gca_ColorsAttr.getBuffer(), rgba);
} else {
throw new IllegalArgumentException("Null color given for COLOR_CHANNEL rendering mode");
}
@@ -234,17 +236,17 @@ public final class VBORegion2PMSAAES2 extends GLRegion {
}
@Override
- protected final void pushVertices(final float[] coords1, final float[] coords2, final float[] coords3,
- final float[] texParams1, final float[] texParams2, final float[] texParams3, final float[] rgba) {
- put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords1[0], coords1[1], coords1[2]);
- put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords2[0], coords2[1], coords2[2]);
- put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords3[0], coords3[1], coords3[2]);
- put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams1[0], texParams1[1], texParams1[2]);
- put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams2[0], texParams2[1], texParams2[2]);
- put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams3[0], texParams3[1], texParams3[2]);
+ protected final void pushVertices(final Vec3f coords1, final Vec3f coords2, final Vec3f coords3,
+ final Vec3f texParams1, final Vec3f texParams2, final Vec3f texParams3, final Vec4f rgba) {
+ put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords1);
+ put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords2);
+ put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords3);
+ put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams1);
+ put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams2);
+ put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams3);
if( null != gca_ColorsAttr ) {
if( null != rgba ) {
- final float r=rgba[0], g=rgba[1], b=rgba[2], a=rgba[3];
+ final float r=rgba.x(), g=rgba.y(), b=rgba.z(), a=rgba.w();
put4f((FloatBuffer)gca_ColorsAttr.getBuffer(), r, g, b, a);
put4f((FloatBuffer)gca_ColorsAttr.getBuffer(), r, g, b, a);
put4f((FloatBuffer)gca_ColorsAttr.getBuffer(), r, g, b, a);
diff --git a/src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java b/src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java
index 889f4448d..1b580437f 100644
--- a/src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java
+++ b/src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java
@@ -51,6 +51,8 @@ import com.jogamp.opengl.FBObject.Attachment;
import com.jogamp.opengl.FBObject.TextureAttachment;
import com.jogamp.opengl.math.Matrix4f;
import com.jogamp.opengl.math.Recti;
+import com.jogamp.opengl.math.Vec3f;
+import com.jogamp.opengl.math.Vec4f;
import com.jogamp.opengl.math.geom.AABBox;
import com.jogamp.opengl.util.GLArrayDataServer;
import com.jogamp.opengl.util.SyncMatrices4f16;
@@ -322,19 +324,19 @@ public final class VBORegion2PVBAAES2 extends GLRegion {
}
@Override
- protected final void pushVertex(final float[] coords, final float[] texParams, final float[] rgba) {
+ protected final void pushVertex(final Vec3f coords, final Vec3f texParams, final Vec4f rgba) {
// NIO array[3] is much slows than group/single
// gca_VerticesAttr.putf(coords, 0, 3);
// gca_CurveParamsAttr.putf(texParams, 0, 3);
// gca_VerticesAttr.put3f(coords[0], coords[1], coords[2]);
- put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords[0], coords[1], coords[2]);
+ put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords);
// gca_CurveParamsAttr.put3f(texParams[0], texParams[1], texParams[2]);
- put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams[0], texParams[1], texParams[2]);
+ put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams);
if( null != gca_ColorsAttr ) {
if( null != rgba ) {
// gca_ColorsAttr.putf(rgba, 0, 4);
// gca_ColorsAttr.put4f(rgba[0], rgba[1], rgba[2], rgba[3]);
- put4f((FloatBuffer)gca_ColorsAttr.getBuffer(), rgba[0], rgba[1], rgba[2], rgba[3]);
+ put4f((FloatBuffer)gca_ColorsAttr.getBuffer(), rgba);
} else {
throw new IllegalArgumentException("Null color given for COLOR_CHANNEL rendering mode");
}
@@ -342,23 +344,23 @@ public final class VBORegion2PVBAAES2 extends GLRegion {
}
@Override
- protected final void pushVertices(final float[] coords1, final float[] coords2, final float[] coords3,
- final float[] texParams1, final float[] texParams2, final float[] texParams3, final float[] rgba) {
+ protected final void pushVertices(final Vec3f coords1, final Vec3f coords2, final Vec3f coords3,
+ final Vec3f texParams1, final Vec3f texParams2, final Vec3f texParams3, final Vec4f rgba) {
// gca_VerticesAttr.put3f(coords1[0], coords1[1], coords1[2]);
// gca_VerticesAttr.put3f(coords2[0], coords2[1], coords2[2]);
// gca_VerticesAttr.put3f(coords3[0], coords3[1], coords3[2]);
- put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords1[0], coords1[1], coords1[2]);
- put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords2[0], coords2[1], coords2[2]);
- put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords3[0], coords3[1], coords3[2]);
+ put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords1);
+ put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords2);
+ put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords3);
// gca_CurveParamsAttr.put3f(texParams1[0], texParams1[1], texParams1[2]);
// gca_CurveParamsAttr.put3f(texParams2[0], texParams2[1], texParams2[2]);
// gca_CurveParamsAttr.put3f(texParams3[0], texParams3[1], texParams3[2]);
- put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams1[0], texParams1[1], texParams1[2]);
- put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams2[0], texParams2[1], texParams2[2]);
- put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams3[0], texParams3[1], texParams3[2]);
+ put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams1);
+ put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams2);
+ put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams3);
if( null != gca_ColorsAttr ) {
if( null != rgba ) {
- final float r=rgba[0], g=rgba[1], b=rgba[2], a=rgba[3];
+ final float r=rgba.x(), g=rgba.y(), b=rgba.z(), a=rgba.w();
// gca_ColorsAttr.put4f(r, g, b, a);
// gca_ColorsAttr.put4f(r, g, b, a);
// gca_ColorsAttr.put4f(r, g, b, a);
diff --git a/src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java b/src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java
index 9e29821fa..e149203f9 100644
--- a/src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java
+++ b/src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java
@@ -36,6 +36,8 @@ import com.jogamp.opengl.GL;
import com.jogamp.opengl.GL2ES2;
import com.jogamp.opengl.GLProfile;
import com.jogamp.opengl.GLUniformData;
+import com.jogamp.opengl.math.Vec3f;
+import com.jogamp.opengl.math.Vec4f;
import jogamp.graph.curve.opengl.shader.AttributeNames;
import jogamp.graph.curve.opengl.shader.UniformNames;
@@ -172,12 +174,12 @@ public final class VBORegionSPES2 extends GLRegion {
}
@Override
- protected final void pushVertex(final float[] coords, final float[] texParams, final float[] rgba) {
- put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords[0], coords[1], coords[2]);
- put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams[0], texParams[1], texParams[2]);
+ protected final void pushVertex(final Vec3f coords, final Vec3f texParams, final Vec4f rgba) {
+ put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords);
+ put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams);
if( null != gca_ColorsAttr ) {
if( null != rgba ) {
- put4f((FloatBuffer)gca_ColorsAttr.getBuffer(), rgba[0], rgba[1], rgba[2], rgba[3]);
+ put4f((FloatBuffer)gca_ColorsAttr.getBuffer(), rgba);
} else {
throw new IllegalArgumentException("Null color given for COLOR_CHANNEL rendering mode");
}
@@ -185,17 +187,17 @@ public final class VBORegionSPES2 extends GLRegion {
}
@Override
- protected final void pushVertices(final float[] coords1, final float[] coords2, final float[] coords3,
- final float[] texParams1, final float[] texParams2, final float[] texParams3, final float[] rgba) {
- put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords1[0], coords1[1], coords1[2]);
- put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords2[0], coords2[1], coords2[2]);
- put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords3[0], coords3[1], coords3[2]);
- put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams1[0], texParams1[1], texParams1[2]);
- put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams2[0], texParams2[1], texParams2[2]);
- put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams3[0], texParams3[1], texParams3[2]);
+ protected final void pushVertices(final Vec3f coords1, final Vec3f coords2, final Vec3f coords3,
+ final Vec3f texParams1, final Vec3f texParams2, final Vec3f texParams3, final Vec4f rgba) {
+ put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords1);
+ put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords2);
+ put3f((FloatBuffer)gca_VerticesAttr.getBuffer(), coords3);
+ put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams1);
+ put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams2);
+ put3f((FloatBuffer)gca_CurveParamsAttr.getBuffer(), texParams3);
if( null != gca_ColorsAttr ) {
if( null != rgba ) {
- final float r=rgba[0], g=rgba[1], b=rgba[2], a=rgba[3];
+ final float r=rgba.x(), g=rgba.y(), b=rgba.z(), a=rgba.w();
put4f((FloatBuffer)gca_ColorsAttr.getBuffer(), r, g, b, a);
put4f((FloatBuffer)gca_ColorsAttr.getBuffer(), r, g, b, a);
put4f((FloatBuffer)gca_ColorsAttr.getBuffer(), r, g, b, a);