Skip to main content
Up and Coming
May 23, 2014

SDK v0.3.2 Preview 2 Discussion

Does the new SDK look like a super low-res blurry mess to anyone else? Is there a setting I'm missing?

I tried both importing the newest SDK into my own project and importing Tuscany into a brand new project and both result in low-resolution and heavy aliasing in the center of the screen.

I've uploaded an image as an example of what I mean: http://i.imgur.com/o169wyB.jpg

Edit: I missed a setting. It looks like turning on 4x Anti-Aliasing is required now.

Here's an image with 4x Anti-Aliasing enabled: http://i.imgur.com/ohBeaG9.jpg

Even with 4xAA on it still seems like it's a lot blurrier than the previous SDKs to me.

Here's some before: http://i.imgur.com/3wDbb8f.png and after: http://i.imgur.com/2DJd5NH.png images of a scene in my own project, from 0.2.5c to 0.3.2 Preview.

I understand that the distortion method and values have changed, but with the newer SDK the perceived resolution is much lower and the thus aliasing is much worse. It might be a reverse placebo, but I don't recall it being this bad with the 0.3.1 Preview. I can definitely attempt those comparisons too.

Anyone else have any thoughts?
    This topic has been closed for replies.

    88 replies

    Inspiring
    June 9, 2014
    Which Leap SDK are you using? I v1.2 with Unity 4.5 and our 0.3.2 package in Tuscany. I set the IPD to 0.07 again, but couldn't reproduce the issue. Both the Leap and the DK1 appeared to work. I was using the unmodified "Leap Controller Multiple" prefab from their package. Does this test work for you?
    Participant
    June 9, 2014
    I want ask support also for a little issue I cannot fix.

    If I enable Orientation in OVRCamCtrl I have a little offset position between "play editor" version and final build version.

    My right and left camera has about 1f on localPosition.z.

    It was caused by OVRCameraController with EnableOrientation call function into OVRCamera that call then OVRDevice.GetCameraPositionOrientation.

    Because of my head position is controlled by Kinect head, I need that my position is equal.

    UPDATE:

    I found this code line number 248 into OVRCamera.cs:
    // Adjust camera position with offset/clipped cam location
    camera.transform.localPosition += Quaternion.Inverse(camera.transform.parent.rotation) * qp * newCamPos;

    This localPosition recalcution cause my offset.
    However I advice to add a checker to turn on/off this recalculation for next release.

    Anybody can explain me what it does and why I couldn't delete to avoid other possible issues?

    Thanks
    Thanks
    Inspiring
    June 9, 2014
    "kaz2057" wrote:
    This localPosition recalcution cause my offset.
    However I advice to add a checker to turn on/off this recalculation for next release.

    Anybody can explain me what it does and why I couldn't delete to avoid other possible issues?


    Even though DK1 only tracks your head's rotation, it uses a mathematical model to estimate changes in position as well. We call this the head model. I'll see if we can get a checkbox for this or, more generally, support third-party head tracking in the next release.
    Up and Coming
    June 11, 2014
    Hey vrdaveb

    When using Linear instead of gamma, the right camera has a bug that makes the shadows flash.
    I have noticed that if i disable the OVRMainMenu script on the OVRPlayerController it seems to fix the problem.
    I`ve looked through the script but cant seem to find the source of the problem.
    Any ideas what could be broken in there?

    Cheers
    Ambient Flight Eagle Flight Experience Dinosaur Voyage Running from Dinosaurs
    Inspiring
    June 11, 2014
    I suspect it's related to the shadow resolution error a few other people have reported. I haven't been able to reproduce the flickering here yet. Is it affected by the "Use Camera Texture" option in OVRCameraController?
    June 11, 2014
    I reported the render texture bug to Unity a while back, but they weren't super helpful. I didn't have time to create a testcase that didn't use OVR. Here is the bug report if you are interested. I did copy this to Oculus a while back as well.

    edit:
    Sorry removed the fogbugz link as it included my email address. I don't want to get spammed! Instead I have attached a picture of bug report.
    unitybug1.png
    unitybug2.png


    If you don't use the Oculus GUI, you can easily workaround this. Here is the code fix in OVRMainMenu.cs (my changes are highlighted by ccs MODIFIED comments):

    Line 51:
    	public bool DisableRenderTextureForBug = true;


    Line 231:
    		if(CameraController != null)
    CameraController.InitCameraControllerVariables();

    // Set the GUI target
    // ccs MODIFIED
    if (!DisableRenderTextureForBug) {
    GUIRenderObject = GameObject.Instantiate(Resources.Load("OVRGUIObjectMain")) as GameObject;
    }
    // END ccs MODIFIED

    if(GUIRenderObject != null)


    Line 782
    		// ccs MODIFIED
    if (!DisableRenderTextureForBug) {
    // END ccs MODIFIED
    // if set, we will render to this texture
    if(GUIRenderTexture != null)
    {
    RenderTexture.active = GUIRenderTexture;
    GL.Clear (false, true, new Color (0.0f, 0.0f, 0.0f, 0.0f));
    }

    // Update OVRGUI functions (will be deprecated eventually when 2D renderingc
    // is removed from GUI)
    GuiHelper.SetFontReplace(FontReplace);

    // If true, we are displaying information about the Rift not being detected
    // So do not show anything else
    if(GUIShowRiftDetected() != true)
    {
    GUIShowLevels();
    GUIShowVRVariables();
    }

    // The cross-hair may need to go away at some point, unless someone finds it
    // useful
    Crosshair.OnGUICrosshair();

    // Since we want to draw into the main GUI that is shared within the MainMenu,
    // we call the OVRVisionGuide GUI function here
    VisionGuide.OnGUIVisionGuide();

    // Restore active render texture
    RenderTexture.active = previousActive;
    // ccs MODIFIED
    }
    // END ccs MODIFIED
    Inspiring
    June 12, 2014
    I wasn't able to reproduce this with SDK 0.3.2 and Unity 4.5.0f6. Is it still occurring for you with that setup? Also, what OS and GPU are you using?
    June 12, 2014
    Hi vrdaveb-

    Yes it still happens with SDK 0.3.2 and Unity 4.5.0f6. This happened on 2 different computers. When I submitted original bug I was using i5 + Radeon 7770 + Windows 7 + 0.2.5 SDK. Now I'm using i5 + GTX 760 + Windows 8 + 0.3.2 SDK.

    The specifics to see the issue:
    1. must set color space to linear instead of gamma
    2. must be using a point light
    3. must build & run. The issue doesn't show up in the editor.
    4. also using DX11...but I think it also occurs in DX9 if I remember correctly

    The effect is disturbing and you'll know when you see it! Your brain doesn't like it when only 1 eye sees shadows.

    If you still can't repeat it I'll see if I can package something up for you (and Unity if it isn't OVR related).

    ccs
    Inspiring
    June 12, 2014
    Thanks, I managed to reproduce it and it was our bug. The right (the first) eye's shadow strength fluctuated between the intended value and a much lighter value that was still visible if you looked closely. It happened with DX9 and DX11 but not OpenGL (using -force-opengl). It even happened in the editor. It did not occur with "Use Camera Texture" enabled.

    The problem was that we applied distortion before the left camera had finished rendering. The fix is to change the following code in OVRDistortionCamera.cs:

    if (!CameraController.UseCameraTexture && !rightEye)
    return;

    to

    if (!CameraController.UseCameraTexture && rightEye)
    return;

    Alternatively, you may be able to fix it by swapping the camera depth of the left and right eyes. This will be fixed in the next release.
    June 12, 2014
    Hi Dave-

    I'm running 0.3.2 and I don't see the line you are referring to in OVRDistortionCamera.cs.

    For me I have Use Camera Texture enabled and it does occur, but only in player. Our symptoms are different, so hopefully it is still the same issue.

    ccs