Commit graph

304 commits

Author SHA1 Message Date
Andrzej Kapolka
70ab33b65b Some tricks to avoid shadow artifacts: render back faces to shadow buffer,
use polygon offset.
2014-05-27 10:54:18 -07:00
Clément Brisset
6bb933996f Merge pull request #2920 from ZappoMan/aacube
Add RayPick support for models
2014-05-24 17:03:59 -07:00
ZappoMan
9d9600aad5 fix max dimension 2014-05-23 22:08:31 -07:00
Andrzej Kapolka
ac2137c3b6 Fixed a couple copy and paste errors. 2014-05-23 16:56:10 -07:00
Andrzej Kapolka
0baf757c0d Basic support for shadows on models. 2014-05-23 16:35:51 -07:00
ZappoMan
ee523ff373 Merge branch 'master' of https://github.com/worklist/hifi into aacube 2014-05-23 11:17:59 -07:00
ZappoMan
39ed7f7b65 renaming of AABox to AACube, introduction of actual AABox 2014-05-23 10:45:04 -07:00
Andrzej Kapolka
4d6e8a2c9e Or rather, replaceMatchingPriorities. 2014-05-23 09:42:36 -07:00
Andrzej Kapolka
a32dfdb7bb We should let people "start" even if the animation is already playing (to
start again from the beginning).  Fixed an issue with competing priorities.
2014-05-22 17:05:28 -07:00
Andrzej Kapolka
8458477b9f Fixed a compile warning, provide means to start/stop animations. 2014-05-22 16:15:34 -07:00
Andrzej Kapolka
083543419d More priority bits. 2014-05-22 15:00:36 -07:00
Andrzej Kapolka
8717977437 Merge branch 'master' of https://github.com/highfidelity/hifi into animenu 2014-05-22 14:42:23 -07:00
Andrzej Kapolka
d4af39a9f5 Working on handling animation priorities to prevent Hydra move/restore from
interfering with scripted animations.
2014-05-22 14:41:46 -07:00
Andrew Meadows
b0c3655076 Fix for bad bounding shape for multi-root models. 2014-05-22 11:40:36 -07:00
Andrzej Kapolka
2eee9a32ac Removed debugging line. 2014-05-21 15:39:12 -07:00
Andrzej Kapolka
de7c05cb2d More animation controls. 2014-05-21 15:30:50 -07:00
Andrzej Kapolka
0e15c82e49 Allow setting masked joints for each animation. 2014-05-21 11:58:20 -07:00
Andrzej Kapolka
ef9407b1a6 Merge branch 'master' of https://github.com/highfidelity/hifi into animenu 2014-05-21 10:58:44 -07:00
Andrzej Kapolka
0dfd787034 Added some basic method to allow scripts to run/stop animations on the avatar. 2014-05-21 10:44:51 -07:00
Andrzej Kapolka
1022f1bec4 Added a priority setting so that we can control the order in which animations
are applied.
2014-05-21 09:40:49 -07:00
Andrzej Kapolka
f709ea61b5 Need to initialize this to false. 2014-05-20 17:55:48 -07:00
Andrzej Kapolka
7124b4a196 Mask joints from animation when explicitly set. 2014-05-20 17:10:53 -07:00
Andrzej Kapolka
d3e5e3ccf1 A couple explanatory comments. 2014-05-20 15:41:11 -07:00
Andrzej Kapolka
49a0645677 Animation bits. 2014-05-20 15:23:15 -07:00
ZappoMan
1278470a91 properly handle FSTs that have translations and rotations 2014-05-20 13:31:08 -07:00
Andrzej Kapolka
62e7a31602 More work on animation configuration. 2014-05-19 18:09:33 -07:00
Andrew Meadows
49a7f8c910 formatting some lines that are too long 2014-05-15 12:42:38 -07:00
Andrew Meadows
e98f5c7486 merge upstream/master into andrew/inertia
Conflicts:
	interface/src/renderer/Model.cpp
2014-05-15 12:33:09 -07:00
Andrew Meadows
4640587445 more correct model bounding capsule 2014-05-15 12:28:55 -07:00
ZappoMan
18de6dddec Merge branch 'master' of https://github.com/worklist/hifi into modelserver 2014-05-14 12:21:44 -07:00
Andrew Meadows
aad9d0441e merge upstream/master to andrew/bispinor
Conflicts:
	interface/src/avatar/Hand.cpp
	interface/src/avatar/SkeletonModel.cpp
	libraries/avatars/src/HandData.cpp
	libraries/avatars/src/HandData.h
