summaryrefslogtreecommitdiff
path: root/indra/llappearance/llavatarappearance.cpp
diff options
context:
space:
mode:
authorJonathan "Geenz" Goodman <geenz@geenzo.com>2025-06-27 21:28:58 -0400
committerGitHub <noreply@github.com>2025-06-27 21:28:58 -0400
commitb0c951ffe348f478f27a85720cc7aeffea32fe73 (patch)
tree9e473b5ecbd873062b29d91ee94cc06453e12dd7 /indra/llappearance/llavatarappearance.cpp
parentf48fe44684a535ed2eefc64c134551ce72e9ecf4 (diff)
Revert "Merge develop into glTF mesh import"
Diffstat (limited to 'indra/llappearance/llavatarappearance.cpp')
-rw-r--r--indra/llappearance/llavatarappearance.cpp66
1 files changed, 2 insertions, 64 deletions
diff --git a/indra/llappearance/llavatarappearance.cpp b/indra/llappearance/llavatarappearance.cpp
index dab18c240d..3d66809ed6 100644
--- a/indra/llappearance/llavatarappearance.cpp
+++ b/indra/llappearance/llavatarappearance.cpp
@@ -29,17 +29,16 @@
#include "llavatarappearance.h"
#include "llavatarappearancedefines.h"
#include "llavatarjointmesh.h"
-#include "lljointdata.h"
#include "llstl.h"
#include "lldir.h"
#include "llpolymorph.h"
#include "llpolymesh.h"
#include "llpolyskeletaldistortion.h"
+#include "llstl.h"
#include "lltexglobalcolor.h"
#include "llwearabledata.h"
#include "boost/bind.hpp"
#include "boost/tokenizer.hpp"
-#include "v4math.h"
using namespace LLAvatarAppearanceDefines;
@@ -72,13 +71,11 @@ public:
mChildren.clear();
}
bool parseXml(LLXmlTreeNode* node);
- glm::mat4 getJointMatrix();
private:
std::string mName;
std::string mSupport;
std::string mAliases;
- std::string mGroup;
bool mIsJoint;
LLVector3 mPos;
LLVector3 mEnd;
@@ -109,16 +106,10 @@ public:
S32 getNumCollisionVolumes() const { return mNumCollisionVolumes; }
private:
- typedef std::vector<LLAvatarBoneInfo*> bone_info_list_t;
- static void getJointMatricesAndHierarhy(
- LLAvatarBoneInfo* bone_info,
- LLJointData& data,
- const glm::mat4& parent_mat);
-
-private:
S32 mNumBones;
S32 mNumCollisionVolumes;
LLAvatarAppearance::joint_alias_map_t mJointAliasMap;
+ typedef std::vector<LLAvatarBoneInfo*> bone_info_list_t;
bone_info_list_t mBoneInfoList;
};
@@ -1607,15 +1598,6 @@ bool LLAvatarBoneInfo::parseXml(LLXmlTreeNode* node)
mSupport = "base";
}
- // Skeleton has 133 bones, but shader only allows 110 (LL_MAX_JOINTS_PER_MESH_OBJECT)
- // Groups can be used by importer to cut out unused groups of joints
- static LLStdStringHandle group_string = LLXmlTree::addAttributeString("group");
- if (!node->getFastAttributeString(group_string, mGroup))
- {
- LL_WARNS() << "Bone without group " << mName << LL_ENDL;
- mGroup = "global";
- }
-
if (mIsJoint)
{
static LLStdStringHandle pivot_string = LLXmlTree::addAttributeString("pivot");
@@ -1641,21 +1623,6 @@ bool LLAvatarBoneInfo::parseXml(LLXmlTreeNode* node)
return true;
}
-
-glm::mat4 LLAvatarBoneInfo::getJointMatrix()
-{
- glm::mat4 mat(1.0f);
- // 1. Scaling
- mat = glm::scale(mat, glm::vec3(mScale[0], mScale[1], mScale[2]));
- // 2. Rotation (Euler angles rad)
- mat = glm::rotate(mat, mRot[0], glm::vec3(1, 0, 0));
- mat = glm::rotate(mat, mRot[1], glm::vec3(0, 1, 0));
- mat = glm::rotate(mat, mRot[2], glm::vec3(0, 0, 1));
- // 3. Position
- mat = glm::translate(mat, glm::vec3(mPos[0], mPos[1], mPos[2]));
- return mat;
-}
-
//-----------------------------------------------------------------------------
// LLAvatarSkeletonInfo::parseXml()
//-----------------------------------------------------------------------------
@@ -1686,25 +1653,6 @@ bool LLAvatarSkeletonInfo::parseXml(LLXmlTreeNode* node)
return true;
}
-void LLAvatarSkeletonInfo::getJointMatricesAndHierarhy(
- LLAvatarBoneInfo* bone_info,
- LLJointData& data,
- const glm::mat4& parent_mat)
-{
- data.mName = bone_info->mName;
- data.mJointMatrix = bone_info->getJointMatrix();
- data.mScale = glm::vec3(bone_info->mScale[0], bone_info->mScale[1], bone_info->mScale[2]);
- data.mRotation = bone_info->mRot;
- data.mRestMatrix = parent_mat * data.mJointMatrix;
- data.mIsJoint = bone_info->mIsJoint;
- data.mGroup = bone_info->mGroup;
- for (LLAvatarBoneInfo* child_info : bone_info->mChildren)
- {
- LLJointData& child_data = data.mChildren.emplace_back();
- getJointMatricesAndHierarhy(child_info, child_data, data.mRestMatrix);
- }
-}
-
//Make aliases for joint and push to map.
void LLAvatarAppearance::makeJointAliases(LLAvatarBoneInfo *bone_info)
{
@@ -1766,16 +1714,6 @@ const LLAvatarAppearance::joint_alias_map_t& LLAvatarAppearance::getJointAliases
return mJointAliasMap;
}
-void LLAvatarAppearance::getJointMatricesAndHierarhy(std::vector<LLJointData> &data) const
-{
- glm::mat4 identity(1.f);
- for (LLAvatarBoneInfo* bone_info : sAvatarSkeletonInfo->mBoneInfoList)
- {
- LLJointData& child_data = data.emplace_back();
- LLAvatarSkeletonInfo::getJointMatricesAndHierarhy(bone_info, child_data, identity);
- }
-}
-
//-----------------------------------------------------------------------------
// parseXmlSkeletonNode(): parses <skeleton> nodes from XML tree