Commit graph

188 commits

Author SHA1 Message Date
Andrew Meadows
933cade6b0 Re-add fullUpdate hint to Model::simulate() 2014-04-02 16:34:33 -07:00
Andrew Meadows
97ba5250a5 Only simulate() Avatar Models when necessary
Also: rebuild collision shapes when Model scale changes
2014-04-02 12:01:18 -07:00
Andrew Meadows
515593e41c modify avatar thrust during collisions 2014-04-01 17:25:26 -07:00
Andrew Meadows
3d43956c11 bounding shape relative to model's root Joint 2014-04-01 11:39:40 -07:00
Andrew Meadows
1bbdc9d78b Adding bounding capsule shape for Model
Also:
Cleaned up the automatic geometry LOD loading
Removed staticExtents data member from FBXGeometry
Split debug rendering of bounding shapes from joint shapes
2014-04-01 09:25:25 -07:00
Andrew Meadows
5406490719 rename _shapes -> _jointShapes
also stubbed Model::createBoundingShape()
2014-03-28 11:00:30 -07:00
Andrew Meadows
fff7a36b54 merge upstream/master into physics project
Conflicts:
	interface/src/avatar/Hand.cpp
	interface/src/avatar/Hand.h
	interface/src/avatar/SkeletonModel.cpp
	interface/src/avatar/SkeletonModel.h
	interface/src/renderer/Model.h
2014-03-25 15:55:26 -07:00
Andrzej Kapolka
62884f1f4f Don't use textures/fancy shaders when rendering shadow map. Closes #2270. 2014-03-24 13:15:03 -07:00
Andrzej Kapolka
635f3b6dc3 Perform the mesh blending in worker threads and only when we've actually
received new data.  Closes #2075.  Closes #2348.
2014-03-18 16:38:05 -07:00
Andrzej Kapolka
299dbb93ea Removed "springiness" bits. 2014-03-18 13:57:36 -07:00
Andrew Meadows
02c58447df merge upstream/master into "shapes" project
Conflicts:
	interface/src/avatar/MyAvatar.cpp
	interface/src/avatar/SkeletonModel.cpp
	interface/src/avatar/SkeletonModel.h
	libraries/avatars/src/HandData.h
	libraries/shared/src/SharedUtil.h
2014-03-18 12:41:20 -07:00
Andrzej Kapolka
5b30f932c1 Fix for slight graphical glitches on loading avatars. 2014-03-13 14:09:12 -07:00
Andrzej Kapolka
43feef3ebd Only update the full set of joints when we've received new data from the
mixer.  Closes #2274.
2014-03-13 12:03:02 -07:00
Andrzej Kapolka
bc3bba9240 Get rid of unused, expensive "average color" nonsense. 2014-03-11 14:01:23 -07:00
Andrew Meadows
47e340dafe Merge upstream/master
Conflicts:
	interface/src/avatar/MyAvatar.cpp
2014-03-07 09:16:33 -08:00
Andrzej Kapolka
44374732fa Further joint bits. 2014-03-06 19:30:24 -08:00
Andrzej Kapolka
3adea84b81 Basic joint data sending. Closes #2166. 2014-03-06 17:07:29 -08:00
Andrew Meadows
868e92c0fa Merge upstream/master' into shapes branch 2014-03-06 12:45:43 -08:00
Andrew Meadows
778bdec6d8 Model now knows its bounding radius 2014-03-06 12:34:21 -08:00
Andrzej Kapolka
a7af3bc284 Merge branch 'master' of https://github.com/highfidelity/hifi
Conflicts:
	interface/src/avatar/MyAvatar.cpp
2014-03-05 18:08:59 -08:00
Andrzej Kapolka
ad25455f86 Track hysteresis for next model separately, but just in case, don't use
recursion to fall back on hysteresis value.  Closes #2209.
2014-03-05 18:06:14 -08:00
Andrew Meadows
831a8cf580 remove unused cruft from Model class API 2014-03-05 12:15:34 -08:00
Andrew Meadows
89f664c0ee fixing incorrect documentation comment 2014-03-05 11:52:47 -08:00
Andrew Meadows
7db5aaaf37 new collision pipeline for avatar shapes 2014-03-05 07:08:59 -08:00
Andrew Meadows
7ba5bc71ea Merge branch 'master' of ssh://github.com/highfidelity/hifi into shapes
Conflicts:
	interface/src/renderer/FBXReader.cpp
	interface/src/renderer/Model.cpp
	interface/src/renderer/Model.h
