39 lines
1009 B
Java
39 lines
1009 B
Java
package electrosphere.renderer;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
|
|
import org.joml.Matrix4d;
|
|
import org.joml.Matrix4f;
|
|
import org.lwjgl.assimp.AIBone;
|
|
|
|
import electrosphere.renderer.loading.ModelPretransforms;
|
|
|
|
/**
|
|
*
|
|
* @author satellite
|
|
*/
|
|
public class Bone {
|
|
public String boneID;
|
|
int numWeights;
|
|
HashMap<Integer,Float> weights;
|
|
public Matrix4d inverseBindPoseMatrix;
|
|
public Matrix4d deform;
|
|
public Matrix4d transform;
|
|
public Matrix4d final_transform;
|
|
public AIBone raw_data;
|
|
public Bone(){
|
|
transform = new Matrix4d();
|
|
deform = new Matrix4d();
|
|
final_transform = new Matrix4d();
|
|
}
|
|
public Bone(AIBone raw_data){
|
|
transform = new Matrix4d();
|
|
deform = new Matrix4d();
|
|
final_transform = new Matrix4d();
|
|
boneID = raw_data.mName().dataString();
|
|
inverseBindPoseMatrix = electrosphere.util.Utilities.convertAIMatrixd(raw_data.mOffsetMatrix());
|
|
this.raw_data = raw_data;
|
|
}
|
|
}
|