Update glTF2Exporter.cpp
parent
e5eb00d8d3
commit
bc80652ae9
|
@ -973,16 +973,15 @@ inline void ExtractTranslationSampler(Asset& asset, std::string& animId, Ref<Buf
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const vec3 kZeros = {0, 0, 0};
|
|
||||||
std::vector<float> times(numKeyframes);
|
std::vector<float> times(numKeyframes);
|
||||||
std::vector<vec3> values(numKeyframes, kZeros);
|
std::vector<vec3> values(numKeyframes * 3);
|
||||||
for (unsigned int i = 0; i < numKeyframes; ++i) {
|
for (unsigned int i = 0; i < numKeyframes; ++i) {
|
||||||
const aiVectorKey& key = nodeChannel->mPositionKeys[i];
|
const aiVectorKey& key = nodeChannel->mPositionKeys[i];
|
||||||
// mTime is measured in ticks, but GLTF time is measured in seconds, so convert.
|
// mTime is measured in ticks, but GLTF time is measured in seconds, so convert.
|
||||||
times[i] = static_cast<float>(key.mTime / ticksPerSecond);
|
times[i] = static_cast<float>(key.mTime / ticksPerSecond);
|
||||||
values[i][0] = key.mValue.x;
|
values[i * 3][0] = key.mValue.x;
|
||||||
values[i][1] = key.mValue.y;
|
values[i * 3][1] = key.mValue.y;
|
||||||
values[i][2] = key.mValue.z;
|
values[i * 3][2] = key.mValue.z;
|
||||||
}
|
}
|
||||||
|
|
||||||
sampler.input = GetSamplerInputRef(asset, animId, buffer, times);
|
sampler.input = GetSamplerInputRef(asset, animId, buffer, times);
|
||||||
|
@ -997,16 +996,15 @@ inline void ExtractScaleSampler(Asset& asset, std::string& animId, Ref<Buffer>&
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const vec3 kZeros = {0, 0, 0};
|
|
||||||
std::vector<float> times(numKeyframes);
|
std::vector<float> times(numKeyframes);
|
||||||
std::vector<vec3> values(numKeyframes, kZeros);
|
std::vector<vec3> values(numKeyframes * 3);
|
||||||
for (unsigned int i = 0; i < numKeyframes; ++i) {
|
for (unsigned int i = 0; i < numKeyframes; ++i) {
|
||||||
const aiVectorKey& key = nodeChannel->mScalingKeys[i];
|
const aiVectorKey& key = nodeChannel->mScalingKeys[i];
|
||||||
// mTime is measured in ticks, but GLTF time is measured in seconds, so convert.
|
// mTime is measured in ticks, but GLTF time is measured in seconds, so convert.
|
||||||
times[i] = static_cast<float>(key.mTime / ticksPerSecond);
|
times[i] = static_cast<float>(key.mTime / ticksPerSecond);
|
||||||
values[i][0] = key.mValue.x;
|
values[i * 3][0] = key.mValue.x;
|
||||||
values[i][1] = key.mValue.y;
|
values[i * 3][1] = key.mValue.y;
|
||||||
values[i][2] = key.mValue.z;
|
values[i * 3][2] = key.mValue.z;
|
||||||
}
|
}
|
||||||
|
|
||||||
sampler.input = GetSamplerInputRef(asset, animId, buffer, times);
|
sampler.input = GetSamplerInputRef(asset, animId, buffer, times);
|
||||||
|
@ -1021,17 +1019,16 @@ inline void ExtractRotationSampler(Asset& asset, std::string& animId, Ref<Buffer
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const vec4 kZeros = {0, 0, 0, 0};
|
|
||||||
std::vector<float> times(numKeyframes);
|
std::vector<float> times(numKeyframes);
|
||||||
std::vector<vec4> values(numKeyframes, kZeros);
|
std::vector<vec4> values(numKeyframes * 4);
|
||||||
for (unsigned int i = 0; i < numKeyframes; ++i) {
|
for (unsigned int i = 0; i < numKeyframes; ++i) {
|
||||||
const aiQuatKey& key = nodeChannel->mRotationKeys[i];
|
const aiQuatKey& key = nodeChannel->mRotationKeys[i];
|
||||||
// mTime is measured in ticks, but GLTF time is measured in seconds, so convert.
|
// mTime is measured in ticks, but GLTF time is measured in seconds, so convert.
|
||||||
times[i] = static_cast<float>(key.mTime / ticksPerSecond);
|
times[i] = static_cast<float>(key.mTime / ticksPerSecond);
|
||||||
values[i][0] = key.mValue.x;
|
values[i * 4][0] = key.mValue.x;
|
||||||
values[i][1] = key.mValue.y;
|
values[i * 4][1] = key.mValue.y;
|
||||||
values[i][2] = key.mValue.z;
|
values[i * 4][2] = key.mValue.z;
|
||||||
values[i][3] = key.mValue.w;
|
values[i * 4][3] = key.mValue.w;
|
||||||
}
|
}
|
||||||
|
|
||||||
sampler.input = GetSamplerInputRef(asset, animId, buffer, times);
|
sampler.input = GetSamplerInputRef(asset, animId, buffer, times);
|
||||||
|
|
Loading…
Reference in New Issue