Rev 1739 | Rev 1752 | 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; |
| 4 | import com.gebauz.bauzoid2.math.Matrix4; |
||
| 5 | |||
| 1720 | chris | 6 | /** |
| 7 | * Created by chris on 14.12.2014. |
||
| 8 | */ |
||
| 9 | public class ModelNode |
||
| 10 | { |
||
| 11 | // Constants======================================================================================== |
||
| 12 | |||
| 13 | // Embedded Types=================================================================================== |
||
| 14 | |||
| 15 | // Fields=========================================================================================== |
||
| 16 | |||
| 17 | private String mName = null; |
||
| 18 | |||
| 1751 | chris | 19 | private int mParentIndex = -1; |
| 20 | |||
| 1720 | chris | 21 | public ModelPart[] parts = null; |
| 22 | |||
| 1751 | chris | 23 | private Matrix4 mGlobalTransform = Matrix4.createIdentity(); |
| 24 | private Matrix4 mLocalTransform = Matrix4.createIdentity(); |
||
| 1723 | chris | 25 | |
| 1720 | chris | 26 | // Methods========================================================================================== |
| 27 | |||
| 1751 | chris | 28 | public ModelNode(String name, int parentIndex) |
| 1720 | chris | 29 | { |
| 30 | mName = name; |
||
| 1751 | chris | 31 | mParentIndex = parentIndex; |
| 1720 | chris | 32 | } |
| 33 | |||
| 34 | public void render() |
||
| 35 | { |
||
| 1723 | chris | 36 | Engine.graphics.renderStates.pushModelMatrix(); |
| 1751 | chris | 37 | Engine.graphics.renderStates.model.preMultiply(mLocalTransform); |
| 1723 | chris | 38 | |
| 1739 | chris | 39 | //Engine.graphics.getPrimitiveShader().activate(new Vector4(0, 0, 1, 1)); |
| 1723 | chris | 40 | |
| 1720 | chris | 41 | if (parts != null) |
| 42 | { |
||
| 43 | for (ModelPart part : parts) |
||
| 44 | { |
||
| 45 | part.render(); |
||
| 46 | } |
||
| 47 | } |
||
| 1723 | chris | 48 | |
| 1739 | chris | 49 | //Engine.graphics.getPrimitiveShader().deactivate(); |
| 1723 | chris | 50 | |
| 51 | Engine.graphics.renderStates.popModelMatrix(); |
||
| 1720 | chris | 52 | } |
| 53 | |||
| 54 | // Getters/Setters================================================================================== |
||
| 55 | |||
| 56 | public final String getName() { return mName; } |
||
| 57 | |||
| 1751 | chris | 58 | public final Matrix4 getTransform() { return mLocalTransform; } |
| 59 | public final void setTransform(Matrix4 transform) { mLocalTransform = transform; } |
||
| 60 | |||
| 61 | public final int getParentIndex() { return mParentIndex; } |
||
| 1720 | chris | 62 | } |