Commit graph

941 commits

Author SHA1 Message Date
Zach Pomerantz
5d306a74d5 Merge branch 'master' of github.com:highfidelity/hifi into feat/geocaching 2016-03-25 10:09:37 -07:00
Anthony J. Thibault
ba4520fe56 Avatar: fix for Avatar animation updates while wearing HMD
The boundingSphere vs frustum check now uses the displayViewFrustum, which
more accurately reflects the actual projection matrix used for rendering.
2016-03-24 13:23:30 -07:00
Zach Pomerantz
3e9e083df5 Update users of NetworkGeometry 2016-03-24 11:35:41 -07:00
Anthony J. Thibault
7cab8f63fb Merge branch 'master' of github.com:highfidelity/hifi into tony/no-locks-no-problem 2016-03-21 16:03:33 -07:00
Anthony J. Thibault
ce47f83288 Prevent deadlock if idle is called during rendering
This extraordinary event can occur if a MessageBox is popped up by the opengl driver.

* removed AvatarData::avatarLock
* removed AvatarUpdate

This code was left over from an earlier avatar threading experiment.

Removed AvatarData avatarLock and AvatarUpdate class
2016-03-21 15:11:15 -07:00
Brad Hefta-Gaub
492e71345a Revert "Revert "Fix ModelBlender crash""
This reverts commit f274cdcc7f.
2016-03-21 11:42:25 -07:00
Brad Hefta-Gaub
f274cdcc7f Revert "Fix ModelBlender crash" 2016-03-21 10:47:31 -07:00
Brad Hefta-Gaub
917c4644a5 make SkeletonModel be shared_ptr friendly as well 2016-03-17 18:03:49 -07:00
Brad Hefta-Gaub
7483b8546b remove FaceModel, make Model support shared_from_this() so we can ave shared and weak pointers to it 2016-03-17 17:05:35 -07:00
Anthony Thibault
1e94d9bdf5 interface/src/avatar: cppcheck fixes 2016-03-13 18:56:15 -07:00
Anthony J. Thibault
807d31743c Removed Hand, HandData & PalmData
Instead, we just store two controller::Poses in MyAvatar.
Existing behavior and scripting APIs have been preserved.

The hand controller debug drawing is slightly different, but still works.
2016-03-10 19:33:31 -08:00
Seth Alves
d95d0f59cb keep removed attachment models around for one extra call to fixupModelsInScene 2016-03-09 14:36:50 -08:00
Anthony J. Thibault
9a01c93322 Avatar: fix for rendering avatar attachments 2016-02-26 14:28:27 -08:00
Andrew Meadows
f964df6c97 final names for ViewFrustum intersection tests 2016-02-25 18:09:35 -08:00
Andrew Meadows
dfdf375853 use shapeInFrustum() names again
but at the same time make the code more redable
also: add some more efficient shape-touches-view methods
and cleanup some whitespace
2016-02-25 18:09:35 -08:00
Brad Hefta-Gaub
202a456e1a Merge pull request #7126 from AndrewMeadows/cleanup
cleanup ViewFrustum method names
2016-02-25 16:12:25 -08:00
Zach Pomerantz
32ce7c6eab Rename light surfaceRadius->falloffRadius 2016-02-25 10:02:33 -08:00
Andrew Meadows
9c927ea36b ViewFrustum method renames and whitespace cleanup
fooInFrustum() --> computeFooViewLocation()
except pointInFrustum() --> computeFrustumLocation()
2016-02-25 09:11:28 -08:00
Zach Pomerantz
c2ed5e5474 Merge branch 'master' of github.com:highfidelity/hifi into fix/light-intensity 2016-02-24 16:24:09 -08:00
Andrew Meadows
8d91912d4b Merge pull request #7162 from hyperlogic/tony/controller-velocity
Improve hand controller move and throw velocity
2016-02-23 17:13:13 -08:00
samcake
1c53f9bc87 Fix the cleanup of the render::Item::ID in the EntityITem Rendereable wich were often not invalidated after beeing removed from the scene. THis caused a bug with particule system when beeing added /removed / updated quickly 2016-02-23 10:40:50 -08:00
Anthony J. Thibault
0fd260076b SixenseManager: fix velocity and angularVelocity computation
Copied the delta based computation of velocity and angularVelocity that was in
Application::setPalmData() and moved it into SixenseManager.  This will guarantee
that the velocity computation is the same as it was previously.  The goal here is
to NOT change the behavior of the hydra.

