Rev 1808 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 1720 | chris | 1 | package com.gebauz.bauzoid2.graphics.model; |
| 2 | |||
| 1723 | chris | 3 | import com.gebauz.bauzoid2.game.Engine; |
| 1778 | chris | 4 | import com.gebauz.bauzoid2.graphics.util.Transform; |
| 1723 | chris | 5 | import com.gebauz.bauzoid2.math.Matrix4; |
| 1774 | chris | 6 | import com.gebauz.bauzoid2.math.Quaternion; |
| 7 | import com.gebauz.bauzoid2.math.Vector3; |
||
| 1767 | chris | 8 | import com.gebauz.bauzoid2.math.Vector4; |
| 1723 | chris | 9 | |
| 1720 | chris | 10 | /** |
| 11 | * Created by chris on 14.12.2014. |
||
| 12 | */ |
||
| 13 | public class ModelNode |
||
| 14 | { |
||
| 15 | // Constants======================================================================================== |
||
| 16 | |||
| 17 | // Embedded Types=================================================================================== |
||
| 18 | |||
| 19 | // Fields=========================================================================================== |
||
| 20 | |||
| 21 | private String mName = null; |
||
| 22 | |||
| 1751 | chris | 23 | private int mParentIndex = -1; |
| 24 | |||
| 1720 | chris | 25 | public ModelPart[] parts = null; |
| 26 | |||
| 1751 | chris | 27 | private Matrix4 mGlobalTransform = Matrix4.createIdentity(); |
| 1774 | chris | 28 | //private Matrix4 mLocalTransform = Matrix4.createIdentity(); |
| 1808 | chris | 29 | private Matrix4 mGlobalBindPose = Matrix4.createIdentity(); |
| 1723 | chris | 30 | |
| 1816 | chris | 31 | public com.badlogic.gdx.math.Matrix4 globalTransform = new com.badlogic.gdx.math.Matrix4(); |
| 32 | public com.badlogic.gdx.math.Matrix4 localTransform = new com.badlogic.gdx.math.Matrix4(); |
||
| 33 | |||
| 1778 | chris | 34 | public Transform transform = new Transform(); |
| 1800 | chris | 35 | public Transform bindPose = new Transform(); |
| 1774 | chris | 36 | |
| 1720 | chris | 37 | // Methods========================================================================================== |
| 38 | |||
| 1751 | chris | 39 | public ModelNode(String name, int parentIndex) |
| 1720 | chris | 40 | { |
| 41 | mName = name; |
||
| 1751 | chris | 42 | mParentIndex = parentIndex; |
| 1720 | chris | 43 | } |
| 44 | |||
| 1767 | chris | 45 | /* |
| 1720 | chris | 46 | public void render() |
| 47 | { |
||
| 1723 | chris | 48 | Engine.graphics.renderStates.pushModelMatrix(); |
| 1751 | chris | 49 | Engine.graphics.renderStates.model.preMultiply(mLocalTransform); |
| 1723 | chris | 50 | |
| 1739 | chris | 51 | //Engine.graphics.getPrimitiveShader().activate(new Vector4(0, 0, 1, 1)); |
| 1723 | chris | 52 | |
| 1720 | chris | 53 | if (parts != null) |
| 54 | { |
||
| 55 | for (ModelPart part : parts) |
||
| 56 | { |
||
| 57 | part.render(); |
||
| 58 | } |
||
| 59 | } |
||
| 1723 | chris | 60 | |
| 1739 | chris | 61 | //Engine.graphics.getPrimitiveShader().deactivate(); |
| 1723 | chris | 62 | |
| 63 | Engine.graphics.renderStates.popModelMatrix(); |
||
| 1767 | chris | 64 | }*/ |
| 1720 | chris | 65 | |
| 1778 | chris | 66 | /*public Matrix4 calcLocalTransform() |
| 1774 | chris | 67 | { |
| 68 | Matrix4 local = Matrix4.createIdentity(); |
||
| 69 | if (mScale != null) |
||
| 70 | local.multiply(Matrix4.createScale(mScale)); |
||
| 71 | if (mRotation != null) |
||
| 72 | local.multiply(mRotation.toMatrix()); |
||
| 73 | if (mTranslation != null) |
||
| 74 | local.multiply(Matrix4.createTranslation(mTranslation)); |
||
| 75 | return local; |
||
| 1778 | chris | 76 | }*/ |
| 1774 | chris | 77 | |
| 1720 | chris | 78 | // Getters/Setters================================================================================== |
| 79 | |||
| 80 | public final String getName() { return mName; } |
||
| 81 | |||
| 1774 | chris | 82 | /*public final Matrix4 getLocalTransform() { return mLocalTransform; } |
| 83 | public final void setLocalTransform(Matrix4 transform) { mLocalTransform = transform; }*/ |
||
| 1778 | chris | 84 | /*public final Vector3 getTranslation() { return mTranslation; } |
| 1774 | chris | 85 | public final void setTranslation(Vector3 v) { mTranslation = v; } |
| 1751 | chris | 86 | |
| 1774 | chris | 87 | public final Quaternion getRotation() { return mRotation; } |
| 88 | public final void setRotation(Quaternion q) { mRotation = q; } |
||
| 89 | |||
| 90 | public final Vector3 getScale() { return mScale; } |
||
| 1778 | chris | 91 | public final void setScale(Vector3 v) { mScale = v; }*/ |
| 1774 | chris | 92 | |
| 1752 | chris | 93 | public final Matrix4 getGlobalTransform() { return mGlobalTransform; } |
| 94 | public final void setGlobalTransform(Matrix4 transform) { mGlobalTransform = transform; } |
||
| 95 | |||
| 1808 | chris | 96 | public final Matrix4 getGlobalBindPose() { return mGlobalBindPose; } |
| 97 | public final void setGlobalBindPose(Matrix4 transform) { mGlobalBindPose = transform; } |
||
| 1780 | chris | 98 | |
| 1808 | chris | 99 | public final int getParentIndex() { return mParentIndex; } |
| 100 | |||
| 1720 | chris | 101 | } |