public void render(final Spatial spatial, final Renderer renderer) { // do transforms final boolean transformed = renderer.doTransforms(spatial.getWorldTransform()); // render display list. renderer.renderDisplayList(_id.getId()); // Our states are in an unknown state at this point, so invalidate tracking. ContextManager.getCurrentContext().invalidateStates(); // undo transforms if (transformed) { renderer.undoTransforms(spatial.getWorldTransform()); } }
protected void updateTargetPos() { if (_targetType == TargetType.Spatial) { final double x = _lookAtPoint.getX(); final double y = _lookAtPoint.getY(); final double z = _lookAtPoint.getZ(); _lookAtSpatial.getWorldTransform().applyForward(Vector3.ZERO, _lookAtPoint); if (x != _lookAtPoint.getX() || y != _lookAtPoint.getY() || z != _lookAtPoint.getZ()) { makeDirty(); } } }
protected void updateTargetPos() { if (_targetType == TargetType.Spatial) { final double x = _lookAtPoint.getX(); final double y = _lookAtPoint.getY(); final double z = _lookAtPoint.getZ(); _lookAtSpatial.getWorldTransform().applyForward(Vector3.ZERO, _lookAtPoint); if (x != _lookAtPoint.getX() || y != _lookAtPoint.getY() || z != _lookAtPoint.getZ()) { makeDirty(); } } }
/** * Draw a single Joint using the given world-space joint transform. * * @param jntTransform * our joint transform * @param scene * @param renderer * the Renderer to draw with. */ private static void drawJoint(final Transform jntTransform, final Spatial scene, final Renderer renderer) { final BoundingVolume vol = scene.getWorldBound(); double size = 1.0; if (vol != null) { SkeletalDebugger.measureSphere.setCenter(vol.getCenter()); SkeletalDebugger.measureSphere.setRadius(0); SkeletalDebugger.measureSphere.mergeLocal(vol); size = SkeletalDebugger.BONE_RATIO * SkeletalDebugger.measureSphere.getRadius(); } scene.getWorldTransform().multiply(jntTransform, SkeletalDebugger.spTransform); SkeletalDebugger.spTransform.getMatrix().scale(new Vector3(size, size, size), SkeletalDebugger.spMatrix); SkeletalDebugger.spTransform.setRotation(SkeletalDebugger.spMatrix); SkeletalDebugger.joint.setWorldTransform(SkeletalDebugger.spTransform); SkeletalDebugger.joint.draw(renderer); }
/** * Draw a single Joint using the given world-space joint transform. * * @param jntTransform * our joint transform * @param scene * @param renderer * the Renderer to draw with. */ private static void drawJoint(final Transform jntTransform, final Spatial scene, final Renderer renderer) { final BoundingVolume vol = scene.getWorldBound(); double size = 1.0; if (vol != null) { SkeletalDebugger.measureSphere.setCenter(vol.getCenter()); SkeletalDebugger.measureSphere.setRadius(0); SkeletalDebugger.measureSphere.mergeLocal(vol); size = SkeletalDebugger.BONE_RATIO * SkeletalDebugger.measureSphere.getRadius(); } scene.getWorldTransform().multiply(jntTransform, SkeletalDebugger.spTransform); SkeletalDebugger.spTransform.getMatrix().scale(new Vector3(size, size, size), SkeletalDebugger.spMatrix); SkeletalDebugger.spTransform.setRotation(SkeletalDebugger.spMatrix); SkeletalDebugger.joint.setWorldTransform(SkeletalDebugger.spTransform); SkeletalDebugger.joint.draw(renderer); }
SkeletalDebugger.jointText.setText(i + ". " + joints[i].getName()); final Transform t = scene.getWorldTransform().multiply(globals[i], store); point.zero(); SkeletalDebugger.jointText.setTranslation(Camera.getCurrentCamera().getScreenCoordinates(
SkeletalDebugger.bone.setWorldTransform(scene.getWorldTransform().multiply( SkeletalDebugger.bone.getWorldTransform(), null));
.setWorldTransform(scene.getWorldTransform().multiply(SkeletalDebugger.bone.getWorldTransform(), null));
SkeletalDebugger.jointText.setText(i + ". " + joints[i].getName()); final Transform t = scene.getWorldTransform().multiply(globals[i], store); point.zero(); SkeletalDebugger.jointText.setTranslation(current.getScreenCoordinates(t.applyForward(point)));