The moving average style calculation of velocities has been removed.

Removed dead code.
2016-02-22 20:05:41 -08:00
Zach Pomerantz
8ac84b3fc2 Render point/spot lights with surface radii 2016-02-22 15:07:08 -08:00
samcake
640bf81339 Forcing an update from teh avatar manager to the avatar renderItems when beeing updated 2016-02-16 17:19:31 -08:00
Anthony J. Thibault
072172b1a2 SpatiallyNestable: now with velocity support!
Moved velocity and angularVelocity into the SpatiallyNestable base class.

Entity velocity and angularVelocity properties are now relative to their parent, similar to the way position and orientation work for entities.

MyAvatar rig animations now use SpatiallyNestable to convert velocity into local frame to drive the animation state machine.
2016-02-08 19:43:23 -08:00
Howard Stearns
47694b90ee Fix inverted boolean that was preventing other people's avatars from mouth-animating. 2016-02-05 11:47:21 -08:00
Seth Alves
2501be16cb base palm position on finger joint rather than an offset from hand joint. double size of near-grab sphere 2016-02-01 18:11:27 -08:00
samcake
1b52d700a0 Merge pull request #6871 from Atlante45/feat/draw-call-info
Unify normal and named draw paths
2016-02-01 14:19:15 -08:00
Atlante45
7e8ea4dc77 Update primitive instance rendering calls 2016-02-01 18:50:01 +01:00
howard-stearns
1225e50581 One round of billboard shredding. Server/wire/AvatarData have not been
touched.
2016-01-27 16:15:43 -08:00
howard-stearns
e145cf60be cleanup init 2016-01-26 13:01:29 -08:00
howard-stearns
2e7f1cbb3f Align avatar animation with LOD visibility. 2016-01-26 11:59:18 -08:00
Seth Alves
09dd3e2a56 merge from upstream, respond to code review 2016-01-19 14:38:22 -08:00
Anthony J. Thibault
b750128c94 Avatar: centeralized palm rotation/position to world space calculation. 2016-01-19 11:03:00 -08:00
Anthony J. Thibault
ec2f8db83a Avatar: Fix for one frame lag in hold action
AvatarActionHold now uses the most recent un-cached palm positions/orientations
instead of the cached version from the previous frame.
2016-01-18 17:37:28 -08:00
Seth Alves
41c46423ba add support for avatar set/get parent Joint Index, as well 2016-01-18 13:09:09 -08:00
Atlante45
11dc3cd261 Move primitive rendering out of DeferredLightingEffect 2016-01-13 11:47:43 -08:00
Anthony J. Thibault
7bef1ebdac Merge remote-tracking branch 'upstream/master' into tony/soft-avatar-attachment-script 2016-01-07 16:14:52 -08:00
Anthony J. Thibault
031f59b7b5 Support for adding soft attachments from script.
Also, bug fixes for setting MyAvatar.attachmentData property.
2016-01-07 16:12:36 -08:00
Andrew Meadows
c1206ca73d fix bad merge 2016-01-07 10:19:46 -08:00
Andrew Meadows
e0ec941476 fix typo 2016-01-07 10:19:46 -08:00
Andrew Meadows
6a642bdcf8 fix misusage of smart-pointers 2016-01-07 10:19:46 -08:00
Andrew Meadows
6eb177091b overhaul of MotionState cleanup
Moved MotionState deletes out of PhysicsEngine.
EntityMotionStates are deleted by the PhysicsEntitySimulation.
AvatarMotionStates are deleted in the Avatar dtor.
2016-01-07 10:19:46 -08:00
Brad Hefta-Gaub
335ab3c501 fix warnings 2016-01-06 15:24:52 -08:00
Brad Hefta-Gaub
c2f2f950fb Merge pull request #6673 from hyperlogic/tony/get-palm-thread-safe
Make Avatar palm position/rotation accessors thread safe
2016-01-05 13:07:47 -08:00
Anthony J. Thibault
a21b604746 Simplified implementation of ThreadSafeValueCache 2016-01-05 11:08:08 -08:00
Anthony J. Thibault
9ea6079c64 Merge branch 'master' into tony/get-palm-thread-safe 2016-01-05 10:16:52 -08:00
Seth Alves
ce1b8ae6f0 Merge branch 'master' of github.com:highfidelity/hifi into near-grab-via-parenting 2016-01-04 19:35:36 -08:00
Howard Stearns
9c8a04ce1e Merge branch 'master' of https://github.com/highfidelity/hifi into pid-render-limits 2016-01-04 09:26:14 -08:00
Anthony J. Thibault
feb63772f3 ThreadSafeValueCache added class and method descriptions
Also, changed callback prototype.
2015-12-29 17:08:17 -08:00
Anthony J. Thibault
17e6a04aa8 Renamed ThreadSafeValue to ThreadSafeValueCache
Also bug fixes where I was incorrectly swapping left and right hands.
2015-12-29 16:35:31 -08:00
Anthony J. Thibault
e7f3f549a5 Avatar getPalm* methods are thread-safe and non-blocking
Uses newly added ThreadSafeValue template class.
2015-12-29 15:10:38 -08:00
Anthony J. Thibault
e67fdf1c04 Merge branch 'master' into tony/get-palm-thread-safe 2015-12-29 14:08:55 -08:00
Anthony J. Thibault
c2dd00375d Merge branch 'master' into tony/soft-attachments 2015-12-29 13:21:37 -08:00
Anthony J. Thibault
1618e0a92f Network, Preferences and UI support for soft attachments
Added an isSoft field to the AttachmentData which is edited
by the Attachment Dialog Menu, sent over the network via
AvatarData identity packets and saved in the Interface.ini preferences.

