Commit graph

311 commits

Author SHA1 Message Date
samcake
221b513b19 Oh boy 2018-05-25 16:33:34 -07:00
Sam Gateau
aa49595a23 Merge branch 'master' of https://github.com/highfidelity/hifi into punk 2018-05-24 18:19:55 -07:00
Sam Gateau
b8b337dbe4 There and back again... 2018-05-24 01:18:36 -07:00
Sam Gateau
13d02011f3 There and back again... 2018-05-24 00:53:29 -07:00
samcake
184d50b018 Well 2018-05-22 17:55:26 -07:00
David Rowe
6d4f704279 Regularize some JSDoc usage 2018-05-21 09:32:10 +12:00
samcake
36a08fdd84 Friday night end of the day, last compilation.... almost 2018-05-18 17:41:28 -07:00
Andrew Meadows
a23126a6b2 Merge 'master' into 'workload' 2018-05-18 07:38:02 -07:00
samcake
aa18aaa7b1 Maybe 2018-05-17 18:06:46 -07:00
samcake
735db27919 Merge branch 'master' of https://github.com/highfidelity/hifi into punk 2018-05-16 17:18:23 -07:00
Andrew Meadows
6de175e794 avatars collide again 2018-05-11 17:01:48 -07:00
samcake
5db3eee4ad Merge branch 'master' of https://github.com/highfidelity/hifi into workload 2018-04-25 15:21:43 -07:00
David Rowe
cae9447ac5 Doc review 2018-04-25 15:09:47 +12:00
David Rowe
98f43b6a70 Interim JSDoc for MyAvatar - stubs for remainder 2018-04-24 10:47:33 +12:00
David Rowe
719062dd9f Interim JSDoc for MyAvatar - first pass 2018-04-24 09:10:59 +12:00
Andrew Meadows
06af31594e merge 'master' into 'workload' 2018-04-20 15:07:46 -07:00
Anthony J. Thibault
c29bf51226 Fix for avatar glitches, head and legs folding into chest.
As a form of compression, when encoding avatar data we only send joints that have changed significantly from the previous packet.
Also, if a joint has the same value as the avatar's default pose, we don't send the full value, instead we mark it with a single bit.

This particular issue is caused by an interaction between the default value flag and the joint changed culling.

When connecting to a domain for the first time, it's possible that a I-frame or 'full' packet will not be sent for several seconds.
In this case, the AvatarMixer has no previous history for values that have not changed recently.
This causes the AvatarMixer to broadcast incorrect values to other clients.
Keep in mind that the AvatarMixer does not have access to the avatar FBX file, so it cannot make an educated guess for this value and uses zero values instead.
(0, 0, 0) for translation and (0, 0, 0, 1) for rotation.

When a translation value of zero is received for the lower legs it will cause the legs to fold into the avatar's chest.

Also, we've uncovered a bug where sometimes values were not sent to the AvatarMixer even when the value was previously default.
This would also exhibit the same issue where zero translation values would be sent.

I've done three things to help mitigate this issue.

1) On first connect to a new AvatarMixer, the Avatar now sends a 'full' packet.
2) When a joint rotation or translation changes from the default value, we transmit it.  No questions asked.
3) Once a SkeletonModel has finished loading we initialize the avatar's _jointData with the proper
   translations from the default pose.  This will help the case where a client receives a non default value, but has no previous history.

