Commit graph

441 commits

Author SHA1 Message Date
AndrewMeadows
7f7861671e Merge pull request #3471 from ctrlaltdavid/20055
Code Review for Job #20055
2014-09-26 14:00:33 -07:00
David Rowe
aa9511c263 Position Rift camera at avatar model's mid-eye location 2014-09-25 22:49:12 -07:00
Andrzej Kapolka
6c907a9d83 Read the emissive color property and use it to effect glow. 2014-09-19 16:49:51 -07:00
Andrzej Kapolka
9515145b9b Removed commented lines. 2014-09-19 15:48:56 -07:00
Andrzej Kapolka
646c0dc48f Working on translucent model bits. 2014-09-19 15:31:46 -07:00
Andrzej Kapolka
c6aad42f21 Move LocalLight to AvatarManager, apply it at the avatar level. 2014-09-18 17:09:53 -07:00
Andrzej Kapolka
b9ae005e53 Working on the actual deferred lights. 2014-09-18 16:12:46 -07:00
Andrzej Kapolka
5c22fe7bd1 Translucency tweak. 2014-09-18 13:27:15 -07:00
Andrzej Kapolka
fb7e633cac Post-merge fixes. 2014-09-18 13:17:23 -07:00
Andrzej Kapolka
c54e1c937c Merge branch 'master' of https://github.com/highfidelity/hifi into deference
Conflicts:
	interface/src/avatar/Head.cpp
2014-09-18 13:08:55 -07:00
Andrzej Kapolka
e0a56b4a95 Rejiggered the blender handling: allow up to N blenders active at once so
that with small numbers of avatars, the blenders can stack for lower latency.
2014-09-17 17:57:08 -07:00
Atlante45
3751e05ce3 Fixes crash in Model::scaleToFit() 2014-09-17 13:37:16 -07:00
Andrzej Kapolka
fbd1efad81 Allow specifying material opacity. 2014-09-16 17:52:39 -07:00
Andrzej Kapolka
bfaac9eae1 Deferred lighting tweaks. 2014-09-15 18:38:10 -07:00
Andrzej Kapolka
580d591dc4 Working on getting glow to work with deferred lighting. 2014-09-15 17:11:36 -07:00
Andrzej Kapolka
9caa4d3a08 Merge branch 'master' of https://github.com/highfidelity/hifi into deference 2014-09-15 12:19:30 -07:00
Andrzej Kapolka
919112fe7c Starting to work on handling translucent meshes with deferred lighting. 2014-09-15 12:18:59 -07:00
ZappoMan
c32d5db75c fix bug with attachments being stretched 2014-09-13 15:32:21 -07:00
Andrzej Kapolka
72f38900bb Fix for blending on models. 2014-09-12 17:31:03 -07:00
Andrzej Kapolka
982ab75b61 Merge branch 'master' of https://github.com/highfidelity/hifi into deference 2014-09-12 17:09:25 -07:00
Andrzej Kapolka
53933fc9c6 Working on deferred lighting for models. 2014-09-12 17:09:07 -07:00
Andrzej Kapolka
97813a2f72 Make sure we note that the blender finished even if the geometry changed. 2014-09-12 15:34:49 -07:00
Andrzej Kapolka
72a6254fa1 Only allow one "blender" to run at a time for each model. 2014-09-12 15:24:38 -07:00
ZappoMan
f00947ada7 handle registration point in rendering of box, sphere, and model entities 2014-09-11 08:33:41 -07:00
ZappoMan
b78b8ccbb0 first cut at replacing radius with dimensions 2014-09-09 13:33:05 -07:00
ZappoMan
2bcad6ab2b Merge branch 'master' of https://github.com/highfidelity/hifi into virtualEntities
Conflicts:
	assignment-client/src/Agent.cpp
	examples/editModels.js
