Commit graph

357 commits

Author SHA1 Message Date
David Rowe
30b77d4200 Don't crash if avatar model at start-up or loaded is skeletonless 2015-03-03 22:34:06 -08:00
Stephen Birarda
fc2f6d47bb remove references to PrioVR in interface code 2015-02-26 17:28:00 -08:00
Andrew Meadows
28a3c3f469 separate new shape types from legacy 2015-02-03 08:34:06 -08:00
ZappoMan
bddb7856af more work 2015-01-19 13:34:09 -08:00
ZappoMan
db94949649 Merge branch 'master' of https://github.com/highfidelity/hifi into gpuStreamizing
Conflicts:
	interface/src/avatar/SkeletonModel.cpp
2015-01-14 17:55:03 -08:00
ZappoMan
e6388a65b9 rough pass at adding color to geometry cache 2015-01-13 20:53:05 -08:00
Atlante45
2a82ff9768 Merge branch 'master' of https://github.com/highfidelity/hifi into applications_diet_cpp11
Conflicts:
	assignment-client/src/voxels/VoxelServer.cpp
	interface/src/Application.cpp
	interface/src/Audio.cpp
	interface/src/DatagramProcessor.cpp
	interface/src/Menu.cpp
	interface/src/Util.cpp
	interface/src/avatar/MyAvatar.cpp
	interface/src/ui/ApplicationOverlay.cpp
	interface/src/ui/PreferencesDialog.cpp
	libraries/networking/src/NodeList.cpp
	libraries/shared/src/DependencyManager.h
2015-01-13 11:03:14 -08:00
ZappoMan
a03c2b79fa first cut at adding colors to GeometryCache and supporting batch internally 2015-01-08 15:52:33 -08:00
ZappoMan
1bfce7d876 more removal of immediate mode 2015-01-06 14:14:13 -08:00
ZappoMan
0d63391be8 formatting 2015-01-06 12:31:42 -08:00
ZappoMan
bd1612f6a4 Merge branch 'master' of https://github.com/highfidelity/hifi into gpuStreamizing 2015-01-05 16:51:31 -08:00
ZappoMan
a20fa1242d first cut are removing immediate mode GL_LINES 2015-01-05 15:46:48 -08:00
ZappoMan
9630279459 Merge branch 'master' of https://github.com/highfidelity/hifi into voxelEctomy
Conflicts:
	examples/editVoxels.js
	examples/fallingSand.js
	examples/growTrees.js
	interface/src/Application.cpp
	interface/src/Application.h
	libraries/avatars/CMakeLists.txt
	libraries/entities/src/EntityItem.h
2014-12-31 10:50:53 -08:00
ZappoMan
4ea9bbc309 first major pass at voxelEctomy 2014-12-30 18:08:58 -08:00
Philip Rosedale
f4f43d6b38 added twisting of torso to follow head, fixed bug with body rotation not factored out of head rotation, removed credits from title bar 2014-12-30 15:11:32 -08:00
Atlante45
296c0025de Switched to auto and changed macro 2014-12-18 15:42:38 -08:00
Atlante45
2039895898 Merge branch 'master' of https://github.com/highfidelity/hifi into applications_diet
Conflicts:
	interface/src/Application.cpp
	interface/src/Application.h
	interface/src/renderer/GlowEffect.cpp
	interface/src/renderer/TextureCache.cpp
2014-12-16 14:27:50 -08:00
ZappoMan
90c1132dd5 reduce calls to DependencyManager::get<> where possible 2014-12-15 11:28:57 -08:00
ZappoMan
e0a017e963 make GeometryCache work with DependancyManager 2014-12-15 10:49:34 -08:00
ZappoMan
4ac673fe63 more render util cleanup 2014-12-15 08:16:42 -08:00
Andrew Meadows
1b778603c8 fix for crash in SkeletonModel::updateStandingFoot() 2014-11-20 14:21:08 -08:00
Atlante45
4d5451fafe Merge branch 'master' of https://github.com/highfidelity/hifi into death_to_dot_f
Conflicts:
	interface/src/avatar/Avatar.cpp
	interface/src/avatar/SkeletonModel.cpp
