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
187 for (int i = 0; i < skeleton->getNumJoints(); i++) {187 for (int i = 0; i < skeleton->getNumJoints(); i++) {
188 AnimPose pose = skeleton->getBindPose(i);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 v->rgba = red;194 v->rgba = red;
192 v++;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 v->rgba = red;197 v->rgba = red;
195 v++;198 v++;
196 199
200 // y-axis
197 v->pos = xform.transform(pose.trans);201 v->pos = xform.transform(pose.trans);
198 v->rgba = green;202 v->rgba = green;
199 v++;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 v->rgba = green;205 v->rgba = green;
202 v++;206 v++;
203 207
204 v->pos = xform.transform(pose.trans);208 // z-axis
209 v->pos = base;
205 v->rgba = blue;210 v->rgba = blue;
206 v++;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 v->rgba = blue;213 v->rgba = blue;
209 v++;214 v++;
210 215
216 // line to parent.
211 if (skeleton->getParentIndex(i) >= 0) {217 if (skeleton->getParentIndex(i) >= 0) {
212 AnimPose parentPose = skeleton->getBindPose(skeleton->getParentIndex(i));218 AnimPose parentPose = skeleton->getBindPose(skeleton->getParentIndex(i));
213 v->pos = xform.transform(pose.trans);219 v->pos = base;
214 v->rgba = gray;220 v->rgba = gray;
215 v++;221 v++;
216 v->pos = xform.transform(parentPose.trans);222 v->pos = xform.transform(parentPose.trans);