History

in the middle of something

Sam Gateau committed 7 years ago

Commit a995f2c1 parent c0e450910 files · +53 −107Browse files

Showing the changes to libraries/render-utils/src/Model.cpp (1 of 10 files). Show all

Unified · Split

libraries/render-utils/src/Model.cpp+15−19
@@ -249,24 +249,10 @@ void Model::updateRenderItems() { · 248 unmodified lines
249249 }
250250
251251 Transform renderTransform = modelTransform;
252−
253− /*if (useDualQuaternionSkinning) {
254− if (meshState.clusterDualQuaternions.size() == 1 || meshState.clusterDualQuaternions.size() == 2) {
255− const auto& dq = meshState.clusterDualQuaternions[0];
256− Transform transform(dq.getRotation(),
257− dq.getScale(),
258− dq.getTranslation());
259− renderTransform = modelTransform.worldTransform(Transform(transform));
260− }
261− } else {
262− if (meshState.clusterMatrices.size() == 1 || meshState.clusterMatrices.size() == 2) {
263− renderTransform = modelTransform.worldTransform(Transform(meshState.clusterMatrices[0]));
264− }
265− }*/
266252 if (meshState.clusterMatrices.size() <= 1) {
267253 renderTransform = modelTransform.worldTransform(shapeState._rootFromJointTransform);
268254 }
269− data.updateTransformForSkinnedMesh(renderTransform, modelTransform);
255+ data.updateTransform(renderTransform);
270256
271257 data.setCauterized(cauterized);
272258 data.updateKey(renderItemKeyGlobalFlags);
@@ -305,7 +291,7 @@ void Model::updateShapeStatesFromRig() { · 32 unmodified lines
305291 _shapeStates.resize(shapes.size());
306292 for (int s = 0; s < shapes.size(); ++s) {
307293 uint32_t jointId = shapes[s].transform;
308− if (jointId < _rig.getJointStateCount()) {
294+ if (jointId < (uint32_t) _rig.getJointStateCount()) {
309295 _shapeStates[s]._rootFromJointTransform = _rig.getJointTransform(shapes[s].transform);
310296 }
311297 }
@@ -329,14 +315,24 @@ bool Model::updateGeometry() { · 17 unmodified lines
329315 updateShapeStatesFromRig();
330316
331317 const HFMModel& hfmModel = getHFMModel();
332− int i = 0;
333− foreach (const HFMMesh& mesh, hfmModel.meshes) {
318+ const auto& hfmDynamicTransforms = hfmModel.dynamicTransforms;
319+ /* int i = 0;
320+ for (const auto& mesh: hfmModel.meshes) {
334321 MeshState state;
335322 state.clusterDualQuaternions.resize(mesh.clusters.size());
336323 state.clusterMatrices.resize(mesh.clusters.size());
337324 _meshStates.push_back(state);
338325 i++;
339326 }
327+ */
328+ for (int i = 0; i < hfmDynamicTransforms.size(); i++) {
329+ const auto& dynT = hfmDynamicTransforms[i];
330+ MeshState state;
331+ state.clusterDualQuaternions.resize(dynT.clusters.size());
332+ state.clusterMatrices.resize(dynT.clusters.size());
333+ _meshStates.push_back(state);
334+ }
335+
340336 needFullUpdate = true;
341337 emit rigReady();
342338 }
@@ -1510,7 +1506,7 @@ void Model::createRenderItemSet() { · 1167 unmodified lines
15101506 // Create the render payloads
15111507 int numParts = (int)mesh->getNumParts();
15121508 for (int partIndex = 0; partIndex < numParts; partIndex++) {
1513− _modelMeshRenderItems << std::make_shared<ModelMeshPartPayload>(shared_from_this(), i, partIndex, shapeID, transform, offset);
1509+ _modelMeshRenderItems << std::make_shared<ModelMeshPartPayload>(shared_from_this(), i, partIndex, shapeID, transform);
15141510 auto material = getNetworkModel()->getShapeMaterial(shapeID);
15151511 _modelMeshMaterialNames.push_back(material ? material->getName() : "");
15161512 _modelMeshRenderItemShapes.emplace_back(ShapeInfo{ (int)i });

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t