(cherry picked from commit 94efdf76a6454f316985f95d6a221adb24788d66)
2018-04-16 14:58:33 -07:00
samcake
59a081bcdb merge with upstream 2018-03-30 18:08:38 -07:00
samcake
a896e9872c adressing the avatar vissibility switch 2018-03-14 17:09:23 -07:00
Seth Alves
b39c7eadd2 Merge branch 'master' of github.com:highfidelity/hifi into serverless-domains 2018-03-13 09:24:18 -07:00
samcake
9bec8cdd0b Merge branch 'master' of https://github.com/highfidelity/hifi into workload-master 2018-03-12 12:01:00 -07:00
samcake
10447bf10e Fix the fact that all avatars should cast shadows, not just MyAvatar. since this is always a SkeletonMOdel class let s just turn it on by default there 2018-03-09 13:04:04 -08:00
Sam Gateau
dc122b4ce8 Merge branch 'master' of https://github.com/highfidelity/hifi into master-workload 2018-03-07 18:14:44 -08:00
Seth Alves
9f2be4db8f Merge branch 'master' of github.com:highfidelity/hifi into serverless-domains 2018-03-07 15:04:38 -08:00
Seth Alves
507dfa5ec3 more code review response 2018-03-02 11:35:34 -08:00
Andrew Meadows
3ca21dda67 Merge hifi/master of into hifi/workload 2018-02-28 10:28:31 -08:00
SamGondelman
cc53b338db Merge remote-tracking branch 'upstream/master' into scriptableMaterials 2018-02-27 13:30:03 -08:00
Seth Alves
636c271dc3 merge from upstream 2018-02-27 09:21:08 -08:00
John Conklin II
48f0cded05
Merge pull request #12440 from humbletim/Leopoly_Phase1_010_graphics-scripting
Leopoly_Phase1_010 Graphics Scripting
2018-02-27 07:53:25 -08:00
Seth Alves
666fa77be2 Merge branch 'master' of github.com:highfidelity/hifi into serverless-domains 2018-02-26 13:53:20 -08:00
SamGondelman
6fe2d46d7c merge 2018-02-26 12:40:14 -08:00
humbletim
f824edd04e * remove Model_temporary_hack
* split gpuhelpers and mesh part
* fix objwriter
* more work on bufferview helpers
* cr cleanup
2018-02-26 04:58:22 -05:00
SamGondelman
b56f755034 material reflection 2018-02-23 17:58:46 -08:00
Seth Alves
77febe0aab save avatar-entities which are created while using a serverless domain 2018-02-23 16:03:08 -08:00
humbletim
6ea4b660b7 CR feedback; remove ok bool pointer and all metadata; cleanup 2018-02-23 07:47:39 -05:00
Anthony J. Thibault
86351f19a9 Merge branch 'master' into bug-fix/entity-mat-avatar-dual-quaternions 2018-02-22 08:44:21 -08:00
humbletim
4fd3d9bf7b cleanup; formalize data structures 2018-02-22 08:18:38 -05:00
humbletim
72fca7e57e Merge remote-tracking branch 'samuel/scriptableMaterials' into Leopoly_Phase1_010_graphics-scripting-merge 2018-02-22 05:18:05 -05:00
humbletim
be8d79f53f CR fedback and cleanup 2018-02-22 05:15:01 -05:00
Andrew Meadows
e7495d830b maintain Space proxies for entities 2018-02-20 17:39:05 -08:00
SamGondelman
4c6169ec78 merge and a little cleanup 2018-02-20 15:45:34 -08:00
humbletim
5791ca4c51 interim checkin 2018-02-20 12:22:04 -05:00
Sam Gateau
fd49c0d100
Merge pull request #12401 from SamGondelman/decals
Material Entities
2018-02-19 10:58:02 -08:00
SamGondelman
b189433855 merge 2018-02-15 15:50:36 -08:00
SamGondelman
2d754edf74 CR 2018-02-15 15:48:41 -08:00
Dante Ruiz
bbcf865db3 Merge branch 'master' of github.com:highfidelity/hifi into fix-edit-avatar-entities 2018-02-15 15:03:12 -08:00
Dante Ruiz
e4db09fef8 don't update avatar entities if the avatars ID is AVATAR_SELF_ID 2018-02-15 15:02:45 -08:00
Sam Gondelman
15cdfef16a
Merge branch 'master' into decals 2018-02-14 17:33:01 -08:00
SamGondelman
324eefc914 remove fresnel, add unlit, fix overlays, cleanup 2018-02-14 17:02:07 -08:00
samcake
6357f36a97 Fixing names 2018-02-14 10:39:14 -08:00
Anthony J. Thibault
d2c199104e Avatars use Dual Quaternion Skinning and Model Entities do not. 2018-02-13 17:47:49 -08:00
SamGondelman
4500ed17e7 merge from master 2018-02-13 13:58:39 -08:00
samcake
a98f55298b Merge branch 'master' of https://github.com/highfidelity/hifi into blue 2018-02-13 13:06:58 -08:00
samcake
f64e5f2444 Introducing the cull group 2018-02-13 13:06:26 -08:00
Andrew Meadows
8231a56b22 pull task out of render and into its own lib 2018-02-13 08:56:11 -08:00
SamGondelman
9e8aa1898c warnings, load material from URL, shapeID -> parentMaterialID 2018-02-12 12:50:09 -08:00
SamGondelman
5337377ef5 Merge remote-tracking branch 'upstream/master' into decals 2018-02-09 14:40:20 -08:00
SamGondelman
84cd0e1529 wip live material swapping on model entities, model overlays, avatars,
and albedo swap on shape entities
2018-02-09 12:00:08 -08:00
Andrew Meadows
96c97547f9
Merge pull request #12205 from jherico/no_widgets
Remove some unneeded Qt dependencies
2018-02-05 15:32:54 -08:00
humbletim
06afaa7470 BufferView <-> QVariant/QScriptValue conversion
update MeshProxy/SimpleMeshProxy and ScriptableModel

