Commit graph

23 commits

Author SHA1 Message Date
Andrew Meadows
47c4b226ea Merge pull request #7395 from hyperlogic/tony/openvr-crash-on-exit
openvr crash on exit fix
2016-03-21 13:04:45 -07:00
Anthony J. Thibault
4321c5a62b OculusLegacyDisplayPlugin: fixes for macosx and linux 2016-03-18 15:59:48 -07:00
Andrew Meadows
e81e49b32e prevent crash in SwingTwistConstraint 2016-03-18 15:59:25 -07:00
Anthony J. Thibault
d218ca4960 openvr: fix for crash on exit
Before this fix, a script could call into HMD.getHUDLookAtPosition2D() while the app was shutting down, which in turn would call
getHeadPose() on the currently active display plugin.  This call could cause a crash within the openvr plugin, because the SDK was either shutdown, or in the process of shutting down on the main thread.

This fixes this by spliting the previous DisplayPlugin::getHeadPose(int) into two parts:

* updateHeadPose(int) which is only called once a frame and only by the main thread.
* getHeadPose() which is thread-safe and will return a cached copy of the hmd pose sampled by the last updateHeadPose.
2016-03-18 12:26:11 -07:00
Anthony Thibault
1e94d9bdf5 interface/src/avatar: cppcheck fixes 2016-03-13 18:56:15 -07:00
Anthony J. Thibault
460582239a Avatar eye look at fixes for HMDs
There were three things that were causing issues with eye look at vectors while wearing an HMD.

1) The matrix returned by AvatarUpdate->getHeadPose() was in the wrong space, it should be in avatar space.
   it was actually returning a matrix in sensor/room space.
2) The lookAtPosition was incorrect while wearing an HMD and with no avatars to look at.
3) The eye rotation limits in Rig::updateEyeJoint were relative to the model's zero orientation, NOT relative to the head.
   this was causing the eyes to hit limits when the avatar head turned.
2016-02-29 18:02:50 -08:00
howard-stearns
1225e50581 One round of billboard shredding. Server/wire/AvatarData have not been
touched.
2016-01-27 16:15:43 -08:00
Brad Davis
b9ace94ff1 Prototyping threaded present 2015-12-04 10:28:16 -08:00
Anthony J. Thibault
71f1be2b38 Avatar Sim Rate Display fix
Division by zero on first update was causing the displayed
avatar simulation rate to be incorrect.
2015-12-01 10:46:04 -08:00
Anthony J. Thibault
f922f61c3d AvatarUpdate: fix for very large dt
This was affecting threaded avatar update when enabled.
2015-11-30 15:21:04 -08:00
Atlante45
35e2f8cd89 Removed _myAvatar from Application 2015-10-06 13:56:25 -07:00
Atlante45
cf3b33a96b Replace Application::getInstance() with qApp 2015-10-06 13:56:19 -07:00
Howard Stearns
3f5744712f Remove optional "parent" argument.
GenericThread used to accept an optional "parent" argument, defaulting to nullptr.
This was odd, because the moveToThread() in GenericThread::initialize() would
become a no-op if the instance ever inits QObject(someNonNullParentQObject).
(The only clue would be a log message "QObject::moveToThread: Cannot move objects with a parent",
 and things would end up in the same thread that created the instance.)
As it turns out, all the subclasses of GenericThread do not init
GenericThread(parent), so things worked as expected.
2015-09-09 11:04:17 -07:00
Howard Stearns
f081631075 Explicit cast. 2015-09-09 10:36:52 -07:00
Howard Stearns
0065c64b31 Snapshot of no-judder, before cleanup. 2015-09-07 09:57:05 -07:00
Howard Stearns
c0fec44f32 Menu item to switch between threaded and not (without restart!). 2015-09-03 19:34:25 -07:00
Howard Stearns
2429134b37 Lock both myavatar activities, not one. 2015-08-27 13:44:19 -07:00
Howard Stearns
54877cdd47 Use GenericThread, and use usleep instead of QTimer (which is incompatible with GenericThread). 2015-08-26 11:59:12 -07:00
Howard Stearns
b0734a06f3 snapshot 2015-08-26 11:14:09 -07:00
Howard Stearns
38bc8634de displayPlugin is not thread safe, and switch from simulate rate to interval in prep for sleep. 2015-08-25 21:26:46 -07:00
Howard Stearns
b8ca604bf8 Checkpoint before GenericThread. 2015-08-25 16:17:50 -07:00
Howard Stearns
2819f3ac1b constant 2015-08-18 16:39:30 -07:00
Howard Stearns
dc75b238a8 Merge branch 'master' of https://github.com/highfidelity/hifi into decouple-avatar-updates
And update with current code.
2015-08-18 15:35:37 -07:00