History

optimizations for debug rendering of AnimSkeleton

Anthony J. Thibault committed 11 years ago

Commit d1fdbe31 parent b8bae7c3 files · +22 −11Browse files

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

Unified · Split

libraries/render-utils/src/AnimDebugDraw.cpp+12−6
@@ -187,30 +187,36 @@ void AnimDebugDraw::update() { · 186 unmodified lines
187187 for (int i = 0; i < skeleton->getNumJoints(); i++) {
188188 AnimPose pose = skeleton->getBindPose(i);
189189
190− v->pos = xform.transform(pose.trans);
190+ glm::vec3 base = xform.transform(pose.trans);
191+
192+ // x-axis
193+ v->pos = base;
191194 v->rgba = red;
192195 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);
194197 v->rgba = red;
195198 v++;
196199
200+ // y-axis
197201 v->pos = xform.transform(pose.trans);
198202 v->rgba = green;
199203 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);
201205 v->rgba = green;
202206 v++;
203207
204− v->pos = xform.transform(pose.trans);
208+ // z-axis
209+ v->pos = base;
205210 v->rgba = blue;
206211 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);
208213 v->rgba = blue;
209214 v++;
210215
216+ // line to parent.
211217 if (skeleton->getParentIndex(i) >= 0) {
212218 AnimPose parentPose = skeleton->getBindPose(skeleton->getParentIndex(i));
213− v->pos = xform.transform(pose.trans);
219+ v->pos = base;
214220 v->rgba = gray;
215221 v++;
216222 v->pos = xform.transform(parentPose.trans);