package com.jme3.app; import java.util.HashMap; import com.jme3.system.AppSettings; /** * Some constants dedicated to the VR module. * @author Julien Seinturier - JOrigin project - <a href="http://www.jorigin.org">http:/www.jorigin.org</a> * @since 3.1.0 */ public class VRConstants { /** * An AppSettings parameter that set if the VR compositor has to be used. * <p> * <b>Type: </b><code>boolean</code><br> * <b>Usage: </b><code>{@link AppSettings appSettings}.{@link HashMap#put(Object, Object) put}(VRConstants.SETTING_USE_COMPOSITOR, value)</code> */ public static final String SETTING_USE_COMPOSITOR = "VRUseCompositor"; /** * An AppSettings parameter that set if the rendering has to use two eyes, * regardless of VR API detection (turning this setting on without a VR system should lead to errors). * <p> * <b>Type: </b><code>boolean</code><br> * <b>Usage: </b><code>{@link AppSettings appSettings}.{@link HashMap#put(Object, Object) put}(VRConstants.SETTING_VR_FORCE, value)</code> */ public static final String SETTING_VR_FORCE = "VRForce"; /** * An AppSettings parameter that set to invert the eyes of the HMD. * <b>Type: </b><code>boolean</code><br> * <b>Usage: </b><code>{@link AppSettings appSettings}.{@link HashMap#put(Object, Object) put}(VRConstants.SETTING_FLIP_EYES, value)</code> */ public static final String SETTING_FLIP_EYES = "VRFlipEyes"; /** * An AppSettings parameter that set if the GUI has to be displayed even if it is behind objects. * <b>Type: </b><code>boolean</code><br> * <b>Usage: </b><code>{@link AppSettings appSettings}.{@link HashMap#put(Object, Object) put}(VRConstants.SETTING_GUI_OVERDRAW, value)</code> * */ public static final String SETTING_GUI_OVERDRAW = "VRGUIOverdraw"; /** * An AppSettings parameter that set if the GUI surface has to be curved. * <b>Type: </b><code>boolean</code><br> * <b>Usage: </b><code>{@link AppSettings appSettings}.{@link HashMap#put(Object, Object) put}(VRConstants.SETTING_GUI_CURVED_SURFACE, value)</code> */ public static final String SETTING_GUI_CURVED_SURFACE = "VRGUICurvedSurface"; /** * An AppSettings parameter that set if a mirror rendering has to be displayed on the screen. * Runs faster when set to <code>false</code>. * <b>Type: </b><code>boolean</code><br> * <b>Usage: </b><code>{@link AppSettings appSettings}.{@link HashMap#put(Object, Object) put}(VRConstants.SETTING_ENABLE_MIRROR_WINDOW, value)</code> */ public static final String SETTING_ENABLE_MIRROR_WINDOW = "VREnableMirrorWindow"; /** * An AppSettings parameter that set if the VR rendering has to be disabled, * regardless VR API and devices are presents. * <b>Type: </b><code>boolean</code><br> * <b>Usage: </b><code>{@link AppSettings appSettings}.{@link HashMap#put(Object, Object) put}(VRConstants.SETTING_DISABLE_VR, value)</code> */ public static final String SETTING_DISABLE_VR = "VRDisable"; /** * An AppSettings parameter that set if the VR user is seated. * <b>Type: </b><code>boolean</code><br> * <b>Usage: </b><code>{@link AppSettings appSettings}.{@link HashMap#put(Object, Object) put}(VRConstants.SETTING_SEATED_EXPERIENCE, value)</code> */ public static final String SETTING_SEATED_EXPERIENCE = "VRSeatedExperience"; /** * An AppSettings parameter that set if the GUI has to be ignored. * <b>Type: </b><code>boolean</code><br> * <b>Usage: </b><code>{@link AppSettings appSettings}.{@link HashMap#put(Object, Object) put}(VRConstants.SETTING_NO_GUI, value)</code> */ public static final String SETTING_NO_GUI = "VRNoGUI"; /** * An AppSettings parameter that set if instance rendering has to be used. * This setting requires some vertex shader changes (see Common/MatDefs/VR/Unshaded.j3md). * <b>Type: </b><code>boolean</code><br> * <b>Usage: </b><code>{@link AppSettings appSettings}.{@link HashMap#put(Object, Object) put}(VRConstants.SETTING_INSTANCE_RENDERING, value)</code> */ public static final String SETTING_INSTANCE_RENDERING = "VRInstanceRendering"; /** * An AppSettings parameter that set if Multi Sample Anti Aliasing has to be enabled. * <b>Type: </b><code>boolean</code><br> * <b>Usage: </b><code>{@link AppSettings appSettings}.{@link HashMap#put(Object, Object) put}(VRConstants.SETTING_DISABLE_MSAA, value)</code> */ public static final String SETTING_DISABLE_MSAA = "VRDisableMSAA"; /** * An AppSettings parameter that set the default field of view (FOV) value. * <b>Type: </b><code>float</code><br> * <b>Usage: </b><code>{@link AppSettings appSettings}.{@link HashMap#put(Object, Object) put}(VRConstants.SETTING_DEFAULT_FOV, value)</code> */ public static final String SETTING_DEFAULT_FOV = "VRDefaultFOV"; /** * An AppSettings parameter that set the default aspect ratio. * <b>Type: </b><code>float</code><br> * <b>Usage: </b><code>{@link AppSettings appSettings}.{@link HashMap#put(Object, Object) put}(VRConstants.SETTING_DEFAULT_ASPECT_RATIO, value)</code> */ public static final String SETTING_DEFAULT_ASPECT_RATIO = "VRDefaultAspectRatio"; /** * An AppSettings parameter that specifies the underlying VR API. Possible values are:<br> * <ul> * <li>{@link VRConstants#SETTING_VRAPI_OPENVR_VALUE SETTING_VRAPI_OPENVR_VALUE}: Use OpenVR binding. * <li>{@link VRConstants#SETTING_VRAPI_OSVR_VALUE SETTING_VRAPI_OSVR_VALUE}: Use OSVR binding. * <li>{@link VRConstants#SETTING_VRAPI_OPENVR_LWJGL_VALUE SETTING_VRAPI_OPENVR_LWJGL_VALUE}: Use OpenVR binding from LWJGL. * </ul> * <b>Type: </b><code>int</code><br> * <b>Usage: </b><code>{@link AppSettings appSettings}.{@link HashMap#put(Object, Object) put}(VRConstants.SETTING_VRAPI, value)</code> */ public static final String SETTING_VRAPI = "VRAPI"; /** * The identifier of the OpenVR system. * @see #SETTING_VRAPI */ public static final int SETTING_VRAPI_OPENVR_VALUE = 1; /** * The identifier of the OSVR system. * @see #SETTING_VRAPI */ public static final int SETTING_VRAPI_OSVR_VALUE = 2; /** * The identifier of the OpenVR from LWJGL system. * @see #SETTING_VRAPI */ public static final int SETTING_VRAPI_OPENVR_LWJGL_VALUE = 3; }