diff options
author | Erwin Coumans <blender@erwincoumans.com> | 2006-01-06 06:46:54 +0300 |
---|---|---|
committer | Erwin Coumans <blender@erwincoumans.com> | 2006-01-06 06:46:54 +0300 |
commit | 2e6d57618232b8b4ce8e5afe84fd278041cbbbfe (patch) | |
tree | c0f05e6b59aada420dd600f1138e9149b97d9e9d /source/gameengine/Converter/BL_SkinDeformer.h | |
parent | ef520a8cc9e863aa234be0ee60d1038e7ec8fc44 (diff) |
Sorry to break the cvs-closed status, so if you really need to make a new 2.40 build, just disable the game engine if it doesn't compile for a platform. Again, sorry if this breaks non-windows platforms, but I hope people help to get this amazing fix working for all platforms. Armature-fixing contribution from Snailrose. Also lots of cool things from Snailrose and Lagan.
Armatures are back
Split screen
Double sided lightning
Ambient lighting
Alpha test
Material IPO support (one per object atm)
Blender materials
GLSL shaders - Python access
Up to three texture samplers from the material panel ( 2D & Cube map )
Python access to a second set of uv coordinates
See http://www.elysiun.com/forum/viewtopic.php?t=58057
Diffstat (limited to 'source/gameengine/Converter/BL_SkinDeformer.h')
-rw-r--r-- | source/gameengine/Converter/BL_SkinDeformer.h | 51 |
1 files changed, 22 insertions, 29 deletions
diff --git a/source/gameengine/Converter/BL_SkinDeformer.h b/source/gameengine/Converter/BL_SkinDeformer.h index 49c69298336..74adc6c2943 100644 --- a/source/gameengine/Converter/BL_SkinDeformer.h +++ b/source/gameengine/Converter/BL_SkinDeformer.h @@ -64,37 +64,31 @@ public: } void SetArmature (class BL_ArmatureObject *armobj); - BL_SkinDeformer( struct Object *bmeshobj, - class BL_SkinMeshObject *mesh,struct Object* blenderArmatureObj) - :BL_MeshDeformer(bmeshobj, mesh,blenderArmatureObj), - m_armobj(NULL), + BL_SkinDeformer(struct Object *bmeshobj, + class BL_SkinMeshObject *mesh, + BL_ArmatureObject* arma = NULL) + : // + BL_MeshDeformer(bmeshobj, mesh), + m_armobj(arma), m_lastUpdate(-1), - m_defbase(&bmeshobj->defbase) + m_defbase(&bmeshobj->defbase), + m_releaseobject(false) { - /* Build all precalculatable matrices for bones */ -/* XXX note: obsolete */ -// GB_build_mats(bmeshobj->parent->obmat, bmeshobj->obmat, m_premat, m_postmat); -// GB_validate_defgroups((Mesh*)bmeshobj->data, m_defbase); - // Validate bone data in bDeformGroups -/* - for (bDeformGroup *dg=(bDeformGroup*)m_defbase->first; dg; dg=(bDeformGroup*)dg->next) - dg->data = (void*)get_named_bone(barm, dg->name); -*/ }; /* this second constructor is needed for making a mesh deformable on the fly. */ - - BL_SkinDeformer( struct Object *bmeshobj_old, - struct Object *bmeshobj_new, - class BL_SkinMeshObject *mesh,struct Object *bArmatureObj) - :BL_MeshDeformer(bmeshobj_old, mesh,bArmatureObj), - m_armobj(NULL), + BL_SkinDeformer(struct Object *bmeshobj_old, + struct Object *bmeshobj_new, + class BL_SkinMeshObject *mesh, + bool release_object, + BL_ArmatureObject* arma = NULL) + : // + BL_MeshDeformer(bmeshobj_old, mesh), + m_armobj(arma), m_lastUpdate(-1), - m_defbase(&bmeshobj_old->defbase) + m_defbase(&bmeshobj_old->defbase), + m_releaseobject(release_object) { -/* XXX note: obsolete */ -// GB_build_mats(bmeshobj_new->parent->obmat, bmeshobj_new->obmat, m_premat, m_postmat); -// GB_validate_defgroups((Mesh*)bmeshobj_old->data, m_defbase); }; virtual void ProcessReplica(); @@ -104,13 +98,12 @@ public: bool Apply (class RAS_IPolyMaterial *polymat); protected: - BL_ArmatureObject *m_armobj; // Our parent object -/* XXX note obsolete */ -// float m_premat[4][4]; -// float m_postmat[4][4]; + BL_ArmatureObject* m_armobj; // Our parent object float m_time; double m_lastUpdate; - ListBase *m_defbase; + ListBase* m_defbase; + bool m_releaseobject; + }; #endif |