Commit graph

142 commits

Author SHA1 Message Date
Anthony J. Thibault
46c1e008bc Merge branch 'master' into ajt/new-anim-system 2015-08-26 10:37:39 -07:00
Anthony J. Thibault
0c02a338f2 Added support for setting Variants in the json file.
For example: the avatar.json file was updated to use the "sine" Variant
to drive the Overlay alpha parameter.
2015-08-25 20:57:01 -07:00
Anthony J. Thibault
4abf0cbd63 AnimVariantMap is used in eval, MyAvatar loads avatar.json via url 2015-08-25 20:28:17 -07:00
Brad Davis
d311e4f2ea Fixing problems reported by static analysis tool 2015-08-25 19:18:55 -07:00
Anthony J. Thibault
496c706bba Added AnimVariantMap argument to evaluate. 2015-08-25 11:59:24 -07:00
Anthony J. Thibault
62f86e6a46 Added AnimVariant, renamed AnimClipTests to AnimTests.
* Added test for AnimVariant.
2015-08-25 11:33:57 -07:00
Anthony J. Thibault
4bdb00bbc5 Added setCurrentFrame interface to AnimClip.
This will recurse the tree and call setCurrentFrameInternal on each node.
This method can be overriden, currently the only meaningful implementation is AnimClip.
2015-08-25 09:58:36 -07:00
Anthony J. Thibault
7a2ca047cb Added network resource download support to AnimNodeLoader. 2015-08-24 19:00:12 -07:00
Anthony J. Thibault
5a73aef1f8 AnimSkeleton more accurate bind pose generation. 2015-08-24 16:19:16 -07:00
Anthony J. Thibault
fa5256eefd Merge branch 'master' into ajt/new-anim-system 2015-08-24 14:32:28 -07:00
Anthony J. Thibault
80d3ae68c2 Removed redundant ends with ‘fbx’ check. 2015-08-21 22:11:53 -07:00
Anthony J. Thibault
b7009b4631 Fix for animation resources
The problem was that the invokeMethod between the AnimationReader thread
and the main thread was failing, because FBXGeometry* wasn't a registered meta type.

So, I ended up normalizing the AnimationReader class to be more like GeometryReader,
in that it uses singles and slots to communicate success and failure, rather then
invokeMethod.
2015-08-21 16:09:06 -07:00
Brad Davis
c3991dbb8c Merge pull request #5622 from hyperlogic/ajt/network-geometry-refactor
ResourceCache, NetworkGeometry and Model refactoring and optimizations.
2015-08-20 23:57:16 -07:00
Anthony J. Thibault
1b3d7fabc8 ResourceCache, NetworkGeometry and Model refactoring and optimizations.
* Removed validation logic from Resource class, Qt does this internally and is more
  standards compliant.  This should result in more accurate caching and faster resource
  fetching when cache is stale and validation fails.
* Added loaded and failed slots to Resource class, so it does not have to be polled.

* NetworkGeometry now uses multiple Resource objects to download
  the fst/mapping file and the fbx/obj models.
* NetworkGeometry is no longer a subclass of Resource
* NetworkGeometry now has signals for success and failure, you no longer
  have to poll it to determine when loading is complete (except for textures *sigh*)

Some functionality was removed

* NetworkGeometry no longer has a fallback
* NetworkGeometry no longer loads LODs or has lod logic.
* The number of FBXGeometry copies is greatly reduced.

* Model::setURL no supports fallback URL, delayLoad or retainCurrent option.
  This can result in a pop when switching avatars, and there's no longer a default
  if avatar loading fails.
