Skip to content

Commit 978541a

Browse files
author
Martin Gregorio
committed
Compatibility with controls
1 parent 25c81fe commit 978541a

1 file changed

Lines changed: 28 additions & 21 deletions

File tree

src/Renderer/OpenGL/OpenGLRendererWidget.cpp

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,8 @@ void OpenGLRendererWidget::paintGL()
335335
emit newSelection(selectionMode, selectionReplaces);
336336
}
337337

338+
QMatrix4x4 pose;
339+
338340
#ifdef CONTROLS
339341
if (_controls->getCursorFrozen()) {
340342
if (!_volumeRenderer.getCursorFrozen()) {
@@ -347,35 +349,40 @@ void OpenGLRendererWidget::paintGL()
347349
_volumeRenderer.unFreezeCursor();
348350
}
349351
}
350-
_volumeRenderer.render(defaultFramebufferObject(), aspect, true, _controls->getControlMatrix());
352+
353+
pose = _controls->getControlMatrix();
354+
351355
#else
352-
QMatrix4x4 pose;
353-
if (_tracker != nullptr && _tracker->getTrackerConnected() && pluginInstanceIndex > -1 && _tracker->GetTargetMatrix(pluginInstanceIndex, pose)) {
354-
355-
std::unique_lock<std::mutex> lock(mtx);
356+
if (_tracker != nullptr && _tracker->getTrackerConnected() && pluginInstanceIndex > -1){
357+
_tracker->GetTargetMatrix(pluginInstanceIndex, pose);
356358

357-
pose = offset * pose;
358-
QMatrix4x4 invertedPose = pose.inverted();
359-
cameraInModelRef[0].setToIdentity();
360-
if (!_volumeRenderer.isStereo()) {
361-
cameraInModelRef[0].lookAt(_volumeRenderer.getHeadPosition(), QVector3D(0,0,0), QVector3D(0, 1, 0));
362-
}
363-
else {
364-
cameraInModelRef[1].setToIdentity();
359+
}
360+
#endif
365361

362+
std::unique_lock<std::mutex> lock(mtx);
363+
pose = offset * pose;
364+
QMatrix4x4 invertedPose = pose.inverted();
365+
cameraInModelRef[0].setToIdentity();
366+
if (!_volumeRenderer.isStereo()) {
367+
cameraInModelRef[0].lookAt(_volumeRenderer.getHeadPosition(), QVector3D(0, 0, 0), QVector3D(0, 1, 0));
368+
}
369+
else {
370+
cameraInModelRef[1].setToIdentity();
366371

367-
cameraInModelRef[0].lookAt(_volumeRenderer.getStereoCamera(0), QVector3D(0, 0, 0), QVector3D(0, 1, 0));
368-
cameraInModelRef[1].lookAt(_volumeRenderer.getStereoCamera(1), QVector3D(0, 0, 0), QVector3D(0, 1, 0));
369372

373+
cameraInModelRef[0].lookAt(_volumeRenderer.getStereoCamera(0), QVector3D(0, 0, 0), QVector3D(0, 1, 0));
374+
cameraInModelRef[1].lookAt(_volumeRenderer.getStereoCamera(1), QVector3D(0, 0, 0), QVector3D(0, 1, 0));
370375

371-
cameraInModelRef[1] = invertedPose * cameraInModelRef[1];
372-
}
373-
cameraInModelRef[0] = invertedPose * cameraInModelRef[0];
374376

375-
lock.unlock();
376-
377-
_volumeRenderer.render(defaultFramebufferObject(), aspect, _tracker->poseIsLive(pluginInstanceIndex), pose);
377+
cameraInModelRef[1] = invertedPose * cameraInModelRef[1];
378378
}
379+
cameraInModelRef[0] = invertedPose * cameraInModelRef[0];
380+
381+
lock.unlock();
382+
#ifdef CONTROLS
383+
_volumeRenderer.render(defaultFramebufferObject(), aspect, true, pose);
384+
#else
385+
_volumeRenderer.render(defaultFramebufferObject(), aspect, _tracker->poseIsLive(pluginInstanceIndex), pose);
379386
#endif
380387
}
381388

0 commit comments

Comments
 (0)