Showing the changes to libraries/render-utils/src/AnimDebugDraw.cpp (1 of 3 files). Show all
Unified · Split
| @@ -187,30 +187,36 @@ void AnimDebugDraw::update() { · 186 unmodified lines | ||
| 187 | 187 | for (int i = 0; i < skeleton->getNumJoints(); i++) { |
| 188 | 188 | AnimPose pose = skeleton->getBindPose(i); |
| 189 | 189 | |
| 190 | − v->pos = xform.transform(pose.trans); | |
| 190 | + glm::vec3 base = xform.transform(pose.trans); | |
| 191 | + | |
| 192 | + // x-axis | |
| 193 | + v->pos = base; | |
| 191 | 194 | v->rgba = red; |
| 192 | 195 | v++; |
| 193 | − v->pos = xform.transform(pose.trans + pose.rot * glm::vec3(pose.scale.x, 0.0f, 0.0f)); | |
| 196 | + v->pos = base + pose.rot * glm::vec3(1.0f, 0.0f, 0.0f); | |
| 194 | 197 | v->rgba = red; |
| 195 | 198 | v++; |
| 196 | 199 | |
| 200 | + // y-axis | |
| 197 | 201 | v->pos = xform.transform(pose.trans); |
| 198 | 202 | v->rgba = green; |
| 199 | 203 | v++; |
| 200 | − v->pos = xform.transform(pose.trans + pose.rot * glm::vec3(0.0f, pose.scale.y, 0.0f)); | |
| 204 | + v->pos = base + pose.rot * glm::vec3(0.0f, 1.0f, 0.0f); | |
| 201 | 205 | v->rgba = green; |
| 202 | 206 | v++; |
| 203 | 207 | |
| 204 | − v->pos = xform.transform(pose.trans); | |
| 208 | + // z-axis | |
| 209 | + v->pos = base; | |
| 205 | 210 | v->rgba = blue; |
| 206 | 211 | v++; |
| 207 | − v->pos = xform.transform(pose.trans + pose.rot * glm::vec3(0.0f, 0.0f, pose.scale.z)); | |
| 212 | + v->pos = base + pose.rot * glm::vec3(0.0f, 0.0f, 1.0f); | |
| 208 | 213 | v->rgba = blue; |
| 209 | 214 | v++; |
| 210 | 215 | |
| 216 | + // line to parent. | |
| 211 | 217 | if (skeleton->getParentIndex(i) >= 0) { |
| 212 | 218 | AnimPose parentPose = skeleton->getBindPose(skeleton->getParentIndex(i)); |
| 213 | − v->pos = xform.transform(pose.trans); | |
| 219 | + v->pos = base; | |
| 214 | 220 | v->rgba = gray; |
| 215 | 221 | v++; |
| 216 | 222 | v->pos = xform.transform(parentPose.trans); |