2014-08-28 21:19:56 -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
6cdee21a50 fix for clearJointData() in JS scripts
let the JointState class verify animation priority
2014-08-25 10:40:28 -07:00
Andrew Meadows
bc1276944c merge upstream/master into andrew/ragdoll 2014-08-21 08:21:36 -07:00
Andrew Meadows
080c191727 namechange updateConstraint() -> buildConstraint() 2014-08-21 08:20:31 -07:00
Andrew Meadows
7e4c72445e JS scripts set joint animation priorities 2014-08-20 17:14:59 -07:00
ZappoMan
ef86d86234 split out entity rendering into subclasses, improved rendering of models 2014-08-20 15:49:50 -07:00
Atlante45
b13604f968 JS API for recording 2014-08-19 16:43:26 -07:00
Atlante45
52640c8482 Various tweaks and code cleanup 2014-08-18 14:23:29 -07:00
Andrzej Kapolka
668f6d3cfd Support for shadows on heightmaps. 2014-08-15 16:13:47 -07:00
Andrew Meadows
5de762361a remove cleanup of Model::_jointStates tree
the cleanup causes crashes and broken models
2014-08-08 08:20:42 -07:00
Andrew Meadows
9a55252587 remove extraneous roots from Model::_jointStates 2014-08-07 17:02:28 -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
Atlante45
fb670275c2 Don't recompute unchaged transform 2014-07-28 16:42:16 -07:00
Andrew Meadows
2aaa628a67 send visible joint state when colliding as ragdoll 2014-07-24 08:42:34 -07:00
Andrzej Kapolka
02bf76240a Multiply local light colors by material diffuse reflectance. 2014-07-22 18:30:28 -07:00
Andrzej Kapolka
4f87524821 Switched back to using uniforms for light parameters, as using the fixed
function state killed my frame rate.  Also cleaned up some of the location
tracking.
2014-07-22 18:03:13 -07:00
Andrzej Kapolka
be028c2b01 Fixes for local lights. 2014-07-22 14:13:51 -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
b012c0a008 update visible transforms right before render 2014-07-10 16:19:27 -07:00
Andrew Meadows
8fa7bf4fa0 rename: ParentFrame --> ConstrainedFrame 2014-07-09 16:43:46 -07:00
TonyPeng
ef4b95c6e0 Merged from master. Get rid of redundant GL fog states. Moved local light parameters to shader uniform arrays. 2014-07-09 13:27:42 -07:00
TonyPeng
56eadcb0dc Get rid of redundant GL calls for fog. Enable and disable fog during rendering stage of voxels. Moved the local light parameters to shader uniform arrays. 2014-07-09 12:05:34 -07:00
TonyPeng
94e81da557 Added local lights to avatar. Added haze to voxel. 2014-07-08 09:44:28 -07:00
ZappoMan
8755e2d42e CR feedback 2014-07-03 13:38:52 -07:00
Andrew Meadows
55dd2a4835 re-enable gravity effect on arm IK 2014-07-03 09:10:23 -07:00
Andrew Meadows
356a29c2fb add AngularConstraint::softClamp() for hands 2014-07-03 08:40:34 -07:00
Andrew Meadows
9f5f79b2e3 merge andrew/ragdoll into andrew/bispinor
improved IK merged into AngularConstraint work

Conflicts:
	interface/src/renderer/JointState.cpp
	interface/src/renderer/JointState.h
2014-07-02 11:37:17 -07:00
Andrew Meadows
b018c1c4a5 Add copy ctor for JointState
create AngularConstraint for joints that need them (but not used yet)
2014-07-02 11:22:07 -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
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
9a2197a23c draw skeleton shapes at at correct positions 2014-06-23 10:55:34 -07:00
Andrew Meadows
fbafcb6fd8 Fix distance constraint lengths 2014-06-19 11:46:09 -07:00
Andrew Meadows
a8c2003fe6 namechange SimulationEngine --> PhysicsSimulation 2014-06-19 08:34:12 -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
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