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

    June 13, 2014
    Hi Dave-

    Here is a very simple unity project that demonstrates the issue. This one actually does show the issue in the editor as well as standalone player. For whatever reason that doesn't happen in my other project.

    https://www.dropbox.com/s/lbtl5neu4o6k339/renderissue.unitypackage

    edit (here is how to repeat issue):
    1. create new empty project
    2. import all of package above (include 0.3.2 SDK)
    3. open scene1.unity
    4. set player setting color space to linear
    5. hit play - watch right camera shadow partially disappear after a couple of seconds

    I did forget that I'm using forward rendering and my material uses a shader with fullforwardshadows enabled so point lights do have shadows here. As you can see in the package, I have camera texture on. With camera texture off, the problem goes away. Maybe that is what you meant in your other post. Hopefully this is the same issue.



    ccs
    Up and Coming
    June 13, 2014
    "vrdaveb" wrote:
    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;


    Same problem that ccs has, i cant find this line in OVRDistortionCamera.cs

    "vrdaveb" wrote:

    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.


    Just out of interest why do the left and right need to be at different depth in the first place?
    Ambient Flight Eagle Flight Experience Dinosaur Voyage Running from Dinosaurs
    Inspiring
    June 13, 2014
    I'm running 0.3.2 and I don't see the line you are referring to in OVRDistortionCamera.cs.


    Sorry, that was some debug code I had thrown in. I'm still seeing the behavior. In your minimal repro, half of the shadow disappears when I drag the Game window in the Unity Editor. It doesn't happen if I bypass our calls to the following code:


    GL.PushMatrix ();
    GL.LoadOrtho ();
    for(int i = 0; i < material.passCount; i++)
    {
    material.SetPass(i);
    ovrCam.eyeMesh.DrawMesh();
    }
    GL.PopMatrix ();


    It should be possible to make a minimal repro without the Oculus integration. After the left and right cameras render, you could just draw a full-screen quad of the final image the second camera's OnRenderImage(..) callback. The quad would be textured with the first RenderTexture Unity passes to OnRenderImage(..).

    "basedeltazero" wrote:
    Just out of interest why do the left and right need to be at different depth in the first place?


    Camera.depth controls the order of camera rendering. We use it to make the right camera render before the left eye.
    Participant
    June 14, 2014
    FYI: I'm getting the following warning in Visual Studio:

    OVR/OVR_SensorFusion.h(476): warning C4265:
    'OVR::SensorFusion' : class has virtual functions, but destructor is not virtual

    Can work around by disabling this warning for the OVR library but thought you may like to know.
    Inspiring
    June 14, 2014
    Thanks. A fix for the issue should appear in the next release.
    Up and Coming
    June 15, 2014
    Reading this thread has been very helpful. Thanks to everyone for sharing their bumps and for VRDaveB's support here!

    Any guess on when the next SDK release is? Guessing this will be Preview 3? Trying to gauge if we should use for some ongoing projects or delay until final.
    Cubicle Ninjas Custom VR App Development Guided Meditation VR for Rift, Gear, and Go
    Up and Coming
    June 26, 2014
    Hey Dave, this is just something I encountered which I'm sure you might be aware of. A good friend of mine bought a rift on Ebay recently because he wanted to start making stuff in Unity (he didn't want to wait til August for DK2). I visited him recenty, and he showed me some of his projects.. they were extremely blurry. I checked and he was indeed using the new preview2 unity integration.

    I informed him of the "Use Camera Texture" and ""Camera Texture Scale" stuff. I had him set the scale to about 1.5, he was very pleased with the results. Do you think it would be a good idea make the defaults a bit higher, or add these camera texture scale options to the In-game Unity menu (by pressing space bar). I could see this situation happening a lot to newer devs / enthusiasts getting into this space releasing new VR demos which aren't set up properly.
    Inspiring
    June 26, 2014
    Hey karrtoon,
    You're right, most apps should be rendering their undistorted images at a higher resolution than 1280x800. For now, if you're using the defaults, I would recommend running your standalone player at 1920x1080. The defaults are what they are due to instability when rendering to RenderTextures, but we're working on improving that in the future.
    Up and Coming
    June 27, 2014
    "vrdaveb" wrote:
    Hey karrtoon,
    You're right, most apps should be rendering their undistorted images at a higher resolution than 1280x800. For now, if you're using the defaults, I would recommend running your standalone player at 1920x1080. The defaults are what they are due to instability when rendering to RenderTextures, but we're working on improving that in the future.


    Thanks for the reply Dave, that sounds good. And did you mean you are working on the RenderTextures instability, or on more clear default settings? What's interesting is.. even when running at 1920x1080 with the defaults on preview2, it's not as big of a jump in clarity to my eyes as when running 0.2.5c at 1920x1080. And the defaults used at 1280x800 and even 1920x1080 for stability as you mention are blurry enough to make my demo almost unplayable.

    My thoughts on all of this are, It would be great to get these default settings to a somewhat more acceptable clarity level (for the Unity challenged) ;) or to at least to the 0.2.5.c level, until this "Use Camera Texture" feature becomes a completely viable option in the future as you mention. So we don't see a bunch of interesting, albeit blurry DK2 demos released by "VR newbies" like my friend. Who will compile their demo for a DK1 and maybe, an extra build for the DK2 users (without him actually having one) and not seeing how blurry it is at defaults, just releasing it. I hope I am making sense, and am guessing someone over there has probably already thought of this..
    Up and Coming
    June 30, 2014
    Heh, I read the whole thread and I'm still confused.

    I am using deferred lighting, a lot of dynamic lights and dual lightmapping in Aliens, Trolls & Dragons. In 0.3.2 preview 2 the image is blurry and there's heavy aliasing, whatever the resolution (1920 looks as blurry and aliased as 1280). In 0.2.5 everything was sharp, like in Malfunction, but dual lightmapping didn't work correctly.

    I want to release a gameplay video in a week or two. What should I do?

    a) go back to 0.2.5 and fight with dual lightmapping problem?
    b) play with the settings of 0.3.2 prev 2 to minimize the blurriness (has to be deferred lighting!)

    As far as I understood from the thread, to achieve a 0.2.5 sharpness, it has to be forward rendering with render to texture on, which I don't want to do. What exactly do I have to tweak to make the graphics sharp in deferred?