# HG changeset patch # User John Tsiombikas # Date 1414376407 -7200 # Node ID 256d8fcf02f1d2ae796e45bb13e433c7ba330148 # Parent 3d224ad45cacc583123ca4b3bb09c1770c3d1161 wtf... nothing is drawn on linux diff -r 3d224ad45cac -r 256d8fcf02f1 src/main.c --- a/src/main.c Sun Oct 26 23:10:14 2014 +0200 +++ b/src/main.c Mon Oct 27 04:20:07 2014 +0200 @@ -102,8 +102,6 @@ return -1; } - XSynchronize(glXGetCurrentDisplay(), True); - glewInit(); if(!(hmd = ovrHmd_Create(0))) { @@ -121,8 +119,8 @@ win_width = hmd->Resolution.w; win_height = hmd->Resolution.h; - /* enable position and rotation tracking (and anything else they might add in the future) */ - ovrHmd_ConfigureTracking(hmd, 0xffffffff, 0); + /* enable position and rotation tracking */ + ovrHmd_ConfigureTracking(hmd, ovrTrackingCap_Orientation | ovrTrackingCap_MagYawCorrection | ovrTrackingCap_Position, 0); /* retrieve the optimal render target resolution for each eye */ eyeres[0] = ovrHmd_GetFovTextureSize(hmd, ovrEye_Left, hmd->DefaultEyeFov[0], 1.0); eyeres[1] = ovrHmd_GetFovTextureSize(hmd, ovrEye_Right, hmd->DefaultEyeFov[1], 1.0); @@ -153,6 +151,14 @@ glcfg.OGL.Header.RTSize = hmd->Resolution; glcfg.OGL.Header.Multisample = 1; +#ifdef WIN32 + glcfg.OGL.Window = GetActiveWindow(); + glcfg.OGL.DC = wglGetCurrentDC(); +#else + glcfg.OGL.Disp = glXGetCurrentDisplay(); + glcfg.OGL.Win = glXGetCurrentDrawable(); +#endif + if(hmd->HmdCaps & ovrHmdCap_ExtendDesktop) { printf("running in \"extended desktop\" mode\n"); } else { @@ -161,18 +167,9 @@ * XXX: this doesn't work properly yet due to bugs in the oculus 0.4.1 sdk/driver */ #ifdef WIN32 - HWND sys_win = GetActiveWindow(); - glcfg.OGL.Window = sys_win; - glcfg.OGL.DC = wglGetCurrentDC(); - ovrHmd_AttachToWindow(hmd, sys_win, 0, 0); + ovrHmd_AttachToWindow(hmd, glcfg.OGL.Window, 0, 0); #else - Display *dpy = glXGetCurrentDisplay(); - Window win = glXGetCurrentDrawable(); - assert(dpy && win); - - glcfg.OGL.Disp = dpy; - glcfg.OGL.Win = win; - ovrHmd_AttachToWindow(hmd, (void*)win, 0, 0); + ovrHmd_AttachToWindow(hmd, (void*)glcfg.OGL.Win, 0, 0); #endif printf("running in \"direct-hmd\" mode\n"); }