ModelScriptingInterface / scriptable::ModelProvider

integration

update to RC-63

initial graphics-scripting refactoring

graphics-scripting baseline commit

wip commit

Geometry -> MeshPart

remove SimpleMeshProxy

collapse graphics-utils -> graphics-scripting

scriptable::Model => scriptable::ScriptableModel
2018-02-01 16:30:29 -05:00
Brad Davis
0781d8eaf0 Remove some unneeded Qt dependencies 2018-01-28 22:18:24 -08:00
samcake
8dfa3aace3 cleaning en route 2018-01-26 17:34:37 -08:00
SamGondelman
c8aded0688 watch for attachment texture loading 2018-01-18 12:40:02 -08:00
Seth Alves
45406177e5 avoid a deadlock when clearing avatar entities 2018-01-17 17:56:25 -08:00
Seth Alves
33c586de60
Merge pull request #12188 from hyperlogic/feature/small-anim-refactor
Remove dangerous "Use Anim Pre and Post Rotations" menu item
2018-01-17 13:41:51 -08:00
Seth Alves
69a33428c0
Merge pull request #12078 from druiz17/soft-entities
Soft Entities
2018-01-17 08:02:37 -08:00
Anthony J. Thibault
bc587bf6d8 Removal of legacy Rig methods 2018-01-16 18:19:35 -08:00
Anthony J. Thibault
576273efe3 Remove Rig::restoreJointPosition and references to it. 2018-01-16 18:01:58 -08:00
humbletim
08ccda9cfc rename libraries/model(src/model) -> libraries/graphics(src/graphics) 2018-01-16 12:44:44 -05:00
Dante Ruiz
c76fdd1f5f adding scale 2018-01-15 10:43:26 -08:00
Dante Ruiz
283b9a8003 fix softEntity edge cases 2018-01-12 15:31:54 -08:00
Anthony J. Thibault
088f227df2 Pass model offset from avatar skeletonModel to attached entity 2018-01-12 10:26:02 -08:00
Dante Ruiz
96a97b5938 added model transform override 2018-01-11 16:41:45 -08:00
Dante Ruiz
980807c657 make changes 2018-01-10 16:50:41 -08:00
Dante Ruiz
c4253f3b3b Merge branch 'master' of github.com:highfidelity/hifi into soft-entities 2018-01-09 15:31:38 -08:00
John Conklin II
fab28e7d44
Merge pull request #12106 from SamGondelman/overlayFix
Fix avatar texture loading
2018-01-08 14:01:15 -08:00
SamGondelman
97c0b33975 fix avatar texture loading 2018-01-08 12:50:05 -08:00
Brad Hefta-Gaub
7a3835eb33
Merge pull request #11945 from jherico/android_nov
Updating android toolchain for QML
2018-01-05 13:34:03 -08:00
Dante Ruiz
597cb6ae9e remove unused variables 2018-01-04 13:57:15 -08:00
Dante Ruiz
a204685566 don't do unnecessary work 2018-01-04 13:44:04 -08:00
Dante Ruiz
527d00871a making relaying translation work 2018-01-04 11:57:51 -08:00
Dante Ruiz
e1a7f9bfb8 working on imporving soft-entities 2018-01-03 08:47:11 -08:00
Dante Ruiz
6fa3446c57 joints are being relayed to children 2018-01-02 13:54:13 -08:00
Dante Ruiz
be9bf31843 Merge branch 'master' of github.com:highfidelity/hifi into soft-entities 2018-01-02 08:04:26 -08:00
druiz17
0ebbb76b49 fixed property over written issue and start relaying joints 2017-12-29 16:12:40 -08:00
Seth Alves
96197e66bb Merge branch 'master' of github.com:highfidelity/hifi into scale-wearables-with-avatar-3 2017-12-22 15:13:02 -08:00
SamGondelman
bd06dc6443 cleaning up modelmeshpartpayload 2017-12-20 11:00:14 -08:00
Brad Davis
c6bc6f6ef2 Merge remote-tracking branch 'upstream/master' into android_nov 2017-12-16 16:20:16 -08:00
Brad Davis
6cff86b0f3 Fix polyvox archive, correct build errors, add additional libraries 2017-12-12 18:29:36 -08:00
Seth Alves
d095d4ef44 Merge branch 'master' of github.com:highfidelity/hifi into scale-wearables-with-avatar-3 2017-12-08 07:19:33 -08:00
Anthony J. Thibault
542af47e9e Fix for hand controller avatar scaling.
* Added getDomainMaxScale() and getDomainMinScale() to JS api.
* Updated scaleAvatar controller module to use this to prevent scaling past the limits.
* Made sure that getDomainMaxScale() getDomainMinScale() and getUnscaledEyeHeight are thread safe,
  so that they can be invoked on the script thread.