2014-03-04 09:01:24 -08:00
Andrew Meadows
1a8c10e132 Correcting a comment. 2014-03-03 17:35:52 -08:00
Andrew Meadows
8ef657e5b2 Render avatar collision shapes in the right spot 2014-02-28 17:05:08 -08:00
Andrzej Kapolka
0bb3752121 Fixed seg fault, don't attempt to transfer joints between different models
(as opposed to different LODs).
2014-02-28 14:29:18 -08:00
Andrzej Kapolka
21a149348b When switching models, retain old one until new one is loaded. Closes #2146. 2014-02-28 13:57:25 -08:00
Andrzej Kapolka
2639796402 Wait until both head and body are loaded before rendering. Closes #2145. 2014-02-28 12:22:10 -08:00
Andrew Meadows
50a5924574 Using shapes for collisions against Model
rather than building tapered capsule shapes on the fly
2014-02-27 17:33:36 -08:00
Andrew Meadows
9dc26ddfa7 First pass: add collision Shapes to Model 2014-02-27 15:50:16 -08:00
Andrzej Kapolka
e91d47174b Removed unused function. 2014-02-27 12:37:17 -08:00
Andrzej Kapolka
cd2bd32210 Delay loading models until we know that we need them (i.e., that we're not
beyond billboard distance).  Closes #2121.
2014-02-27 12:30:46 -08:00
Andrzej Kapolka
f335bb8171 Preserve joint states when switching between LODs. Closes #2077. 2014-02-26 13:40:09 -08:00
Andrzej Kapolka
ac02609bc2 The basic billboard behavior, closes #1864. 2014-02-21 15:38:49 -08:00
Andrzej Kapolka
6b90a3994d Working on avatar billboards. 2014-02-20 19:22:59 -08:00
Andrzej Kapolka
f7fcbc234e Fixes for Xcode warnings with no Visage, explanatory comments for Model's
base geometry pointer.
2014-02-19 11:47:40 -08:00
Andrew Meadows
4848aa1d16 Merge branch 'master' of ssh://github.com/highfidelity/hifi into avatar-interaction 2014-02-17 09:14:06 -08:00
Andrew Meadows
335141049c Cleaning up collision check API's and re-enabling collisions with particles. 2014-02-14 16:33:19 -08:00
Andrzej Kapolka
91fac4eebe Merge branch 'master' of https://github.com/highfidelity/hifi 2014-02-13 17:38:23 -08:00
Andrzej Kapolka
078b15c02d Add some hysteresis on the LOD switching to prevent rapid switching back
and forth.
2014-02-13 16:20:43 -08:00
Andrzej Kapolka
6a39290bf5 Basic LOD switching based on distance to camera. 2014-02-13 13:37:29 -08:00
Andrew Meadows
04bc05cfe6 Moving hand-avatar collision trigger calls into MyAvatar
Also renaming some methods in Model to be more descriptive.
2014-02-12 08:29:22 -08:00
Andrzej Kapolka
e29d6210bb Merge pull request #1981 from AndrewMeadows/avatar-interaction
Avatar body-body collisions
2014-02-11 16:02:43 -08:00
Andrew Meadows
3b3359abce Merge branch 'master' of ssh://github.com/highfidelity/hifi into avatar-interaction 2014-02-11 14:02:08 -08:00
Andrew Meadows
d0f9b78710 Adding avatar body-body collisions to prevent near-clipping. 2014-02-11 13:48:48 -08:00
Andrew Meadows
887fa0c938 Only resolve our hand collisions that would not move the other avatar.
This helps us only penetrate the moveable parts of other avatars.
2014-02-11 09:23:40 -08:00
Andrzej Kapolka
f9e9d62fe3 Merge branch 'master' of https://github.com/highfidelity/hifi 2014-02-10 19:02:58 -08:00
Andrzej Kapolka
2071da2c8a Provide a means to specify a fallback for when we fail to load a model. Also
added missing associated resources for default model.  Closes #1960.
2014-02-10 18:50:36 -08:00
Andrew Meadows
e73c9f7095 It is now possible to "poke" moveable parts of the avatar skeleton. 2014-02-10 14:07:50 -08:00
Andrew Meadows
7a8186f1da Adding ModelCollisionInfo struct to get more info about collisions against avatars.
Had to disable some collisions.  Will go back and make them work again soon.
2014-02-07 10:48:30 -08:00
Andrew Meadows
64ca66a2b7 Making renderCollisionProxies() public and measuring bounding volumes of hands. 2014-02-06 14:09:08 -08:00
Andrzej Kapolka
3edb81baf4 Check for texture translucency, render translucent mesh parts after opaque
ones, without alpha testing, and with back face culling enabled.
2014-01-28 12:01:32 -08:00
Andrzej Kapolka
865b495e6c Merge branch 'master' of https://github.com/worklist/hifi into debone
Conflicts:
	interface/src/Audio.cpp
	interface/src/Menu.cpp
	interface/src/avatar/Avatar.h
	interface/src/avatar/MyAvatar.cpp
	interface/src/devices/Webcam.cpp
	interface/src/devices/Webcam.h
	interface/src/renderer/FBXReader.cpp