2014-05-14 09:38:31 -07:00
Andrew Meadows
d2d9ca8788 optimization: only compute baseTransform once 2014-05-14 09:04:59 -07:00
ZappoMan
02bb816d5a Merge branch 'master' of https://github.com/worklist/hifi into modelserver 2014-05-13 09:44:49 -07:00
Andrzej Kapolka
363f545f7c After uploading, refresh the uploaded files so that they are immediately
redownloaded.
2014-05-09 17:50:08 -07:00
ZappoMan
106c8bffd8 first cut at animations in models 2014-05-09 16:08:06 -07:00
Philip Rosedale
c6b4b7c250 Merge pull request #2811 from AndrewMeadows/inertia
prevent avatar from getting trapped in voxel collisions
2014-05-07 16:54:28 -07:00
Andrew Meadows
9fc1c765d3 overhaul of CollisionInfo
store Cube info for sphereAACube collisions
2014-05-07 11:40:00 -07:00
Andrzej Kapolka
d0537e7ead Specular map support. 2014-05-06 17:32:10 -07:00
Andrzej Kapolka
2a32700a30 Merge branch 'master' of https://github.com/highfidelity/hifi 2014-05-05 17:03:31 -07:00
Andrzej Kapolka
f37460e39a Basic attachment rendering. 2014-05-05 15:46:09 -07:00
Andrew Meadows
5ffd307926 Merge upstream/master into andrew/inertia
Conflicts:
	interface/src/avatar/MyAvatar.h
2014-05-05 13:54:25 -07:00
Andrzej Kapolka
3a4dfb92f6 Let's try using the neck parent rotation, rather than the neck, to fix
separate heads.
2014-05-02 19:37:42 -07:00
ZappoMan
8443bb0afc fix a scale to fit bug, and add features to place models with hands 2014-05-02 13:19:33 -07:00
Andrzej Kapolka
3ebe1df6de Merge branch 'master' of https://github.com/highfidelity/hifi
Conflicts:
	interface/src/avatar/MyAvatar.h
2014-05-01 21:00:32 -07:00
Andrzej Kapolka
322e12b9de Allow users to clear the head URL and have no separate head model. 2014-05-01 17:55:16 -07:00
ZappoMan
f7da070d77 more work, cleanup names, remove translation use snap to center 2014-05-01 11:29:17 -07:00
ZappoMan
293963c546 implement snap to center in model 2014-05-01 09:02:41 -07:00
ZappoMan
bb6444f5a9 more hacking got it working 2014-05-01 07:30:56 -07:00
ZappoMan
85484affa9 hacking 2014-04-30 17:55:54 -07:00
Andrew Meadows
34aaf98b53 cleanup around how boundary shape is computed 2014-04-29 15:16:50 -07:00
Andrzej Kapolka
2bac802407 One more unused variable. 2014-04-23 12:30:39 -07:00
Andrzej Kapolka
c8c3cf3664 Remove unused propagate option for applyRotationDelta. 2014-04-23 12:29:01 -07:00
Andrzej Kapolka
09bb51261a Got that backwards. 2014-04-23 11:55:16 -07:00
Andrzej Kapolka
523498ee5b Revert to using weight that doesn't depend on number of free joints. 2014-04-23 11:52:22 -07:00
Andrzej Kapolka
511fc8367f More work on IK. 2014-04-23 11:34:34 -07:00
Andrzej Kapolka
f7bc1ae62c Working on integrating rotation into IK. 2014-04-23 10:47:24 -07:00
Andrzej Kapolka
c471a55f1f Merge branch 'master' of https://github.com/highfidelity/hifi 2014-04-23 09:40:51 -07:00
Andrzej Kapolka
e2558bdac0 Experimenting with tweaking the Euler angles so that z, rather than y, is in
[-pi/2, pi/2].
2014-04-18 17:16:20 -07:00
Stephen Birarda
0a7ea17d43 fix a geometry race condition crash 2014-04-18 15:10:15 -07:00
Andrzej Kapolka
743034c986 Need to transfer parent rotation to child. 2014-04-18 15:09:37 -07:00
Andrzej Kapolka
6add0dfb42 Tweaked Hydra "IK" to propagate delta rotations up the hierarchy while
preserving joint constraints.
2014-04-18 15:04:42 -07:00
Andrew Meadows
26487aad06 more correct bounding shapes for Models 2014-04-18 11:19:21 -07:00
Andrew Meadows
cfdbdad2d8 improved method for disabling bad joint shapes 2014-04-17 16:22:35 -07:00
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