Commit graph

328 commits

Author SHA1 Message Date
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
92159a7ed5 Shape::get/setCenter() instead of get/setPosition() 2014-06-16 08:43:27 -07:00
Andrew Meadows
7530f8ec1e add way to enable Model for collisions 2014-06-15 17:57:42 -07:00
Andrew Meadows
718b98f70a Only build shapes for models that need them 2014-06-12 18:15:44 -07:00
Andrew Meadows
5be470bcbc add PhysicalEntity class
Model and RagDoll derive from PhysicalEntity
Shape gets back pointer to its Entity (shape sharing not possible)
CollisionInfo gets backpointers the shapes involved
2014-06-12 13:13:00 -07:00
Andrew Meadows
e0ebc61b25 merge upstream/master into andrew/ragdoll 2014-06-10 15:26:16 -07:00
Andrew Meadows
3c51ce76fc Add simulationID to Model Shape and CollisionInfo 2014-06-10 15:24:17 -07:00
Andrew Meadows
e8b6338de9 Fix IK for hydra hands. 2014-06-09 15:40:29 -07:00
Andrew Meadows
8e536ebd9a Use NULL Shape* for non-colliding joints in Models 2014-06-09 09:35:27 -07:00
Andrew Meadows
0addf3bae4 cleaup: remove some unused collision code
remove CollisionInfo::_type
remove unused Avatar collision response stuff
comment out some code that works but will probably be replaced
2014-06-06 14:36:05 -07:00
Andrew Meadows
1b2cd2e144 adding RagDoll scaffold 2014-06-05 11:07:35 -07:00
Andrew Meadows
7807388b08 merge upstream/master into andrew/inertia
Conflicts:
	interface/src/renderer/Model.cpp
2014-06-04 14:28:23 -07:00
Andrew Meadows
e1cb88471f add a comment 2014-06-04 14:19:45 -07:00
Andrew Meadows
f19b562e88 add JointState::setRotation(rotModelFrame) 2014-06-04 14:17:39 -07:00
Andrew Meadows
212ac13802 setRotation -> setJointRotationFromBindFrame 2014-06-04 14:10:28 -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
b1b7f6bdc4 remove last world-frame transfoms from JointState 2014-06-04 12:03:01 -07:00
Andrew Meadows
d46a90d763 remove JointState::_combinedRotation
instead use JointState::_rotationInModelFrame
2014-06-04 11:56:20 -07:00
Andrew Meadows
19f0f453a5 remove JointState::setRotation()
instead use JointState::setRotationInModelFrame()
2014-06-04 11:52:07 -07:00
Andrzej Kapolka
f6395435cf Merge branch 'master' of https://github.com/highfidelity/hifi 2014-06-04 11:51:11 -07:00
Andrzej Kapolka
74afcf5626 Allow floating point start/end frames and negative play speeds. 2014-06-04 11:47:53 -07:00
Andrew Meadows
5d8e3d447a remove JointState::getRota/PositionInWorldFrame()
instead: use getRotat/PositionInModelFrame() and do math
2014-06-04 11:36:00 -07:00
Andrew Meadows
729c01ddbf remove more getHybridTransform() calls 2014-06-04 11:25:38 -07:00
Andrew Meadows
30d936c15b getJointPosition -> getJointPositionInWorldFrame 2014-06-04 10:52:10 -07:00
Andrew Meadows
aea517af46 fix for partial hand restore after hydra inactive 2014-06-04 10:19:27 -07:00
Andrew Meadows
a1afcfd42c remove JointState::applyRotationDelta()
(use JointState::applyRotationDeltaInModelFrame()) instead)
2014-06-03 15:57:16 -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
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
Andrew Meadows
4eb4334ed8 replace Model::setJointRotation() with JointState::setRotation() 2014-05-30 09:57:32 -07:00
Andrew Meadows
557d7d428b minor rename and formatting 2014-05-30 08:28:15 -07:00
Andrew Meadows
e21dbd8726 rename updateWorldTransforms to computeTransforms 2014-05-30 08:20:11 -07:00
AndrewMeadows
5b74829318 Merge pull request #2955 from ey6es/cascade
Basic cascaded shadow maps for increased shadow draw distance.
2014-05-29 18:57:44 -07:00
Atlante45
17e3bd6110 CR comments 2014-05-29 18:24:21 -07:00
Andrzej Kapolka
67921c474e Merge branch 'master' of https://github.com/highfidelity/hifi into cascade 2014-05-29 17:09:09 -07:00
Andrzej Kapolka
12beef7fec Apply the new shadow distances to the models, too. 2014-05-29 17:08:36 -07:00
Andrew Meadows
6efa851104 minor cleanup + use 'fraction' instead of 'percent' 2014-05-29 15:44:27 -07:00
Andrzej Kapolka
391902f79b Cascaded shadow maps for models. 2014-05-29 15:30:40 -07:00
Atlante45
0eb56000ef Merge branch 'master' of https://github.com/highfidelity/hifi into click_drag_attach 2014-05-29 15:02:21 -07:00
Andrew Meadows
603333f634 add JointState::restoreRotation() 2014-05-29 14:11:17 -07:00
Andrew Meadows
2e99d316ac remove JointState::_translation
(use corresponding data in FBXJoint instead)
2014-05-29 12:52:05 -07:00
Andrzej Kapolka
09231f01f3 Retain "simple" shadows, supply cascaded as option. 2014-05-29 12:48:41 -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
Atlante45
37613f086b Merge branch 'master' of https://github.com/highfidelity/hifi into click_drag_attach
Conflicts:
	interface/src/renderer/Model.cpp
2014-05-29 10:28:09 -07:00
Andrew Meadows
4cf5628783 move applyRotationDelta() from Model to JointState 2014-05-29 10:00:55 -07:00
Andrew Meadows
29e093e2e0 fix float literals to agree with coding standard 2014-05-29 09:20:01 -07:00
Andrew Meadows
86d6fd45de safe copy of JointState data 2014-05-29 08:19:43 -07:00
Andrew Meadows
ec25982a58 add JointState::updateWorldTransform() 2014-05-28 17:51:17 -07:00
Andrew Meadows
b15b0fd96c cleaner initialization of JointState 2014-05-28 17:31:07 -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
Atlante45
8cd101ac57 Added getJointCombinedRotation to Models 2014-05-28 15:57:38 -07:00
Andrzej Kapolka
c3f6cab199 Working on cascading shadow maps. 2014-05-28 15:20:09 -07:00
Andrew Meadows
e74da5f2a0 merge upstream/master into andrew/inertia 2014-05-28 14:55:08 -07:00
Andrew Meadows
13f11e1056 Remove "fromBind" arg in Model::setJointRotation
It was always set 'true'.
2014-05-28 14:53:32 -07:00
Andrzej Kapolka
4cbc550820 Fix arguments to applyRotationDelta. 2014-05-28 12:03:57 -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
Andrew Meadows
afc7660d74 merge upstream/master into andrew/inertia 2014-05-27 14:57:44 -07:00
Andrew Meadows
07544c7b43 removal of unused getNeckRotation() 2014-05-27 12:52:44 -07:00
Andrzej Kapolka
edaa251e5f Provide option to disable avatar shadowing. 2014-05-27 11:43:34 -07:00
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