* Added signals to Model class that can be used to let observers know when the Rig has finished initializing it's skeleton.
  and also when the skeleton is no longer valid.  These hooks are used to cache the unscaled eye height of the avatar.
2017-12-07 17:08:13 -08:00
Seth Alves
40412b80c6 Merge branch 'master' of github.com:highfidelity/hifi into scale-wearables-with-avatar-3 2017-12-07 17:03:04 -08:00
Anthony J. Thibault
095bedcd3f code review feedback 2017-12-07 10:08:18 -08:00
Anthony J. Thibault
fbcecbfc89 Merge branch 'master' into feature/domain-limited-height 2017-12-07 10:01:33 -08:00
Seth Alves
b590cd5b89 avatar-entities which are children of an avatar will scale with the avatar 2017-12-02 09:31:43 -08:00
Anthony J. Thibault
0ec72f2559 warning fix 2017-11-28 17:45:13 -08:00
Anthony J. Thibault
9f54ce55f3 Change domain setting from min/max avatar scale to min/max avatar height
* Domain settings version has been bumped from version 2.0 to 2.1
* Old domain settings for avatar scale will be auto-converted to avatar height
* Avatar code has been changed so that limitDomainScale() works with the new height limits
* Avatar getUnscaledEyeHeight() was added to C++.
* MyAvatar.getHeight() was added to JS.
2017-11-21 13:25:47 -08:00
ZappoMan
b44ced4c21 Merge branch 'master' of https://github.com/highfidelity/hifi into entityItemCleanup 2017-11-20 17:19:18 -08:00
ZappoMan
04ee1adabd Merge branch 'master' of https://github.com/highfidelity/hifi into entityItemCleanup 2017-11-19 14:40:31 -08:00
Seth Alves
93fd2a6a6b clear garbage out of avatar-entity settings array before writing it to disk. when changing domains, re-rez avatar-entities after octree is cleared 2017-11-15 20:10:05 -08:00
Anthony J. Thibault
b49891c0f8 Bug fix for MyAvatar.getEyeHeight() 2017-11-15 11:27:42 -08:00
Anthony J. Thibault
ba4c0f189e code review feedback
removed discontinuity in safeDeltaTime, which is used to prevent division by zero.
2017-11-10 10:25:29 -08:00
Anthony J. Thibault
4169e11e77 Merge branch 'master' into bug-fix/div-by-zero 2017-11-10 10:15:26 -08:00
samcake
f665bf384b merge with upstream, and clean code 2017-11-06 17:02:10 -08:00
ZappoMan
b5199220ab cleanup SpatiallyNestable Velocity to match WorldVelocity naming 2017-11-02 17:07:53 -07:00
ZappoMan
afaad5fcd7 Merge branch 'master' of https://github.com/highfidelity/hifi into entityItemCleanup 2017-11-02 13:39:51 -07:00
Sam Gateau
56510abd1e Trying to set the ClusterBuffer in the render loop instead of the game loop 2017-11-02 03:45:27 -07:00
samcake
455f2ad277 trying to change the root transorm update 2017-11-01 18:14:36 -07:00
ZappoMan
f63db42c0e migrate SpatiallyNestable::getOrientation to getWorldOrientation, remove redundant getRotation 2017-10-28 10:14:25 -07:00
ZappoMan
a7a0f03ede rename SpatiallyNestable::getPosition() to SpatiallyNestable::getWorldPosition() 2017-10-27 18:39:17 -07:00
MissLiviRose
c7857d4fc3 actually remove href not script 2017-10-26 17:47:04 -07:00
MissLiviRose
0ab06d624a remove href property for non-owned avatar entities 2017-10-26 17:35:51 -07:00
Seth Alves
aaf3c24a44 handle camera-relative controller joints for other avatars 2017-10-17 12:36:15 -07:00
Anthony J. Thibault
18d723b6b4 div by zero fixes, detected by address sanitizer 2017-10-10 16:17:39 -07:00
Anthony J. Thibault
0757f513af Merge branch 'master' into feature/ant-man 2017-09-18 11:36:39 -07:00
Anthony J. Thibault
3f6c88e77f Avatar Attachments now render correctly
* moved Avatar::fixupModelsInScene off the newly created render thread back
  to the main thread.
