Best Practices


The User Interface

The User Interface provides the most latitude for polish with stereo. While the following are general rules of thumb, they are not hard and fast rules.

Out of Screen Effects

Out of screen effects are very cool, but they can also be very fatiguing to users. The brain does everything it can to reject the image being in front of the monitor. For that reason, NVIDIA recommends you use these effects very sparingly. Following these guidelines will also help:

For these reasons, NVIDIA has found that out of screen effects work best during cut-scenes.

Variable Graphical Settings on Tegra

On Tegra powered devices, we encourage developers to verify performance when running with 3D Vision Automatic. The application should check performance by monitoring frame rate (or update rate), checking if 3D stereo is active, or a combination of these two checks. Where performance is lower than desired and depending on the developer’s preference, the application should either automatically adjust graphics settings or prompt the user to balance detail and performance settings.

Detecting 3D Vision in Android

Android applications can detect if 3D Vision is active by using the embedded NVIDIA NvStereoUtils library. Use the library as follows.

boolean stereoEnabled = false;
try
{
       Class c = Class.forName(“com.nvidia.nvstereoutils.NvStereoUtils”);
       Method meth = c.getMethod(“isStereoEnabled”);
       Object inst = c.newInstance();
       stereoEnabled = (Boolean)meth.invoke(inst);
}
Catch(Exception e)
{
Log.e(“3D Detection”,”Failed to load com.nvidia.nvstereoutils”
}
Adjusting Effects

There are a number of options a developer can choose to boost performance. Consider:

If you adjust the render target size for an Android application, you can use an in-built OS feature to complete the final screen scaling. The Android OS allows an OpenGL ES application to select a render target size that’s smaller than the screen size which the OS then stretches to match the device screen resolution.

Note: Where the render target resolution is adjusted, it is important to maintain the aspect ratio and ensure that the UI components adjust accordingly. Please also read the section on Post Processing.

Wrong is Right

A subtle aspect of rendering in stereoscopic is that what is correct is not always right. Sometimes it is better to reduce eye strain than to be physically correct. This is particularly true for users that play with high values for separation.

One example of this is with very strong, very tight specular highlights. To be physically accurate, the application would need to be aware of the actual view vector for each eye, and then compute the specular highlights accordingly. In testing, NVIDIA has found that using a unified camera that matches the specular highlight in both eyes reduces eyestrain and feels better. As an added bonus, this method requires no additional effort on the part of the developer.

 

 

 


NVIDIA® GameWorks™ Documentation Rev. 1.0.200608 ©2014-2020. NVIDIA Corporation. All Rights Reserved.