mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 07:37:20 +02:00
Remove unecessary loops
This commit is contained in:
parent
20a633eb89
commit
9a1d38384d
1 changed files with 14 additions and 32 deletions
|
@ -491,12 +491,15 @@ QByteArray AvatarData::toByteArray(AvatarDataDetail dataDetail, quint64 lastSent
|
||||||
unsigned char* validityPosition = destinationBuffer;
|
unsigned char* validityPosition = destinationBuffer;
|
||||||
unsigned char validity = 0;
|
unsigned char validity = 0;
|
||||||
int validityBit = 0;
|
int validityBit = 0;
|
||||||
|
int numValidityBytes = (int)std::ceil(numJoints / (float)BITS_IN_BYTE);
|
||||||
|
|
||||||
#ifdef WANT_DEBUG
|
#ifdef WANT_DEBUG
|
||||||
int rotationSentCount = 0;
|
int rotationSentCount = 0;
|
||||||
unsigned char* beforeRotations = destinationBuffer;
|
unsigned char* beforeRotations = destinationBuffer;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
destinationBuffer += numValidityBytes; // Move pointer past the validity bytes
|
||||||
|
|
||||||
if (sentJointDataOut) {
|
if (sentJointDataOut) {
|
||||||
sentJointDataOut->resize(_jointData.size()); // Make sure the destination is resized before using it
|
sentJointDataOut->resize(_jointData.size()); // Make sure the destination is resized before using it
|
||||||
}
|
}
|
||||||
|
@ -516,6 +519,8 @@ QByteArray AvatarData::toByteArray(AvatarDataDetail dataDetail, quint64 lastSent
|
||||||
#ifdef WANT_DEBUG
|
#ifdef WANT_DEBUG
|
||||||
rotationSentCount++;
|
rotationSentCount++;
|
||||||
#endif
|
#endif
|
||||||
|
destinationBuffer += packOrientationQuatToSixBytes(destinationBuffer, data.rotation);
|
||||||
|
|
||||||
if (sentJointDataOut) {
|
if (sentJointDataOut) {
|
||||||
auto jointDataOut = *sentJointDataOut;
|
auto jointDataOut = *sentJointDataOut;
|
||||||
jointDataOut[i].rotation = data.rotation;
|
jointDataOut[i].rotation = data.rotation;
|
||||||
|
@ -525,28 +530,14 @@ QByteArray AvatarData::toByteArray(AvatarDataDetail dataDetail, quint64 lastSent
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (++validityBit == BITS_IN_BYTE) {
|
if (++validityBit == BITS_IN_BYTE) {
|
||||||
*destinationBuffer++ = validity;
|
*validityPosition++ = validity;
|
||||||
validityBit = validity = 0;
|
validityBit = validity = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (validityBit != 0) {
|
if (validityBit != 0) {
|
||||||
*destinationBuffer++ = validity;
|
*validityPosition++ = validity;
|
||||||
}
|
}
|
||||||
|
|
||||||
validityBit = 0;
|
|
||||||
validity = *validityPosition++;
|
|
||||||
for (int i = 0; i < _jointData.size(); i++) {
|
|
||||||
const JointData& data = _jointData[i];
|
|
||||||
if (validity & (1 << validityBit)) {
|
|
||||||
destinationBuffer += packOrientationQuatToSixBytes(destinationBuffer, data.rotation);
|
|
||||||
}
|
|
||||||
if (++validityBit == BITS_IN_BYTE) {
|
|
||||||
validityBit = 0;
|
|
||||||
validity = *validityPosition++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// joint translation data
|
// joint translation data
|
||||||
validityPosition = destinationBuffer;
|
validityPosition = destinationBuffer;
|
||||||
validity = 0;
|
validity = 0;
|
||||||
|
@ -557,6 +548,8 @@ QByteArray AvatarData::toByteArray(AvatarDataDetail dataDetail, quint64 lastSent
|
||||||
unsigned char* beforeTranslations = destinationBuffer;
|
unsigned char* beforeTranslations = destinationBuffer;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
destinationBuffer += numValidityBytes; // Move pointer past the validity bytes
|
||||||
|
|
||||||
float minTranslation = !distanceAdjust ? AVATAR_MIN_TRANSLATION : getDistanceBasedMinTranslationDistance(viewerPosition);
|
float minTranslation = !distanceAdjust ? AVATAR_MIN_TRANSLATION : getDistanceBasedMinTranslationDistance(viewerPosition);
|
||||||
|
|
||||||
float maxTranslationDimension = 0.0;
|
float maxTranslationDimension = 0.0;
|
||||||
|
@ -575,6 +568,9 @@ QByteArray AvatarData::toByteArray(AvatarDataDetail dataDetail, quint64 lastSent
|
||||||
maxTranslationDimension = glm::max(fabsf(data.translation.y), maxTranslationDimension);
|
maxTranslationDimension = glm::max(fabsf(data.translation.y), maxTranslationDimension);
|
||||||
maxTranslationDimension = glm::max(fabsf(data.translation.z), maxTranslationDimension);
|
maxTranslationDimension = glm::max(fabsf(data.translation.z), maxTranslationDimension);
|
||||||
|
|
||||||
|
destinationBuffer +=
|
||||||
|
packFloatVec3ToSignedTwoByteFixed(destinationBuffer, data.translation, TRANSLATION_COMPRESSION_RADIX);
|
||||||
|
|
||||||
if (sentJointDataOut) {
|
if (sentJointDataOut) {
|
||||||
auto jointDataOut = *sentJointDataOut;
|
auto jointDataOut = *sentJointDataOut;
|
||||||
jointDataOut[i].translation = data.translation;
|
jointDataOut[i].translation = data.translation;
|
||||||
|
@ -584,27 +580,13 @@ QByteArray AvatarData::toByteArray(AvatarDataDetail dataDetail, quint64 lastSent
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (++validityBit == BITS_IN_BYTE) {
|
if (++validityBit == BITS_IN_BYTE) {
|
||||||
*destinationBuffer++ = validity;
|
*validityPosition++ = validity;
|
||||||
validityBit = validity = 0;
|
validityBit = validity = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (validityBit != 0) {
|
if (validityBit != 0) {
|
||||||
*destinationBuffer++ = validity;
|
*validityPosition++ = validity;
|
||||||
}
|
|
||||||
|
|
||||||
validityBit = 0;
|
|
||||||
validity = *validityPosition++;
|
|
||||||
for (int i = 0; i < _jointData.size(); i++) {
|
|
||||||
const JointData& data = _jointData[i];
|
|
||||||
if (validity & (1 << validityBit)) {
|
|
||||||
destinationBuffer +=
|
|
||||||
packFloatVec3ToSignedTwoByteFixed(destinationBuffer, data.translation, TRANSLATION_COMPRESSION_RADIX);
|
|
||||||
}
|
|
||||||
if (++validityBit == BITS_IN_BYTE) {
|
|
||||||
validityBit = 0;
|
|
||||||
validity = *validityPosition++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// faux joints
|
// faux joints
|
||||||
|
|
Loading…
Reference in a new issue