Skip to content

Commit

Permalink
Client|Renderer|Stereo 3D: Updated stereo 3d related TODO comments.
Browse files Browse the repository at this point in the history
  • Loading branch information
cmbruns committed Oct 26, 2013
1 parent 60e1fc3 commit e20b9d2
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
2 changes: 1 addition & 1 deletion doomsday/client/include/render/vr.h
Expand Up @@ -4,7 +4,7 @@
namespace VR {

// The order shown here determines the integer value in the console.
// TODO - are symbolic values possible in the console?
/// @todo - Should rend-vr-mode console variable be a string instead of an int, for better semantics (but decreased discoverability)?
enum Stereo3DMode {
MODE_MONO = 0,
MODE_GREEN_MAGENTA,
Expand Down
18 changes: 9 additions & 9 deletions doomsday/client/src/ui/clientwindow.cpp
Expand Up @@ -570,7 +570,7 @@ void ClientWindow::canvasGLDraw(Canvas &canvas)
root().draw();
break;
// B) Split-screen type stereo 3D modes here:
case VR::MODE_TOP_BOTTOM: // TODO - which is on top?
case VR::MODE_TOP_BOTTOM: // Left goes on top
// Left eye view on top of screen.
VR::eyeShift = VR::getEyeShift(-1);
GLState::setActiveRect(Rectangleui(0, 0, width(), height()/2), true);
Expand All @@ -590,7 +590,7 @@ void ClientWindow::canvasGLDraw(Canvas &canvas)
GLState::setActiveRect(Rectangleui(width()/2, 0, width()/2, height()), true);
root().draw();
break;
case VR::MODE_PARALLEL: // TODO Normal aspect
case VR::MODE_PARALLEL: // Normal aspect
// Left eye view on left side of screen.
VR::eyeShift = VR::getEyeShift(-1);
GLState::setActiveRect(Rectangleui(0, 0, width()/2, height()), true);
Expand All @@ -600,7 +600,7 @@ void ClientWindow::canvasGLDraw(Canvas &canvas)
GLState::setActiveRect(Rectangleui(width()/2, 0, width()/2, height()), true);
root().draw();
break;
case VR::MODE_CROSSEYE: // TODO Normal aspect
case VR::MODE_CROSSEYE: // Normal aspect
// RIght eye view on left side of screen.
VR::eyeShift = VR::getEyeShift(+1);
GLState::setActiveRect(Rectangleui(0, 0, width()/2, height()), true);
Expand All @@ -610,7 +610,7 @@ void ClientWindow::canvasGLDraw(Canvas &canvas)
GLState::setActiveRect(Rectangleui(width()/2, 0, width()/2, height()), true);
root().draw();
break;
case VR::MODE_OCULUS_RIFT: // TODO Normal aspect, head tracking, image warping
case VR::MODE_OCULUS_RIFT: /// @todo head tracking, image warping, shrunken hud
// Left eye view on left side of screen.
VR::eyeShift = VR::getEyeShift(-1);
GLState::setActiveRect(Rectangleui(0, 0, width()/2, height()), true);
Expand Down Expand Up @@ -649,7 +649,7 @@ void ClientWindow::canvasGLDraw(Canvas &canvas)
break;
case VR::MODE_QUAD_BUFFERED:
{
// TODO - attempt to enable stereo context at start up.
/// @todo - attempt to enable a stereo GL context at start up.
GLboolean isStereoContext, isDoubleBuffered;
glGetBooleanv(GL_STEREO, &isStereoContext);
glGetBooleanv(GL_DOUBLEBUFFER, &isDoubleBuffered);
Expand Down Expand Up @@ -687,7 +687,7 @@ void ClientWindow::canvasGLDraw(Canvas &canvas)
QPoint ulCorner(0, 0);
ulCorner = canvas.mapToGlobal(ulCorner); // widget to screen coordinates
bool rowParityIsEven = ((ulCorner.x() % 2) == 0);
// TODO - use parity in shader or stencil...
/// @todo - use row parity in shader or stencil, to actally interleave rows.
// Left eye view
VR::eyeShift = VR::getEyeShift(-1);
root().draw();
Expand All @@ -696,8 +696,8 @@ void ClientWindow::canvasGLDraw(Canvas &canvas)
root().draw();
break;
}
case VR::MODE_COLUMN_INTERLEAVED: // TODO
case VR::MODE_CHECKERBOARD: // TODO
case VR::MODE_COLUMN_INTERLEAVED: /// @todo implement column interleaved stereo 3D after row intleaved is working correctly...
case VR::MODE_CHECKERBOARD: /// @todo implement checker stereo 3D after row intleaved is working correctly ...
default:
// Non-stereoscopic frame.
root().draw();
Expand Down Expand Up @@ -863,7 +863,7 @@ void ClientWindow::updateRootSize()
size *= .75f; // Make it a bit bigger.
break;
case VR::MODE_OCULUS_RIFT:
// TODO - taskbar needs to elevate above bottom of screen
/// @todo - taskbar needs to elevate above bottom of screen in Rift mode
// Adjust effective UI size for stereoscopic rendering.
size.y *= 2;
size *= 0.75f;
Expand Down

0 comments on commit e20b9d2

Please sign in to comment.