Commit graph

441 commits

Author SHA1 Message Date
Andrew Meadows
3072161a30 improved collision shapes of models 2014-04-17 15:18:46 -07:00
Andrzej Kapolka
a12dd916fa More plane intersection bits. 2014-04-10 11:24:45 -07:00
Andrzej Kapolka
f61c746b4a Merge branch 'master' of https://github.com/highfidelity/hifi 2014-04-10 09:45:23 -07:00
Andrzej Kapolka
9f58264cb6 Working on plane collisions, pushing back camera from intersecting avatars. 2014-04-09 18:07:56 -07:00
Andrew Meadows
22d2f84cff merge upstream/master into andrew/scripting 2014-04-09 15:38:56 -07:00
Andrew Meadows
e480064e66 rename more shapeShape() to be collideShapes() 2014-04-09 13:07:54 -07:00
Stephen Birarda
684c6b5372 run regex header replacement on all cpp files 2014-04-09 09:35:42 -07:00
Andrzej Kapolka
15e9d45dc3 Switched from storing Euler angles to using quaternions along with a
quaternion editor.  Also, use a default step of 0.01 for floats/doubles.
2014-04-07 15:41:42 -07:00
Andrzej Kapolka
a2b94aa433 Working on render modes. 2014-04-04 14:22:01 -07:00
Andrzej Kapolka
a0c7e4d3cc Working on model rendering modes. 2014-04-04 11:45:03 -07:00
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
b65855a384 merge upstream/master into avatar-interaction 2014-04-01 12:53:47 -07:00
Andrew Meadows
3d43956c11 bounding shape relative to model's root Joint 2014-04-01 11:39:40 -07:00
Andrew Meadows
03d04e194d Init bounding Extents for more correct shapes 2014-04-01 10:39:58 -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
Andrzej Kapolka
ca9f0c01c1 Couple of quick fixes: reset the skeleton joints when space is pressed as a
last resort to fix broken IK, don't render display names at the origin if
we don't have a skeleton model.
2014-03-27 11:08:55 -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
0fc0d50bda Only post the blender if we have blendable meshes to blend. 2014-03-18 17:19:42 -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
ffe3717573 Enable back face culling on the opaque parts of avatars. 2014-03-12 15:10:33 -07:00
Andrzej Kapolka
e249b29b45 Merge pull request #2268 from AndrewMeadows/radians
prefer radians over degrees
2014-03-12 12:10:29 -07:00
Andrew Meadows
aa8c2fc8cb use radians instead of degrees (almost) everywhere 2014-03-11 17:26:58 -07:00
Andrzej Kapolka
bc3bba9240 Get rid of unused, expensive "average color" nonsense. 2014-03-11 14:01:23 -07:00
Andrzej Kapolka
c6655382d6 Initialize scale to unity. Closes #2232. 2014-03-10 10:52:46 -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
c5ab32235f Merge branch 'master' of https://github.com/highfidelity/hifi into joints 2014-03-06 17:09: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
Stephen Birarda
b705ec560f cleanup resources directory references by copying beside the executable 2014-03-06 11:46:49 -08:00
Stephen Birarda
403f91c988 update resource references to use Qt resource system 2014-03-06 10:41:11 -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
a1856ac18b fix bad transform math for placing shapes 2014-03-05 11:57:07 -08:00
Andrew Meadows
7db5aaaf37 new collision pipeline for avatar shapes 2014-03-05 07:08:59 -08:00
Andrew Meadows
3d426a24f1 Fixing build warnings 2014-03-04 09:54:34 -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
4ef2067421 Use capsules for some joints and render them. 2014-03-03 17:49:24 -08:00
Andrew Meadows
1c0826d696 Add JointShapeInfo for joint shape calculations 2014-03-03 12:31:09 -08:00
Stephen Birarda
60eb588e96 remove some unecessary null pointer checks 2014-03-03 11:36:01 -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
73ec568b4b Further work on request limiting. 2014-02-27 19:28:45 -08:00
Andrew Meadows
b8c1bab4ae Using pre-computed Model shapes for collisions
...instead of generating collision shapes on the fly
2014-02-27 17:52:35 -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
8745ca3139 Merge branch 'master' of https://github.com/highfidelity/hifi into metavoxels 2014-02-23 20:13:23 -08:00
Andrzej Kapolka
f5fece5eb5 Fix for Xcode warnings. 2014-02-23 20:11:46 -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
a8d0aa6d17 Merge branch 'master' of https://github.com/highfidelity/hifi into metavoxels 2014-02-19 14:57:18 -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
Andrzej Kapolka
55e2ebd92f More spanner bits. 2014-02-18 13:58:44 -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
af0d395751 Added sanity check for zero vertices. 2014-02-14 13:11:16 -08:00
Andrzej Kapolka
76142c92f2 Adjust offset when skipping parts that don't match the translucency setting.
Closes #2001.
2014-02-14 13:04:17 -08:00
Andrzej Kapolka
91fac4eebe Merge branch 'master' of https://github.com/highfidelity/hifi 2014-02-13 17:38:23 -08:00
Andrzej Kapolka
5f38c328d5 Removed debugging code. 2014-02-13 16:25:04 -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
Andrew Meadows
50d864901e Improved comment about limitation of collision check. 2014-02-13 14:02:25 -08:00
Andrzej Kapolka
6a39290bf5 Basic LOD switching based on distance to camera. 2014-02-13 13:37:29 -08:00
Andrew Meadows
cc70e099bf Merge branch 'avatar-interaction' of ssh://github.com/AndrewMeadows/hifi into avatar-interaction 2014-02-12 08:31:05 -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
3b1b067418 Merge branch 'master' of https://github.com/highfidelity/hifi 2014-02-11 16:03:41 -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
66dc4e17ad Fixing formatting to be KR 2014-02-11 15:59:35 -08:00
Andrzej Kapolka
b6d77ec637 Switched from loading FBX and FST simultaneously to loading FST first, then
using its filename and texdir properties (as Faceshift does) to locate the
corresponding model.  Also fixed a bug with the fallback models (they were
invisible after second failure).
2014-02-11 14:20:52 -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
10296577f4 More info when colliding with meshes + stubbery for poking avatar. 2014-02-10 09:02:29 -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
Andrzej Kapolka
cf05cf6178 Didn't need to disable depth writes after all (for now). 2014-01-28 12:03:41 -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
804ce83fa6 Get the base position/orientation directly from the avatar to prevent
jerkiness when flying with the Hydra.  Also, restore arm lengths when the
Hydra becomes inactive.
2014-01-20 13:44:41 -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
1266ffd0ca merge of windows-build
Conflicts:
	domain-server/src/DomainServer.cpp
	interface/src/Application.cpp
	interface/src/Menu.cpp
	libraries/avatars/src/AvatarData.h
	libraries/shared/src/NodeList.h