AvatarData and AvatarBulkData version number has been bumped.

Changed Avatar attachment collections to use smart pointers to models
instead of raw ones.  Removed _unusedAttachmentModels.
I don't think the caching was worth the added code complexity.
2015-12-18 13:32:09 -08:00
Seth Alves
a5d37bed60 Merge branch 'master' of github.com:highfidelity/hifi into near-grab-via-parenting 2015-12-18 09:12:57 -08:00
Howard Stearns
9a68176693 Merge branch 'master' of https://github.com/highfidelity/hifi into pid-render-limits 2015-12-18 09:11:06 -08:00
Brad Hefta-Gaub
0b781a3589 fix warnings 2015-12-17 18:39:05 -08:00
Howard Stearns
da27cacdec Merge branch 'master' of https://github.com/highfidelity/hifi into pid-render-limits 2015-12-16 20:56:33 -08:00
howard-stearns
23ffcdca3e big sweep 2015-12-16 17:01:14 -08:00
Seth Alves
9e5116bf4f Merge branch 'dejitter-hold-action' of github.com:sethalves/hifi into near-grab-via-parenting 2015-12-16 15:56:31 -08:00
Anthony J. Thibault
2d4180f065 Make Avatar palm position/rotation accessors thread safe
These are called directly from script threads and can result
in out of bounds array accesses when called while the main thread
is initializing the rig.