2014-11-19 17:28:24 -08:00
Atlante45
ae3bcc8f06 No more .f 2014-11-19 16:53:39 -08:00
Andrew Meadows
6673d9d0c2 avatar stands on lowest toe 2014-11-19 09:13:24 -08:00
Andrzej Kapolka
14eb87aefd Eliminate wacky scales in favor of newfangled "meters." 2014-11-14 12:23:47 -08:00
Andrew Meadows
4c3cdf5b7a move stuff out of shared and into physics library 2014-10-28 13:51:45 -07:00
Andrew Meadows
c1728c0296 Merge upstream/master into andrew/experimental 2014-10-27 10:08:48 -07:00
Sam Gateau
4f26c9e0fa fix formatting and syntax issues 2014-10-06 11:06:23 -07:00
Andrew Meadows
01a3eaa26b added experimental MyAvatar.setSkeletonOffset()
for improved walk animations
2014-10-05 19:10:55 -07:00
Sam Gateau
738369e21f Replacing glutSolidSphere by a cached Geometry
Instead of calling glutSolidSphere, just call Application::getInstance()->getGeometryCache()->renderSphere(...)

- replaced all the instances of "glutSolidSphere"
- Changed the atmosphere shaders so instead of drawing a sphere of the size of the atmosphere, we draw a unit sphere, the vertices get scaled at the right radius in th vertex shader using  fOuterRadius
2014-10-03 16:55:58 -07:00
David Rowe
dbf6daf80c Fix default eye model calculation to be reliable 2014-09-27 11:25:37 -07:00
David Rowe
c0419c61f4 Fix missing constructor initialization 2014-09-26 09:15:17 -07:00
David Rowe
aa9511c263 Position Rift camera at avatar model's mid-eye location 2014-09-25 22:49:12 -07:00
David Rowe
f95e20153c Fix upright head model position calculation for avatar scale changes 2014-09-22 15:13:08 -07:00
David Rowe
a11bf7f15b Decouple Rift head tracking from avatar's head position
This makes the Rift's view reflect the user's physical movements exactly
while the avatar follows the movements as best it can.
2014-09-22 11:02:12 -07:00
Andrzej Kapolka
4a2e68fea4 Fix for eyes on skeleton (e.g., Mixamo) models. 2014-09-17 15:36:22 -07:00
Andrzej Kapolka
df192e297c Apply blendshapes to skeleton as well as head. 2014-09-11 14:01:11 -07:00
Andrew Meadows
1e19566e93 fix for bad avatar bounding shape on resize 2014-09-04 09:53:07 -07:00
Andrzej Kapolka
e29a4e7683 Merge pull request #3312 from AndrewMeadows/ragdoll
use dispatchTable for shape-vs-shape collision queries
2014-08-25 15:43:48 -07:00
Andrew Meadows
3ebd8c1969 use dispatchTable for shape-vs-shape collisions 2014-08-21 16:40:25 -07:00
Andrew Meadows
7e4c72445e JS scripts set joint animation priorities 2014-08-20 17:14:59 -07:00
Andrew Meadows
a01d3781d9 simplified SkeletonModel::maybeUpdateLeanRotation() 2014-08-20 12:48:52 -07:00
Andrew Meadows
f511fe2657 Ragdoll cannot assume skeleton's rootIndex is 0
some Models have extra "joints" not part of the normal skeleton
2014-08-19 11:31:50 -07:00
Atlante45
6d567e67a9 Merge branch 'master' of https://github.com/highfidelity/hifi into record_feature 2014-08-18 15:41:19 -07:00
Atlante45
1d30b52ec2 Merge branch 'master' of https://github.com/highfidelity/hifi into record_feature 2014-08-18 14:23:40 -07:00
Andrew Meadows
c2f4648ad7 Merge branch 'ragdoll' of ssh://github.com/AndrewMeadows/hifi into ragdoll 2014-08-18 12:55:10 -07:00
Andrew Meadows
7e7978de1a compute and store Ragdoll::_accumulatedMovement 2014-08-18 12:53:04 -07:00
Andrew Meadows
77047b0130 no NULL check on delete SkeletonModel::_ragdoll 2014-08-18 11:25:51 -07:00
Atlante45
9e5b68fa9d Merge branch 'master' of https://github.com/highfidelity/hifi into record_feature 2014-08-14 15:38:03 -07:00
Andrew Meadows
60d411ead5 cleanup Ragdoll API (less "ragdoll" qualifiers) 2014-08-14 14:41:51 -07:00
Andrew Meadows
46c91052c9 split SkeletonModel and Ragdoll classes apart 2014-08-14 14:29:03 -07:00
Atlante45
2981132395 Merge branch 'master' of https://github.com/highfidelity/hifi into record_feature 2014-08-14 11:39:44 -07:00
Andrew Meadows
ca4a23e532 use "visible joint positions" for MyAvatar only 2014-08-14 09:21:15 -07:00
Atlante45
73a3a13c59 More recording work 2014-08-12 18:15:48 -07:00
Andrew Meadows
2286eae64a head connects to neck during ragdoll simulation 2014-08-08 10:53:38 -07:00
Andrew Meadows
05318acc7f don't make shapes for joints with zero radius 2014-08-08 08:37:28 -07:00
Andrew Meadows
9a55252587 remove extraneous roots from Model::_jointStates 2014-08-07 17:02:28 -07:00
Andrew Meadows
94da63006c VerletPoint::_mass is now private
We set the mass of other avatars artificially high
so they are less movable.
2014-08-07 14:35:32 -07:00
Andrew Meadows
87350ad2d0 ragdoll simulation now in model-relative frame
(same rotation as world-frame, but translated to MyAvatar origin)
2014-08-07 11:45:06 -07:00
Andrew Meadows
3305f5edf9 merge upstream/master into andrew/ragdoll 2014-08-01 11:13:18 -07:00
Andrew Meadows
34628aef3b separate muscle constraints from joint constraints 2014-07-29 16:47:54 -07:00
Atlante45
fb670275c2 Don't recompute unchaged transform 2014-07-28 16:42:16 -07:00
Andrew Meadows
b8b1df5799 MuscleConstraints for ragdoll; velocity for verlet points 2014-07-25 15:24:44 -07:00
Andrew Meadows
2ddca4fbf9 split independent classes out of Ragdoll files 2014-07-24 09:50:16 -07:00
Andrew Meadows
1d124ebc61 fix comments 2014-07-24 08:49:41 -07:00
Andrew Meadows
559188cace parent-relative linear slaving of verlet shapes 2014-07-23 17:00:17 -07:00
Andrew Meadows
783cde7376 minor tweak to rate at which ragdoll shapes follow joints 2014-07-17 10:51:17 -07:00
Andrew Meadows
3ad4a2e170 more stability when fingers follow ragdoll 2014-07-16 09:32:46 -07:00
Andrew Meadows
0667cb6e5f add constraints between child joints of same parent 2014-07-16 08:54:28 -07:00
Andrew Meadows
b8fb5e0298 namechange FromBindFrame ==> InBindFrame 2014-07-14 15:33:05 -07:00
Andrew Meadows
00544aa975 add JointState::_positionInParentFrame 2014-07-14 15:18:34 -07:00
Andrew Meadows
7e4efa6c73 Skeleton gets custom update for visible transforms 2014-07-10 16:21:12 -07:00
Andrew Meadows
8fa7bf4fa0 rename: ParentFrame --> ConstrainedFrame 2014-07-09 16:43:46 -07:00
Andrew Meadows
6e5d77f0fc merge upstream/master into andrew/ragdoll
Conflicts:
	interface/src/avatar/SkeletonModel.cpp
