Package org.lwjgl.ovr

Class OVRLayerQuad

  • All Implemented Interfaces:
    java.lang.AutoCloseable, NativeResource, Pointer


    public class OVRLayerQuad
    extends Struct
    Describes a layer of Quad type, which is a single quad in world or viewer space. It is used for both OVR.ovrLayerType_Quad. This type of layer represents a single object placed in the world and not a stereo view of the world itself.

    A typical use of OVR.ovrLayerType_Quad is to draw a television screen in a room that for some reason is more convenient to draw as a layer than as part of the main view in layer 0. For example, it could implement a 3D popup GUI that is drawn at a higher resolution than layer 0 to improve fidelity of the GUI.

    Quad layers are visible from both sides; they are not back-face culled.

    Member documentation

    • HeaderHeader.Type must be OVR.ovrLayerType_Quad
    • ColorTexture – contains a single image, never with any stereo view
    • Viewport – specifies the ColorTexture sub-rect UV coordinates
    • QuadPoseCenter – specifies the orientation and position of the center point of a Quad layer type.

      The supplied direction is the vector perpendicular to the quad. The position is in real-world meters (not the application's virtual world, the physical world the user is in) and is relative to the "zero" position set by OVR.ovr_RecenterTrackingOrigin(long) unless the OVR.ovrLayerFlag_HeadLocked flag is used.

    • QuadSize – width and height (respectively) of the quad in meters

    Layout

    struct ovrLayerQuad {
        ovrLayerHeader Header;
        ovrTextureSwapChain ColorTexture;
        ovrRecti Viewport;
        ovrPosef QuadPoseCenter;
        ovrVector2f QuadSize;
    }
    • Field Detail

      • SIZEOF

        public static final int SIZEOF
        The struct size in bytes.
    • Constructor Detail

      • OVRLayerQuad

        public OVRLayerQuad(java.nio.ByteBuffer container)
        Creates a OVRLayerQuad instance at the current position of the specified ByteBuffer container. Changes to the buffer's content will be visible to the struct instance and vice versa.

        The created instance holds a strong reference to the container object.