I was able to reproduce this in debug builds.
2015-12-16 13:15:16 -08:00
Seth Alves
0003c607ea Merge branch 'master' of github.com:highfidelity/hifi into near-grab-via-parenting 2015-12-15 18:46:21 -08:00
Andrew Meadows
0e1e5db7eb only need one animateScaleChanges() implementation 2015-12-15 18:18:08 -08:00
Andrew Meadows
9b0c199ed7 updateAvatarPhysicsShape-->addAvatarToSimulation 2015-12-15 18:18:08 -08:00
Andrew Meadows
bab07516f0 fix size of rendered bounding capsule 2015-12-15 18:18:08 -08:00
Andrew Meadows
33634cdaa1 properly delete departing avatars 2015-12-15 18:18:08 -08:00
Andrew Meadows
e9f52b1211 properly scale avatar collision shape 2015-12-15 18:18:08 -08:00
Seth Alves
a3631ea1d1 Merge branch 'master' of github.com:highfidelity/hifi into near-grab-via-parenting 2015-12-15 10:12:49 -08:00
Anthony J. Thibault
3f0cdb3c02 Merge branch 'master' into tony/js-avatar-default-pose 2015-12-14 11:19:24 -08:00
Brad Hefta-Gaub
be058398a2 remove blue sphere while speaking 2015-12-13 12:02:39 -08:00
Seth Alves
6c033d9603 call locationChanged when receiving changing avatar joints over the network. RenderableModelEntityItem uses locationChanged to relay updates to _model 2015-12-11 11:35:42 -08:00
Anthony J. Thibault
652ce5501f Expose Avatar default pose to JavaScript
New JavaScript API to get the avatar's default pose.

   MyAvatar.getDefaultJointRotation(index);
   MyAvatar.getDefaultJointTranslation(index);

See `examples/tPose.js` for example usage
2015-12-10 13:57:31 -08:00
Atlante45
739e184b52 Fix attachments jitter 2015-12-10 11:19:11 -08:00
Seth Alves
f99812a903 adjust method names to fit convention 2015-12-07 14:31:08 -08:00
Seth Alves
fff4e3e831 make SpatiallyNestable setters take values by reference 2015-12-06 12:01:30 -08:00
Seth Alves
a948ae5f19 children of avatar joints might be right, now 2015-12-06 10:48:00 -08:00
Seth Alves
9a80c4d681 call locationChanged on children of joints when joints change 2015-12-06 05:43:23 -08:00
Anthony J. Thibault
7abfc93ff9 Avatar::getJointRotation and getJointTranslation is thread-safe
It can be called from script with minimal blocking,
because it inspects a copy of the joint values from the Rig, which is updated atomically.
This copy occurs in Rig::updateAnimations()
2015-12-04 16:16:17 -08:00
Brad Hefta-Gaub
0ad4efeeb9 Merge pull request #6555 from howard-stearns/remove-unimplemented-collision-shapes-menu-item
Remove unimplemented collision menu items
2015-12-04 11:25:08 -08:00
Howard Stearns
cb67f05103 Remove unimplemented menu items Developer->Avatar->Show Skeleton/Head Collision Shapes. 2015-12-04 10:47:27 -08:00
Seth Alves
f18fc84c2d fix debug build 2015-12-02 10:46:10 -08:00
Seth Alves
b7ebe5b92b merge from upstream 2015-11-30 16:59:52 -08:00
Seth Alves
cf39cac7fc attempt to make SpatiallyNestable data access thread-safe 2015-11-29 12:50:33 -08:00
Seth Alves
ca75802b9c unmangle merge 2015-11-26 06:43:28 -08:00
Anthony J. Thibault
7c9cb97783 Merge branch 'master' into tony/remove-joint-states 2015-11-25 15:48:51 -08:00
Howard Stearns
6c7099a5f7 Coordinate with other uses of setVisibleInScene. 2015-11-25 15:18:32 -08:00
Anthony J. Thibault
23def8d173 Merge branch 'master' into tony/remove-joint-states 2015-11-25 13:55:23 -08:00
howard-stearns
546f09c0b1 Restore rendering of one's own avatar. 2015-11-25 13:30:54 -08:00
Anthony J. Thibault
868cf83b48 Fix for attachments and MyAvatar::getDefaultEyePosition() 2015-11-25 10:07:29 -08:00
Andrew Meadows
bc20b72645 Merge pull request #6453 from howard-stearns/avatar-render-controller2
Survive Flash Mobs Without Making Everyone Sick
2015-11-25 09:52:28 -08:00
Anthony J. Thibault
f120e10ff4 Merge branch 'master' into tony/remove-joint-states 2015-11-24 15:00:05 -08:00
Brad Davis
64ba5b4f14 Cleaning up old recording files 2015-11-23 09:42:34 -08:00
Anthony J. Thibault
821264a031 Merge branch 'master' of github.com:highfidelity/hifi into tony/remove-joint-states 2015-11-22 16:15:03 -08:00
Seth Alves
f013f95e9b merge from upstream 2015-11-21 08:43:00 -08:00
Anthony J. Thibault
cb89f09635 Removed EntityRig and AvatarRig. One Rig to rule them all. 2015-11-20 14:27:01 -08:00
Howard Stearns
9673133bf4 whitespace (reduce diffs) 2015-11-20 14:26:37 -08:00
Anthony J. Thibault
a77ea8da43 Removed JointStates! You won't be missed. 2015-11-20 14:15:37 -08:00
howard-stearns
1ddcc62db9 Merge branch 'master' of https://github.com/highfidelity/hifi into avatar-render-controller2 2015-11-20 14:05:40 -08:00
Anthony J. Thibault
ad4b8e0001 Avatar transmission fixes, moved JointData into shared
* Moved JointData into shared library
* added methods to the rig to copy into and out of JointData
* JointData translations must be in meters this is so the
  fixed point compression wont overflow, also, it's a
  consistent wire format.