2014-07-02 09:41:13 -07:00
Andrew Meadows
49d54dd6f0 Add Model::inverseKinematics() for stable hand IK
(removed constraint enforcement which was causing problems,
will add that back later)
2014-07-02 09:33:51 -07:00
Andrew Meadows
57c17eb972 remove unecessary clearRagdollConstraintsAndPoints() 2014-06-30 09:18:31 -07:00
Andrew Meadows
f33728b615 guarantee that ragdoll is clear before initialized 2014-06-30 09:13:42 -07:00
Andrew Meadows
0d18f2fbab fix for avatar models with multiple roots 2014-06-26 09:12:44 -07:00
Andrew Meadows
c12c869cdf add "visible" transforms to JointState
also stubbery for using them in Model and SkeletonModel
2014-06-25 18:06:56 -07:00
Andrew Meadows
1b24a111fe JointState::_rotationInParentFrame is now private 2014-06-25 09:56:18 -07:00
Andrew Meadows
b5aca45ab6 smaller timescale for slaving shapes to skeleton 2014-06-23 12:59:38 -07:00
Andrew Meadows
9713e3d513 remove some unused var warnings in Release build 2014-06-23 12:30:53 -07:00
Andrew Meadows
8ad2a679c4 move code to SkeletonModel::stepRagdollForward() 2014-06-23 11:16:18 -07:00
Andrew Meadows
8b24e9cd67 Update SkeletonModel::_boundingShape position 2014-06-23 09:39:14 -07:00
Andrew Meadows
b2ea8c0bf9 Compute more correct masses for ragdoll parts
also pin root ragdoll shape at the local-frame origin
for stability
2014-06-23 08:37:11 -07:00
Andrew Meadows
c17b8fdb60 collisions update shapes
VerletShapes keep pointers to VerletPoints (rather than to glm::vec3's)
VerletShapes compute lagrangian coefficients
VerletShapes send their movement accumulations to their VerletPoints
2014-06-20 16:31:39 -07:00
Andrew Meadows
4a0ce7a9ae support disabling collisions btw adjacent joints 2014-06-19 17:39:50 -07:00
Andrew Meadows
fbafcb6fd8 Fix distance constraint lengths 2014-06-19 11:46:09 -07:00
Andrew Meadows
2453e9c36a build ragdoll constraints again 2014-06-19 10:31:55 -07:00
Andrew Meadows
5e74ee8c05 VerletPoint has position, lastPosition, and mass 2014-06-19 09:54:32 -07:00
Andrew Meadows
10ee307752 merge upstream/master into andrew/ragdoll 2014-06-19 08:35:29 -07:00
David Rowe
afab5f1cbf Fix startup crash where Hydra controllers are not properly plugged in
Crash occurs if the left controller is plugged in but right one isn't.
2014-06-18 20:52:17 -07:00
Andrew Meadows
d4b5550cda Skeleton now creates VerletShape 2014-06-18 17:22:39 -07:00
Andrew Meadows
9e839f0980 Shape::getCenter() -> Shape::getTranslation() 2014-06-18 08:55:48 -07:00
Andrew Meadows
b9d4545aef merge upstream/master into andrew/ragdoll
Conflicts:
	libraries/shared/src/Shape.h
	libraries/shared/src/ShapeCollider.h
2014-06-17 17:03:16 -07:00
Andrew Meadows
ecbf5043d7 code out of Model into base and derived classes
PhysicalEntity (base class) gets some shape management stuff
SkeletonModel (derived class) gets some boundary shape and
joint-shape stuff
2014-06-17 16:22:18 -07:00
Andrew Meadows
118717d96a Shapes moved from Model into PhysicalEntity 2014-06-16 14:51:58 -07:00
Andrew Meadows
d7a28e1441 enable shape collisions for MyAvatar skeleton
also some stubbery for main simulation loop
2014-06-15 18:07:47 -07:00
Andrew Meadows
158c7de76e Ragdoll not an Entity. SkeletonModel is a Ragdoll 2014-06-13 12:27:58 -07:00
Andrew Meadows
5bd37acdb8 Changed RagDoll to Ragdoll 2014-06-13 11:55:39 -07:00
Andrew Meadows
718b98f70a Only build shapes for models that need them 2014-06-12 18:15:44 -07:00
Andrew Meadows
e0ebc61b25 merge upstream/master into andrew/ragdoll 2014-06-10 15:26:16 -07:00
Andrew Meadows
c9ba71aa01 fix for broken neck on some body models 2014-06-10 09:38:38 -07:00
Andrew Meadows
589b2e8fb7 recover some code for one less magic vec3 2014-06-09 16:12:54 -07:00
Andrew Meadows
e8b6338de9 Fix IK for hydra hands. 2014-06-09 15:40:29 -07:00
Andrew Meadows
5a76a9b4b1 RagDoll keeps a pointer to list of shapes 2014-06-09 11:04:20 -07:00
Andrew Meadows
8e536ebd9a Use NULL Shape* for non-colliding joints in Models 2014-06-09 09:35:27 -07:00
Andrew Meadows
131a2c27b8 move RagDoll to libraries/shared 2014-06-06 15:51:50 -07:00
Andrew Meadows
551029c2f5 slave SkeletonModel's collision shapes to RagDoll 2014-06-06 08:51:22 -07:00
Andrew Meadows
1b2cd2e144 adding RagDoll scaffold 2014-06-05 11:07:35 -07:00
Andrew Meadows
212ac13802 setRotation -> setJointRotationFromBindFrame 2014-06-04 14:10:28 -07:00
Andrew Meadows
323fa70cf3 remove last of "InModelFrame" qualifiers 2014-06-04 14:03:29 -07:00
Andrew Meadows
ccfd620c84 setJointPositionInModelFrame -> setJointPosition 2014-06-04 13:56:37 -07:00
Andrew Meadows
3af4b1b333 getJointPositionInModelFrame -> getJointPosition 2014-06-04 13:51:43 -07:00
Andrew Meadows
971268d4f2 setRotationInModelFrame -> setRotation 2014-06-04 13:46:08 -07:00
Andrew Meadows
b3cabb8156 applyRotationDeltaInModelFrame -> applyRotationDelta 2014-06-04 13:43:15 -07:00
Andrew Meadows
d8f5e10947 getPositionInModelFrame -> getPosition 2014-06-04 13:36:54 -07:00
Andrew Meadows
4a3fbfcdee getRotationInModelFrame -> getRotation 2014-06-04 13:34:58 -07:00
Andrew Meadows
4ae58153e0 computeTransformInModelFrame -> computeTransform 2014-06-04 13:31:31 -07:00
Andrew Meadows
d32e14ca04 renames of JointState data members 2014-06-04 13:27:28 -07:00
Andrew Meadows
19f0f453a5 remove JointState::setRotation()
instead use JointState::setRotationInModelFrame()
2014-06-04 11:52:07 -07:00
Andrew Meadows
30d936c15b getJointPosition -> getJointPositionInWorldFrame 2014-06-04 10:52:10 -07:00
Andrew Meadows
14e782e439 remove some JointState::getHybridTransform() calls 2014-06-04 10:42:04 -07:00
Andrew Meadows
7f46e9d514 remove JointState::getJointRotation()
(use getRotationModelFrame() instead)
2014-06-03 15:42:38 -07:00
Andrew Meadows
e7f32c211b remove world-frame hand/palm set methods 2014-06-03 14:48:57 -07:00
Andrew Meadows
05af993262 Add more model-frame methods 2014-06-03 14:24:04 -07:00
Andrew Meadows
03bf1fe69d Add joint manipulations in model-frame 2014-06-03 14:04:09 -07:00
Andrew Meadows
f99489c157 rolling back previous change for IK instability 2014-06-03 10:40:30 -07:00
Andrew Meadows
d7be5faa9d unravel rotation code by giving proper names
The goal is: eliminate dependency on JointState::_combinedRotation
(which is joint-to-world) and store joint-to-model transforms instead
2014-06-02 14:43:25 -07:00
Andrew Meadows
9b3773fa3b remove 'fromBind' argument to getJointRotation() 2014-06-02 14:20:13 -07:00
Andrew Meadows
a62a270004 merge andrew/inertia into andrew/ragdoll
Conflicts:
	interface/src/avatar/Avatar.cpp
	interface/src/renderer/Model.h
2014-06-02 11:56:27 -07:00
Andrew Meadows
9e60b758df Made JointState transforms private.
Also changed some function names to be more descriptive.
Using "Hybrid" to describe frame with world-rotation + model-local-origin.
2014-06-02 11:34:59 -07:00
Andrew Meadows
8e7daed2b3 Merge upsrtream/master into andrew/inertia
Conflicts:
	interface/src/renderer/Model.cpp
2014-06-02 11:32:23 -07:00
Andrzej Kapolka
164192fb50 If the skeleton doesn't have eye joints (as with the Fuse models), make up
some positions based on the head and neck joints.
2014-05-30 11:03:46 -07:00
Andrew Meadows
4eb4334ed8 replace Model::setJointRotation() with JointState::setRotation() 2014-05-30 09:57:32 -07:00
Andrew Meadows
6efa851104 minor cleanup + use 'fraction' instead of 'percent' 2014-05-29 15:44:27 -07:00
Andrew Meadows
2e99d316ac remove JointState::_translation
(use corresponding data in FBXJoint instead)
2014-05-29 12:52:05 -07:00
Andrew Meadows
a898fcbf75 move details of getJointRotation() into JointState
also: remove unused getLeft/RightHandRotation() methods
2014-05-29 11:43:25 -07:00
Andrew Meadows
4cf5628783 move applyRotationDelta() from Model to JointState 2014-05-29 10:00:55 -07:00
Andrew Meadows
9f2a4ae626 Make JointState a proper class
JointState gets a pointer to its corresponding FBXJoint
2014-05-28 16:49:39 -07:00
Andrew Meadows
13f11e1056 Remove "fromBind" arg in Model::setJointRotation
It was always set 'true'.
2014-05-28 14:53:32 -07:00
Andrew Meadows
9f72d6ca3f fix bug -- negate logic around invalid joint index 2014-05-27 15:53:20 -07:00
Andrew Meadows
ae3b792a35 move face/head code from Model into SkeletonModel 2014-05-27 15:28:41 -07:00
Andrew Meadows
6efa417742 move hand/arm stuff from Model to SkeletonModel 2014-05-27 15:06:50 -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
Andrzej Kapolka
4a23c0cfd9 Fix for arms' getting twisted up with new IK. 2014-05-16 16:25:24 -07:00
Andrzej Kapolka
301234a397 Tabs -> spaces. 2014-05-15 15:34:01 -07:00
Andrzej Kapolka
3eefb6a93e Rotation bits for alternate IK. 2014-05-15 15:32:32 -07:00
Andrzej Kapolka
7bee0478be More work on integrating IK solution from Sixense. 2014-05-15 11:30:09 -07:00
Andrzej Kapolka
8388255542 Working on alternate IK mode. 2014-05-14 15:29:16 -07:00