javaでglmの移植を書こうとしています。
現時点では、パッケージ jglm を作成しました。このパッケージ内には、Mat4、Vec4、Vec3 などのさまざまなクラスがすべて含まれています。
そのような:
public class Mat {
protected float[] matrix;
protected int order;
}
入力して呼び出すことができます
jgml.Mat4 modelviewMatrix = new Jgml.Mat4(1.0f);
そしてこれでいいの..
今、私はいくつかの方法も書いています
mix(x, y, lerp)
また、これを前述のように使用したいと思います。
float value = jglm.mix(x, y, lerp)
しかしもちろん、この場合 Jglm はクラスでなければなりません...
2つのものを結合する方法はありますか?
編集:クラスjglm.Jglmを作成すると
package jglm;
/**
*
* @author gbarbieri
*/
public class Jglm {
public class Mat {
protected float[] matrix;
protected int order;
}
public class Mat4 extends Mat {
public Vec4 c0;
public Vec4 c1;
public Vec4 c2;
public Vec4 c3;
public Mat4(float value) {
order = 4;
matrix = new float[16];
for (int i = 0; i < 4; i++) {
matrix[i * 5] = value;
}
c0 = new Vec4(matrix, 0);
c1 = new Vec4(matrix, 4);
c2 = new Vec4(matrix, 8);
c3 = new Vec4(matrix, 12);
}
public float[] toFloatArray() {
return new float[]{
c0.x, c0.y, c0.z, c0.w,
c1.x, c1.y, c1.z, c1.w,
c2.x, c2.y, c2.z, c2.w,
c3.x, c3.y, c3.z, c3.w,};
}
}
public static float mix(float start, float end, float lerp) {
return (start + lerp * (end - start));
}
}
インスタンス化しようとすると
cameraToClipMatrix_mat4 = new Jglm.Mat4(1.0f);
「Jglm.Mat4 を含む囲んでいるインスタンスが必要です」というメッセージが表示されます