2014-01-16 13:35:03 -08:00
Andrzej Kapolka
3f08504e3e Replaced missing functionality. 2014-01-16 12:39:07 -08:00
Andrew Meadows
4b94e53acf Removing Model::findSpherePenetrationWithJoint() which was experimental method that was not finally used. 2014-01-15 17:02:02 -08:00
Andrew Meadows
32f3621855 merge upstream work into local repo 2014-01-15 14:13:48 -08:00
Andrew Meadows
761fdc9d84 Adding methods to Model for accessing hand info and computing hand collisions. 2014-01-14 16:19:57 -08:00
Andrzej Kapolka
5d88953f12 First cut at stretching the arms out and aligning forearms with wrists.
Closes #1423, #1504.
2014-01-14 15:27:28 -08:00
Andrzej Kapolka
aa9fc290a5 Minimum chat circle radius from Ryan, basic avatar/voxel orbit behavior. 2014-01-03 16:46:11 -08:00
Andrzej Kapolka
6c27569e9b Fix arm bending, compile warning. 2014-01-02 13:23:15 -08:00
Andrzej Kapolka
02cd97deb1 Adjust palm collision size, use last free index when ignoring. 2013-12-05 16:28:33 -08:00
Andrzej Kapolka
b90c5bdae8 Option to render collision proxies, more general avatar penetration test, fix
for meshes with only one joint influence.
2013-12-05 14:00:38 -08:00
Andrzej Kapolka
0ea0887f66 Add a scale factor to bone radii. 2013-12-05 11:21:56 -08:00
Andrzej Kapolka
9b3560d414 Skip the hands' parents as well as the hands themselves. 2013-12-05 11:10:22 -08:00
Andrzej Kapolka
70ca1106b1 Working on testing the Leap/Hydra hands against the avatar body. 2013-12-03 17:28:36 -08:00
Andrzej Kapolka
817946bed5 Attempting to rotate longitudinally at elbow, rather than wrist. 2013-12-03 11:05:38 -08:00
Andrzej Kapolka
76d8bd0a9c Finger IK, take two. 2013-11-13 13:53:41 -08:00
Andrzej Kapolka
d87dccd614 Alignment to pull elbows towards ground. 2013-11-13 12:06:08 -08:00
Andrzej Kapolka
a36f9d52af Constraint fix, apply constraints to wrists. 2013-11-12 15:43:11 -08:00
Andrzej Kapolka
49c9d41dd5 Read and enforce angle constraints (untested). 2013-11-08 14:49:38 -08:00
Andrzej Kapolka
4360621daf Adjustments to wrist rotations. 2013-11-07 13:17:08 -08:00
Andrzej Kapolka
e6cd9a7368 Working on wiring up the fingers. 2013-11-07 12:12:48 -08:00
Andrzej Kapolka
1706c7c97a New IK method: will be easier to add constraints, adds "gravity" influence to
sap potential energy.
2013-11-06 15:51:26 -08:00
Andrzej Kapolka
9460fb87c2 Return arm to neutral position when mouse pointer is invisible. 2013-11-05 16:06:11 -08:00
Andrzej Kapolka
9c5ebfcf77 If the skeleton has meshes, don't render the balls and sticks. 2013-10-30 16:44:40 -07:00
Andrzej Kapolka
06e050f1c1 Normal map support almost there. 2013-10-29 22:13:00 -07:00
Andrzej Kapolka
4f34d89c4a Added left hand/hand rotation setters in preparation for Leap integration. 2013-10-28 14:38:09 -07:00
Andrzej Kapolka
b56d47929b Extremely basic IK based on implementation of the cyclic coordinate descent
algorithm.  Actually seems to work pretty well.
2013-10-28 13:38:22 -07:00
Andrzej Kapolka
41f73b5e9d Support for attaching models to joints. 2013-10-23 15:16:29 -07:00
Andrzej Kapolka
9dd41f4206 Render sticks, use avatar colors. 2013-10-22 16:52:44 -07:00
Andrzej Kapolka
1f8bed9d9c More transform rejiggery. 2013-10-22 15:31:27 -07:00
Andrzej Kapolka
a33c7ce20c More work on extracting rotations. 2013-10-22 12:54:32 -07:00
Andrzej Kapolka
9d89baa506 Apply the neck position. 2013-10-21 17:30:26 -07:00
Andrzej Kapolka
b5f2dcfa55 Use the head position from the loaded skeleton, if available. 2013-10-21 16:58:01 -07:00
Andrzej Kapolka
349f7b363a More work on custom skeletons. 2013-10-21 16:14:38 -07:00
Andrzej Kapolka
ea50d6f22e Forgot these guys. 2013-10-18 17:49:34 -07:00