2014-01-16 09:00:13 -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
Brad Hefta-Gaub
170dbe6e85 Merge branch 'master' of git://github.com/worklist/hifi into windows_build
Conflicts:
	assignment-client/src/audio/AudioMixer.cpp
	domain-server/src/DomainServer.cpp
	interface/src/Audio.cpp
	interface/src/DataServerClient.cpp
	interface/src/Oscilloscope.cpp
	interface/src/PairingHandler.cpp
	interface/src/Util.cpp
	interface/src/avatar/MyAvatar.cpp
	interface/src/devices/Faceshift.cpp
	interface/src/devices/SerialInterface.cpp
	interface/src/renderer/FBXReader.cpp
	libraries/avatars/src/AvatarData.h
	libraries/octree-server/src/OctreeServer.cpp
	libraries/octree-server/src/OctreeServer.h
	libraries/octree/src/ViewFrustum.cpp
	libraries/shared/src/Logging.cpp
	libraries/shared/src/Node.cpp
	libraries/shared/src/Node.h
	libraries/shared/src/NodeList.cpp
	libraries/shared/src/NodeList.h
	libraries/shared/src/PerfStat.cpp
	libraries/shared/src/SharedUtil.cpp
	libraries/voxels/src/VoxelTree.cpp
	voxel-edit/src/main.cpp
2014-01-15 10:20:21 -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
Brad Hefta-Gaub
55babbf7b6 windows type mismatch warning fixes 2014-01-13 00:30:23 -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
9a3c44ce7d Enable alpha testing for models. 2013-12-09 14:49:37 -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
ecff3a0542 Basic sphere/capsule-cone penetration test. 2013-12-05 15:36:34 -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
1edfc90e5e Missed a scale multiplier. 2013-12-05 12:02:48 -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
5cc5d9bba8 Progress towards shadow maps. 2013-11-20 16:23:54 -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
c2e4a70685 Back to the cyclic coordinate descent algorithm (easier to apply joint
constraints); Leap hands relative to eyes.
2013-11-13 10:35:20 -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
f0e72d8d0c Removed unused variable, debugging code. 2013-11-07 12:16:17 -08:00
Andrzej Kapolka
e6cd9a7368 Working on wiring up the fingers. 2013-11-07 12:12:48 -08:00
Andrzej Kapolka
be09d319b7 Gravity adjustments. 2013-11-06 17:58:05 -08:00
Andrzej Kapolka
afd3f6937c Derp; I don't want the length of the scale, I want the average of the
components.
2013-11-06 17:05:10 -08:00
Andrzej Kapolka
97cf9f2285 Cleanup on aisle 3. 2013-11-06 15:58:35 -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
c55f8c5900 Forgot to return a value. 2013-11-05 16:14:21 -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
b2ed29dbff Work around precision issues with multiplying matrices with high translation
magnitudes (by using relative translation).
2013-11-04 16:49:12 -08: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
bae4a17605 Voxel attachments. 2013-10-24 13:59:04 -07:00
Andrzej Kapolka
240f65b7c5 Scale fixes. 2013-10-23 16:15:03 -07:00
Andrzej Kapolka
41f73b5e9d Support for attaching models to joints. 2013-10-23 15:16:29 -07:00
Andrzej Kapolka
cf98d900f9 Removed unused variable. 2013-10-22 17:26:42 -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