2015-08-20 18:59:51 -07:00
Seth Alves
c25082d86f use -fsanitize=address in all code rather than just the top-level links 2015-08-20 10:14:16 -07:00
Philip Rosedale
01108bdf6b Merge pull request #5573 from howard-stearns/sync-eyes-and-vectors
Synchronize eye joint and debugging vectors
2015-08-17 16:56:01 -07:00
Howard Stearns
d28c555a79 Synchronize eye joint and debugging vectors when the other avatar is looking at me. 2015-08-14 16:47:34 -07:00
Andrew Meadows
488f6aa7d8 fix bug in ElbowConstraint::apply() 2015-08-12 13:34:23 -07:00
Howard Stearns
295d655eec Merge pull request #5545 from AndrewMeadows/chlorine
rotation constraints in preparation for inverse kinematics
2015-08-11 09:19:16 -07:00
Andrew Meadows
8e82e48f76 remove more std::max/min favor of glm utilities 2015-08-11 08:17:54 -07:00
Andrew Meadows
a38c1c82d1 use glm::clamp() instead if std::max() and min() 2015-08-10 23:08:36 -07:00
Andrew Meadows
80b36f9f12 fix typo 2015-08-10 15:11:00 -07:00
Seth Alves
b26d6d2b9c Merge pull request #5542 from ZappoMan/RenderableModelEntityItemOptimization
Renderable model entity item optimizations
2015-08-10 15:10:12 -07:00
Andrew Meadows
43bf4a85d2 add RotationConstraint and friends 2015-08-10 14:48:22 -07:00
Howard Stearns
964d04d24f Restore correct space for eye joint rotations.
Also, do not correct for camera position on my avatar. (That will be done by zero or one receivers.)
2015-08-10 12:34:01 -07:00
ZappoMan
ae958dd42d Merge branch 'master' of https://github.com/highfidelity/hifi into RenderableModelEntityItemOptimization 2015-08-10 09:59:45 -07:00
ZappoMan
668778cfd9 optimize JointState::setRotationInConstrainedFrameInternal() to short cut cases where targetRotation matches previous targetRotation 2015-08-09 16:55:43 -07:00
Brad Davis
64fcd2da96 Merge pull request #5530 from ZappoMan/RenderableModelEntityItemOptimization
optimizations to RenderableModelEntityItem::render()
2015-08-07 15:32:07 -07:00
Seth Alves
b1e69537f3 Merge pull request #5524 from howard-stearns/cleanup-jointstate
Clean Up JointState
2015-08-07 13:50:02 -07:00
ZappoMan
cec0f8ed1d optimize ModelEntityItem::getAnimationFrame() 2015-08-07 13:43:57 -07:00
Howard Stearns
145b730f80 Clean up instantiation. 2015-08-07 12:27:26 -07:00
Howard Stearns
a840a17106 Change name originalRotation defaultRotation. 2015-08-06 19:45:58 -07:00
Howard Stearns
42cc34cd64 JointState has our own copy of any ivars we want from FBXJoint, instead of keeping a reference to the fbx. 2015-08-06 16:54:09 -07:00
Howard Stearns
02f57286e4 Don't let individual startAnimation get messed up by blend/fade. 2015-08-06 11:30:18 -07:00
Anthony J. Thibault
c3fc37df18 Added true boneSets to AnimOverlay. 2015-08-05 18:07:56 -07:00
Anthony J. Thibault
1f8c8adbd6 Added AnimOverlay node, moved blend sub-routine into AnimUtil. 2015-08-05 17:05:53 -07:00
Anthony J. Thibault
2d0315978e Fix for compilation on linux. 2015-08-05 12:32:15 -07:00
Anthony J. Thibault
2154f76202 Added some comments to AnimNode, AnimClip & AnimBlendLinear. 2015-08-05 12:03:20 -07:00
Howard Stearns
bb974edf7f Add assert on mix range. 2015-08-05 11:09:04 -07:00
Howard Stearns
f51b5be167 Simplify fade normalization, eliminating a loop. 2015-08-05 11:00:40 -07:00
Howard Stearns
653e46fdd3 const methods. 2015-08-05 10:51:26 -07:00
Howard Stearns
2f2b59b6b6 Merge branch 'master' of https://github.com/highfidelity/hifi into smooth-faded-animations 2015-08-05 10:05:05 -07:00
Howard Stearns
a1f86cc7b8 Make MSVC happy. 2015-08-04 19:49:12 -07:00
Anthony J. Thibault
5d83976e2a Added AnimBlendLinear + tests.
MyAvatar now does a sine wave blend between a walk
and a walk animation.
2015-08-04 18:14:50 -07:00
Anthony J. Thibault
559367db4a Got to the bottom of the bind pose question.
When TRUST_BIND_TRANSFORM is defined in AnimSkeleton, the bind pose is taken
from the FBXJoint::bindTransform field, which is correct for all joints
bound to actual geometry.  Basically it's not trust worthy for bones NOT bound to anything.

When TRUST_BIND_TRANSFORM is not defined, the bind pose is taken from the other
FBXJoint fields.  Unfortunatly these poses are NOT the bind pose, but instead
are taken from the FBX files 'resting' pose. i.e. frame 0.
2015-08-04 18:14:49 -07:00
Anthony J. Thibault
d8a20340a0 Found and fix source of memory corruption.
std::vector.reserve() and raw access do not mix.
raw access will only work if you push_back elements onto the vector
first.  However this worked fine on MacOSX, probably due to differences
in STL implementations.

Some code clean up and some commented out debugging lines.

Debug rendering of animaions of fight club model is not working.
Not sure what frame these transformations are in.
2015-08-04 18:14:49 -07:00
Anthony J. Thibault
55da34f713 Better debug rendering of animations.
* added mat4 cast and mat4 ctors to AnimPose.
2015-08-04 18:14:48 -07:00
Anthony J. Thibault
df79463750 WIP, animNode rendering 2015-08-04 18:14:48 -07:00
Anthony J. Thibault
d1fdbe32d2 optimizations for debug rendering of AnimSkeleton 2015-08-04 18:14:47 -07:00
Anthony J. Thibault
b8bae7cc3f Debug rendering of MyAvatar’s skeletonModel skeleton 2015-08-04 18:14:47 -07:00