* updated Avatar::postUpdate to take a scene pointer, necessary for
  Avatar::fixupModelsInScene
* updated developer/tests/avatarAttachementTest.js to account for recent
  changes in avatar attachment scale, commit 712aff7ad.
* updated initialization of anim graph to use Model::isLoaded() instead of
  Model::initWhenReady() to know when the model was completely loaded.
2017-09-15 11:23:09 -07:00
Anthony J. Thibault
b81f85e1ae Merge branch 'master' into feature/ant-man 2017-09-11 15:14:03 -07:00
Anthony J. Thibault
559ac6786d Fix MyAvatar getting stuck in T-pose on loading
Before this change, there was a race condition between the main thread calling Model::initWhenReady,
and the render thread calling Avatar::fixupModelsInScene().  They both would end up setting the
Model::_addedToScene flag.  This race caused Model::initWhenReady() to never return true, which
resulted in the MyAvatar class never initializing the animation system.
2017-09-08 11:44:06 -07:00
Anthony J. Thibault
f4f9c29bff Fix for avatar scale preferences 2017-09-07 15:30:16 -07:00
Anthony J. Thibault
23ff1b9ead Fixes for scaling controller display
Adds MyAvatar.sensorToWorldScaleChanged signal.
2017-09-05 15:03:41 -07:00
Anthony J. Thibault
6618ba12e9 Merge branch 'master' into feature/ant-man 2017-08-31 18:10:39 -07:00
Anthony J. Thibault
c9cdaadeb5 Better scale support in SpatiallyNestable class.
Previously avatar used SpatiallyNestable scale to keep track of model rendering scale.
It now uses a new member variable _modelScale instead. This is important because the
notion of "Avatar" space does NOT include scale, so this is now reflected correctly in
the SpatiallyNestable class.

Similarly, EntityItems no longer stuff dimensions into the SpatiallyNestable scale
field.  a new _dimensions member variable is used instead.  The SpatiallyNestable scale
field for entities should always be one.

Parent joints can now have scale if getAbsoluteJointScaleInObjectFrame() returns a non-zero scale.
This is used in the case of the faux SENSOR_TO_WORLD_MATRIX_INDEX joint.

Overlays now ignore the SpatiallyNestable scale, and render using only orientation, position and dimensions.