2015-11-20 10:24:24 -08:00
Stephen Birarda
5140a480a1 fix for recursive write then read lock 2015-11-19 15:35:41 -08:00
Howard Stearns
f6286201f4 cleanup 2015-11-19 11:55:22 -08:00
Howard Stearns
7d30cd0159 checkpoint: it works! 2015-11-19 09:18:40 -08:00
Howard Stearns
fee13d4375 Rebuild on a new branch after original stopped building. 2015-11-17 20:06:25 -08:00
Seth Alves
60824a1fb0 back out some off-brand changes. add parentChanged call 2015-11-03 16:07:28 -08:00
Seth Alves
dba9eb7046 merge from upstream 2015-11-03 13:35:17 -08:00
Brad Davis
4c076d8b12 Disabling billboard rendering, source of the evil black rectangles 2015-11-03 11:34:05 -08:00
Brad Davis
764ecba2a8 Adding diagnostics to track down the 'black rectangles of death' 2015-11-02 21:55:35 -08:00
Seth Alves
3ac0fef1ea merge from upstream 2015-11-01 15:22:57 -08:00
Brad Davis
ccbae81dad Merge branch 'master' into HEAD
Conflicts:
	interface/src/avatar/SkeletonModel.cpp
2015-10-29 10:24:38 -07:00
Howard Stearns
bc0e14cb71 Don't render avatar's renderBoundingCollisionShapes before the data is there.
(Found while trying to repro "Deadlock in AvatarData::nextAttitude() on main thread" https://app.asana.com/0/32622044445063/61023569045356)
2015-10-28 13:58:44 -07:00
Brad Hefta-Gaub
5a42991e0c first pass at cleaning up MyAvatars use of PalmData 2015-10-27 13:51:42 -07:00
Seth Alves
bc99ef778c change how render engine is told about model position changes 2015-10-20 12:04:29 -07:00
Seth Alves
a78f2a9577 have avatar make use of SpatiallyNestable 2015-10-18 09:48:46 -07:00
Seth Alves
275e77d29e remove old-style avatar referentials 2015-10-18 07:51:00 -07:00
Seth Alves
b18bb1e076 Merge pull request #6084 from AndrewMeadows/physics-cleanup
move DIRTY_FLAGS out of EntityItem namespace
2015-10-16 07:22:40 -07:00
Andrew Meadows
fa17b77d70 move DIRTY_FLAGS out of EntityItem namespace 2015-10-15 09:34:09 -07:00
Seth Alves
7c52849740 change how hold action works 2015-10-13 11:36:58 -07:00
Atlante45
fb284448b5 Raise display name not to collide with heads 2015-10-07 15:21:35 -07:00
Atlante45
efeeaa7ea7 Make display names 25% smaller 2015-10-07 15:14:06 -07:00
Atlante45
14a1860670 Do not change keyhole radius 2015-10-07 14:55:18 -07:00
Atlante45
fd6f0213ef CR 2015-10-07 14:55:18 -07:00
Atlante45
79b280f733 Update getDisplayNamePosition debug 2015-10-07 14:55:18 -07:00
Atlante45
91b46203f3 Don't take keyhole into account 2015-10-07 14:55:17 -07:00
Atlante45
946d289a99 Display name have a arc size instead of pixel size 2015-10-07 14:55:17 -07:00
Atlante45
35e2f8cd89 Removed _myAvatar from Application 2015-10-06 13:56:25 -07:00
Atlante45
cf3b33a96b Replace Application::getInstance() with qApp 2015-10-06 13:56:19 -07:00
Seth Alves
50dd8eba45 Relay joint translations across network. Apply animation's root-joint translation to avatar. 2015-09-26 11:40:39 -07:00
samcake
910038cf82 Merging 2015-09-21 17:47:23 -07:00
Bradley Austin Davis
e024d23366 Instancing work, second pass 2015-09-21 13:27:02 -07:00
samcake
8941741508 Migrating the rendering code to the Material Maps and adding the simplae variables to the the TextutreMap 2015-09-18 18:47:18 -07:00
Howard Stearns
4ffe2d0747 Merge pull request #5786 from AndrewMeadows/ik-with-constraints
inverse kinematics works with rotation constraints
2015-09-11 17:34:50 -07:00
Brad Davis
e458eb7ae9 Merge pull request #5734 from sethalves/octree-shared-pointers
octree uses shared pointers
2015-09-11 16:00:04 -07:00
Andrew Meadows
c589f0e58e fix logic around rendering of hand targets 2015-09-11 13:42:17 -07:00
Andrew Meadows
8d5106b072 improved debug render of hand coordinates
also cleaned up includes in Hand.h
2015-09-11 13:22:11 -07:00
Seth Alves
31fcd55d47 octree uses shared pointers 2015-09-08 11:59:48 -07:00
Howard Stearns
d472fd66ff Cleanup. 2015-09-07 17:26:22 -07:00
Howard Stearns
efeaf21305 Checkpoint smoother. 2015-09-07 16:32:51 -07:00
Howard Stearns
0065c64b31 Snapshot of no-judder, before cleanup. 2015-09-07 09:57:05 -07:00
Howard Stearns
32eb51d0fa Merge branch 'master' of https://github.com/highfidelity/hifi into decouple-avatar-updates 2015-09-03 13:55:57 -07:00
Andrew Meadows
b7d892cfcd Merge pull request #5691 from ctrlaltdavid/display-names-in-front
Only render display names if in front of camera
2015-09-01 19:59:06 -07:00
Howard Stearns
8cf71f285d Merge branch 'master' of https://github.com/highfidelity/hifi into decouple-avatar-updates 2015-09-01 16:03:40 -07:00
Seth Alves
76923583ee Interface only sends joint data to avatar-mixer if they have changed enough since the last send 2015-09-01 13:31:34 -07:00
David Rowe
2b17eafef4 Only render display names in front of camera 2015-09-01 10:24:50 -07:00
Howard Stearns
475331a97d Sprinkle locks everywhere. 2015-08-26 16:08:07 -07:00
Andrew Meadows
1d7d5071ae Merge pull request #5633 from howard-stearns/restore-body-indicators
Restore body indicators (e.g., lookAt vectors).
2015-08-23 15:46:57 -07:00
Howard Stearns
b579b996c3 There was a hidden (and inappropriate) dependency on face model loading. 2015-08-21 15:07:39 -07:00
David Rowe
6ee22055fa More temporary logging to track down cause of assert 2015-08-21 12:48:08 -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
537b690d60 Merge pull request #5566 from howard-stearns/recapitate
Get rid of separate head/body avatar
2015-08-19 10:46:05 -07:00