Commit graph

941 commits

Author SHA1 Message Date
Andrew Meadows
03114fa610 add AvatarsPerSec trace stats 2016-12-20 11:45:21 -08:00
Andrew Meadows
ee6a9f4506 adding profile stats relating to avatar CPU costs 2016-12-16 13:41:31 -08:00
Stephen Birarda
53769f4edf change scale for avatar if domain limited scale changes 2016-11-10 14:58:04 -08:00
Brad Hefta-Gaub
770bf35d2b CR feedback 2016-11-09 14:31:18 -08:00
Brad Hefta-Gaub
cf3d1011f4 remove scripts from avatar attached entities for other avatars 2016-11-09 12:26:57 -08:00
Seth Alves
f47aeae2a7 stop passing bare pointers to EntityTreeRenderer all around 2016-10-27 10:10:22 -07:00
Brad Hefta-Gaub
bf732127ca Merge pull request #8856 from jherico/geometry_ids
Remove the use of implicit ids in geometry cache
2016-10-20 08:14:49 -07:00
Brad Davis
2705ee7030 Remove the use of implicit ids in geometry cache 2016-10-19 11:18:25 -07:00
Zach Pomerantz
a9bad592f9 ensure model attachment lifetimes 2016-10-18 18:01:18 -07:00
Seth Alves
39f52b3682 start on faux avatar joint that represent hand controllers 2016-08-25 10:58:23 -07:00
Anthony J. Thibault
c6ea64926c Sensor space entity support
You can do this by parenting an entity to an avatar's -2 joint index.
This will mean that the entity will follow the avatar as it moves in the world, but
will not follow the avatar's position as it moves in sensor space.  Essentially, this
gives you the ability to place objects in the user's physical room.

WebTablets now are located in this feature and no longer jitter.
2016-08-23 10:13:06 -07:00
SamGondelman
771e105fa2 Merge remote-tracking branch 'upstream/master' into loadingFade 2016-08-05 16:52:01 -07:00
SamGondelman
2eb0c7735f working on fading shape entities 2016-08-03 13:30:05 -07:00
Seth Alves
f91df4997d re-enable falling-back to default avatar if an avatar's url is bad 2016-08-02 11:55:11 -07:00
Seth Alves
56af36ae64 set head position of other avatars even if they can't be drawn 2016-08-02 11:29:43 -07:00
Seth Alves
229b8d3b5e testing a more explicit fix of the audio failure 2016-08-02 10:46:11 -07:00
Seth Alves
ed4b0b3589 call _skeletonModel.setURL, but leave our copy of _skeletonModelURL alone. This is so that we don't redo this every time we receive an identity packet from the avatar with the bad url. 2016-08-02 09:57:17 -07:00
Seth Alves
b953e6f0ff when an avatar URL fails, switch to the default 2016-08-01 18:12:30 -07:00
Seth Alves
11542aeca2 pick against avatar's capsule and then against the T-pose mesh 2016-07-07 16:36:25 -07:00
Seth Alves
9114ebb548 remove unused code 2016-06-29 09:53:26 -07:00
Seth Alves
03ed36cf33 take shape offset into account when getting avatar's capsule 2016-06-29 09:13:52 -07:00
Seth Alves
4e70e8ed42 js call to ray-pick against avatars 2016-06-28 09:55:49 -07:00
Chris Collins
b14f9cd312 Merge pull request #8041 from sethalves/fix-avatar-entity-locking
Fix avatar entity locking
2016-06-13 13:10:32 -07:00
Seth Alves
f070708b4a _avatarEntityData is accessed by more than one thread. 2016-06-08 15:53:54 -07:00
Anthony J. Thibault
9292a9ce0b Added MyAvatar.hmdLeanRecenterEnabled property
Used to disable the 'room-scale' avatar re-centering code.
Disabling this can prevent sliding when the avatar is supposed to be sitting or mounted on a stationary object.