Added qDebug stream support for Transform class.
2017-08-30 15:46:36 -07:00
Zach Fox
fdcc149c34 Merge branch 'master' of https://github.com/highfidelity/hifi into SelectionScriptingInterface 2017-08-30 13:27:18 -07:00
Anthony J. Thibault
9cd8b6991e Merge branch 'master' into feature/ant-man 2017-08-30 08:58:55 -07:00
Chris Collins
47a2e57e26 Merge pull request #10625 from humbletim/21180-C++
CR 21180-C++ Camera app -- core changes
2017-08-30 07:20:00 -07:00
Zach Fox
0cdef28cfd Fixup after Merge branch 'master' of https://github.com/highfidelity/hifi into SelectionScriptingInterface 2017-08-28 14:55:18 -07:00
Anthony J. Thibault
573985c7c9 Merge branch 'master' into feature/ant-man 2017-08-28 09:27:04 -07:00
Anthony J. Thibault
937f400534 Bug fixes for Avatar::getEyeHeight() when no feet joints are present 2017-08-25 18:23:19 -07:00
Brad Davis
e817d3ced4 Threaded rendering & entity rendering refactor 2017-08-24 13:34:34 -07:00
humbletim
9348048387 Merge remote-tracking branch 'upstream/master' into 21180-C++ 2017-08-24 16:23:47 -04:00
Anthony J. Thibault
246097b65e WIP support for scale within SpatiallyNestable class.
currently disabled by the SPATIALLY_NESTABLE_SCALE_SUPPORT pre-processor symbol.
2017-08-24 11:18:38 -07:00
Zach Fox
88c24c16d7 I finally understand - initial progress 2017-08-23 15:02:07 -07:00
Anthony J. Thibault
963ddce7bc Use eye-height to match user and avatar scales, follow fixes
Fix postPhysicsUpdate to properly transform follow displacement into sensor frame.
2017-08-21 17:42:24 -07:00
Anthony J. Thibault
80b660b258 Added userHeight accessors and preference
Also made Avatar::getHeight thread-safe
2017-08-21 17:42:23 -07:00
Anthony J. Thibault
d196743986 Added Avatar::getHeight() method 2017-08-21 17:42:22 -07:00
Sam Gateau
79f3be1efe Merge pull request #11021 from Zvork/fade2
Fade dissolve effect  JUST AVATARS
2017-08-10 13:48:30 -07:00
Anthony J. Thibault
1b6feb63c8 Fix for crash when attempting to teleport while avatar was loading
The fix had two parts.
  * Make Avatar::getAbsoluteDefaultJointXXXInObjectFrame thread safe
  * Make teleport.js handle a zero foot offset more gracefully, to prevent the avatar from teleporting into the floor.
2017-08-01 18:40:43 -07:00
Andrew Meadows
8c55476c65 fix motor direction when walking upside down
also maintain worldUp and remove unnecessary cruft
2017-07-24 16:00:13 -07:00
Andrew Meadows
29be9aee65 move nextAttitude() from AvatarData to MyAvatar 2017-07-24 16:00:13 -07:00
humbletim
f9e0e616f7 Merge remote-tracking branch 'upstream/master' into 21180-C++ 2017-07-18 17:34:39 -04:00
Olivier Prat
b125fba2e1 Removed untested avatar bubble fade code. Made changes as requested by Andrew 2017-07-13 23:04:55 +02:00
Olivier Prat
b68ec4f933 Merge branch 'master' of git://github.com/highfidelity/hifi into fade 2017-07-13 22:36:52 +02:00
Olivier Prat
edcfecd5d4 Merge branch 'master' of git://github.com/highfidelity/hifi into fade 2017-07-13 11:05:14 +02:00
Olivier Prat
2d2722bfc5 Added async transition query on scene 2017-07-13 11:05:04 +02:00
Seth Alves
85d0b68284 try again on putting result of Avatar::getJointNames in index order 2017-07-12 20:36:37 -07:00
Seth Alves
44de1dd2be put result of Avatar::getJointNames back in index-order 2017-07-12 19:25:39 -07:00
Stephen Birarda
f6d9a79fb5 Revert "Revert "fix for invisible avatars after radius ignore"" 2017-07-12 10:36:53 -07:00
Olivier Prat
2f9885870b First merge with Sam's fader branch with custom pipeline support in shape plumber 2017-07-12 17:29:21 +02:00
Olivier Prat
7552cca316 First alpha version of bubble collision fade events. Missing a lot of information. 2017-07-11 19:26:15 +02:00
Olivier Prat
381e0c64a8 Working avatar fade in / fade out except that it is also triggered on bubble collisions 2017-07-11 16:43:27 +02:00