Commit graph

192 commits

Author SHA1 Message Date
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
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
Seth Alves
b39c7eadd2 Merge branch 'master' of github.com:highfidelity/hifi into serverless-domains 2018-03-13 09:24:18 -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
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
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
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