Also, removed a bunch of old, unused leaning and torso twisting code.
2016-06-03 13:56:32 -07:00
Anthony J. Thibault
b4d14f06d8 Bugfix for avatar LOD
If an avatar was LOD'ed out, it would never become visible again, because the bounds of the skeleton model were never again.
This ensures that the model bound is updated, even when the avatar is LOD'ed away.
2016-05-26 14:35:17 -07:00
Anthony J. Thibault
a1c32f8c44 Merge branch 'master' into tony/improved-avatar-mixer-precision 2016-05-23 10:24:52 -07:00
Seth Alves
d95d3ff3ac clean up debugging prints 2016-05-20 14:56:47 -07:00
Anthony J. Thibault
b48134e30c WIP commit testing for joint mapping transmission 2016-05-18 11:40:45 -07:00
Seth Alves
cf829f1bab magic number 2016-05-17 19:14:44 -07:00
Seth Alves
c784ca9771 debugging 2016-05-11 18:45:56 -07:00
Seth Alves
fcd2e45d67 merge from upstream 2016-05-11 18:45:32 -07:00
Seth Alves
872f1b0c64 clear avatarEntity data for entities that are deleted 2016-05-10 17:48:55 -07:00
Seth Alves
de12680ff1 don't put actions on other people's avatarEntities 2016-05-10 16:43:27 -07:00
Seth Alves
b05ab1b17e set simulationOwner to be the same as the owningAvatar 2016-05-10 15:59:25 -07:00
Seth Alves
4b13fd969e split code that sends edits via avatar-mixer out of queueEditEntityMessage 2016-05-10 15:37:54 -07:00
Anthony J. Thibault
80a349c65b Merge branch 'master' into tony/improved-avatar-debug-draw 2016-05-10 14:50:13 -07:00
Seth Alves
1e849956c9 get rid of _avatarEntityChangedTime 2016-05-10 14:48:19 -07:00
Seth Alves
c572e1dc3a delete avatar-associated entities when the avatar goes away 2016-05-10 10:30:49 -07:00
Seth Alves
4c1f815870 Merge branch 'master' of github.com:highfidelity/hifi into avatar-entities-3 2016-05-10 10:09:40 -07:00
Anthony Thibault
87d513b5f8 fixed unused variable warnings 2016-05-08 18:14:18 -07:00
Anthony J. Thibault
641e152699 Eye tracking bug fix and debug rendering improvement
* Bug fix for eye tracking in HMD, the "up" orientation of your eyes now match your head.
* DebugDraw: added drawRay method.
* Application: Renamed preRender to postUpdate
* AvatarManager: added postUpdate method that iterates over all avatars.
* MyAvatar: Renamed preRender to preDisplaySide
* MyAvatar: split preRender code into postUpdate and preDisplaySide.
* Removed "Show who is looking at me", "Render focus indicator" and "Render lookat target" debug draw.
* Split "Show Look At Vectors" into "Show My Look At Vectors" and "Show Other Look At Vectors", to make it easier to debug eye tracking.
* "Show Look at Vectors" now draws the right eye red and the left eye blue.
* Removed Avatar and MyAvatar renderBody
* Removed look at rendering from head.
* GLMHelpers: Bugfix for generateBasisVectors when up primary and secondary axis were orthogonal
2016-05-08 16:20:32 -07:00
Seth Alves
0e6d9a1eec avatar mixer can relay "client-only" entities between interfaces -- the entity server wont know about them. 2016-05-07 14:48:31 -07:00
Andrew Meadows
635e2e78e3 minor cleanup 2016-05-05 18:43:08 -07:00
Andrew Meadows
71b2d647e8 add locks and explicitly copy ViewFrustums 2016-05-05 18:28:27 -07:00
Andrew Meadows
bcf2cc8074 use references not pointers for ViewFrustums
also unravelling some spaghetti:
(1) split Octree stuff out of ViewFrustum
(2) moved ViewFrustum from octree to shared lib
(3) removed some cruft
2016-05-05 18:28:27 -07:00
Anthony J. Thibault
97f836d3bb Avatar: fix for avatar meta item bound.
* In the case where a SkeletonModel was renderable, but had not actually
  created the render items yet, don't use the the rendererableMeshBound
  for the meta render item, because it hasn't been computed yet!  Instead
  wait until the render items have been added to the scene before using
  the more accurate bound...
2016-04-12 17:32:49 -07:00
Anthony J. Thibault
711a1b8c7d Avatar: update renderItems when avatar position or render mesh is in the frustum.
Previously, when render mesh was visible the renderItems they were not updated with the latest avatar mixer joints rotations and position.
This would result in a frozen avatar being visible.

Now the renderItems are updated when the render mesh is in the frustum or the bounding sphere around the avatar position is visible.
2016-04-08 13:14:50 -07:00
Anthony J. Thibault
bc967f0ab0 Model: update renderItems when items are added to the scene.
* Renamed enqueueLocationChange to updateRenderItems
* Call updateRenderItems when models are added to the scene.

This will fix entity render bounds being incorrect when they are first added to the scene,
then later being correct after a position update.

* Renamed getMeshPartBound to getRenderableMeshBound.
* Avatar now uses getRenderableMeshBound() to do boundingRadius vs frustum check.
* Model::getRenderableMeshBound now returns a more accurate bound, because it is the same one used for rendering.

This will fix avatar freezing, when they are in the corner of your frustum.
This was due to matrices not being updated because the avatar had to a small bounding sphere.
2016-03-31 14:59:27 -07:00
Zach Pomerantz
b6bf392f94 Defer avatar URL change to render thread 2016-03-30 14:39:35 -07:00
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