Package org.lwjgl.ovr
Class OVRLayerEyeMatrix
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.ovr.OVRLayerEyeMatrix
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,org.lwjgl.system.NativeResource
,org.lwjgl.system.Pointer
public class OVRLayerEyeMatrix extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResource
Describes a layer that specifies a monoscopic or stereoscopic view.This uses a direct 3x4 matrix to map from view space to the UV coordinates. It is essentially the same thing as
OVRLayerEyeFov
but using a much lower level. This is mainly to provide compatibility with specific apps. Unless the application really requires this flexibility, it is usually better to useovrLayerEyeFov
.Three options exist with respect to mono/stereo texture usage:
ColorTexture[0]
andColorTexture[1]
contain the left and right stereo renderings, respectively.Viewport[0]
andViewport[1]
refer toColorTexture[0]
andColorTexture[1]
, respectively.ColorTexture[0]
contains both the left and right renderings,ColorTexture[1]
isNULL
, andViewport[0]
andViewport[1]
refer to sub-rects withColorTexture[0]
.ColorTexture[0]
contains a single monoscopic rendering, andViewport[0]
andViewport[1]
both refer to that rendering.
Member documentation
Header
–Header.Type
must beLayerType_EyeMatrix
ColorTexture[ovrEye_Count]
–ovrTextureSwapChains
for the left and right eye respectively. The second one of which can beNULL
for cases described above.Viewport[ovrEye_Count]
– specifies theColorTexture
sub-rect UV coordinates. BothViewport[0]
andViewport[1]
must be valid.RenderPose[ovrEye_Count]
– specifies the position and orientation of each eye view, with the position specified in meters.RenderPose
will typically be the value returned from_CalcEyePoses
, but can be different in special cases if a different head pose is used for rendering.Matrix[ovrEye_Count]
– specifies the mapping from a view-space vector to a UV coordinate on the textures given above.P = (x,y,z,1)*Matrix TexU = P.x/P.z TexV = P.y/P.z
SensorSampleTime
– specifies the timestamp when the sourceovrPosef
(used in calculatingRenderPose
) was sampled from the SDK. Typically retrieved by callingGetTimeInSeconds
around the instant the application callsGetTrackingState
The main purpose for this is to accurately track app tracking latency.
Layout
struct ovrLayerEyeMatrix {
ovrLayerHeader
Header; ovrTextureSwapChain ColorTexture[ovrEye_Count];ovrRecti
Viewport[ovrEye_Count];ovrPosef
RenderPose[ovrEye_Count];ovrMatrix4f
Matrix[ovrEye_Count]; double SensorSampleTime; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
OVRLayerEyeMatrix.Buffer
An array ofOVRLayerEyeMatrix
structs.
-
Field Summary
Fields Modifier and Type Field Description static int
ALIGNOF
The struct alignment in bytes.static int
COLORTEXTURE
HEADER
MATRIX
RENDERPOSE
SENSORSAMPLETIMEThe struct member offsets.static int
SIZEOF
The struct size in bytes.static int
VIEWPORT
The struct member offsets.
-
Constructor Summary
Constructors Constructor Description OVRLayerEyeMatrix(java.nio.ByteBuffer container)
Creates aOVRLayerEyeMatrix
instance at the current position of the specifiedByteBuffer
container.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static OVRLayerEyeMatrix
calloc()
Returns a newOVRLayerEyeMatrix
instance allocated withmemCalloc
.static OVRLayerEyeMatrix.Buffer
calloc(int capacity)
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated withmemCalloc
.static OVRLayerEyeMatrix
callocStack()
Returns a newOVRLayerEyeMatrix
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static OVRLayerEyeMatrix.Buffer
callocStack(int capacity)
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static OVRLayerEyeMatrix.Buffer
callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static OVRLayerEyeMatrix
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newOVRLayerEyeMatrix
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.org.lwjgl.PointerBuffer
ColorTexture()
Returns aPointerBuffer
view of theColorTexture
field.long
ColorTexture(int index)
Returns the value at the specified index of theColorTexture
field.OVRLayerEyeMatrix
ColorTexture(int index, long value)
Sets the specified value at the specified index of theColorTexture
field.OVRLayerEyeMatrix
ColorTexture(org.lwjgl.PointerBuffer value)
Copies the specifiedPointerBuffer
to theColorTexture
field.static OVRLayerEyeMatrix
create()
Returns a newOVRLayerEyeMatrix
instance allocated withBufferUtils
.static OVRLayerEyeMatrix.Buffer
create(int capacity)
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated withBufferUtils
.static OVRLayerEyeMatrix
create(long address)
Returns a newOVRLayerEyeMatrix
instance for the specified memory address.static OVRLayerEyeMatrix.Buffer
create(long address, int capacity)
Create aOVRLayerEyeMatrix.Buffer
instance at the specified memory.static OVRLayerEyeMatrix
createSafe(long address)
static OVRLayerEyeMatrix.Buffer
createSafe(long address, int capacity)
OVRLayerHeader
Header()
Returns aOVRLayerHeader
view of theHeader
field.OVRLayerEyeMatrix
Header(java.util.function.Consumer<OVRLayerHeader> consumer)
Passes theHeader
field to the specifiedConsumer
.OVRLayerEyeMatrix
Header(OVRLayerHeader value)
Copies the specifiedOVRLayerHeader
to theHeader
field.static OVRLayerEyeMatrix
malloc()
Returns a newOVRLayerEyeMatrix
instance allocated withmemAlloc
.static OVRLayerEyeMatrix.Buffer
malloc(int capacity)
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated withmemAlloc
.static OVRLayerEyeMatrix
mallocStack()
Returns a newOVRLayerEyeMatrix
instance allocated on the thread-localMemoryStack
.static OVRLayerEyeMatrix.Buffer
mallocStack(int capacity)
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated on the thread-localMemoryStack
.static OVRLayerEyeMatrix.Buffer
mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated on the specifiedMemoryStack
.static OVRLayerEyeMatrix
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newOVRLayerEyeMatrix
instance allocated on the specifiedMemoryStack
.OVRMatrix4f.Buffer
Matrix()
Returns aOVRMatrix4f
.Buffer view of theMatrix
field.OVRMatrix4f
Matrix(int index)
Returns aOVRMatrix4f
view of the struct at the specified index of theMatrix
field.OVRLayerEyeMatrix
Matrix(int index, java.util.function.Consumer<OVRMatrix4f> consumer)
Passes the element atindex
of theMatrix
field to the specifiedConsumer
.OVRLayerEyeMatrix
Matrix(int index, OVRMatrix4f value)
Copies the specifiedOVRMatrix4f
at the specified index of theMatrix
field.OVRLayerEyeMatrix
Matrix(java.util.function.Consumer<OVRMatrix4f.Buffer> consumer)
Passes theMatrix
field to the specifiedConsumer
.OVRLayerEyeMatrix
Matrix(OVRMatrix4f.Buffer value)
Copies the specifiedOVRMatrix4f.Buffer
to theMatrix
field.static org.lwjgl.PointerBuffer
nColorTexture(long struct)
Unsafe version ofColorTexture()
.static long
nColorTexture(long struct, int index)
Unsafe version ofColorTexture
.static void
nColorTexture(long struct, int index, long value)
Unsafe version ofColorTexture
.static void
nColorTexture(long struct, org.lwjgl.PointerBuffer value)
Unsafe version ofColorTexture
.static OVRLayerHeader
nHeader(long struct)
Unsafe version ofHeader()
.static void
nHeader(long struct, OVRLayerHeader value)
Unsafe version ofHeader
.static OVRMatrix4f.Buffer
nMatrix(long struct)
Unsafe version ofMatrix()
.static OVRMatrix4f
nMatrix(long struct, int index)
Unsafe version ofMatrix
.static void
nMatrix(long struct, int index, OVRMatrix4f value)
Unsafe version ofMatrix
.static void
nMatrix(long struct, OVRMatrix4f.Buffer value)
Unsafe version ofMatrix
.static OVRPosef.Buffer
nRenderPose(long struct)
Unsafe version ofRenderPose()
.static OVRPosef
nRenderPose(long struct, int index)
Unsafe version ofRenderPose
.static void
nRenderPose(long struct, int index, OVRPosef value)
Unsafe version ofRenderPose
.static void
nRenderPose(long struct, OVRPosef.Buffer value)
Unsafe version ofRenderPose
.static double
nSensorSampleTime(long struct)
Unsafe version ofSensorSampleTime()
.static void
nSensorSampleTime(long struct, double value)
Unsafe version ofSensorSampleTime
.static OVRRecti.Buffer
nViewport(long struct)
Unsafe version ofViewport()
.static OVRRecti
nViewport(long struct, int index)
Unsafe version ofViewport
.static void
nViewport(long struct, int index, OVRRecti value)
Unsafe version ofViewport
.static void
nViewport(long struct, OVRRecti.Buffer value)
Unsafe version ofViewport
.OVRPosef.Buffer
RenderPose()
Returns aOVRPosef
.Buffer view of theRenderPose
field.OVRPosef
RenderPose(int index)
Returns aOVRPosef
view of the struct at the specified index of theRenderPose
field.OVRLayerEyeMatrix
RenderPose(int index, java.util.function.Consumer<OVRPosef> consumer)
Passes the element atindex
of theRenderPose
field to the specifiedConsumer
.OVRLayerEyeMatrix
RenderPose(int index, OVRPosef value)
Copies the specifiedOVRPosef
at the specified index of theRenderPose
field.OVRLayerEyeMatrix
RenderPose(java.util.function.Consumer<OVRPosef.Buffer> consumer)
Passes theRenderPose
field to the specifiedConsumer
.OVRLayerEyeMatrix
RenderPose(OVRPosef.Buffer value)
Copies the specifiedOVRPosef.Buffer
to theRenderPose
field.double
SensorSampleTime()
Returns the value of theSensorSampleTime
field.OVRLayerEyeMatrix
SensorSampleTime(double value)
Sets the specified value to theSensorSampleTime
field.OVRLayerEyeMatrix
set(OVRLayerEyeMatrix src)
Copies the specified struct data to this struct.OVRLayerEyeMatrix
set(OVRLayerHeader Header, org.lwjgl.PointerBuffer ColorTexture, OVRRecti.Buffer Viewport, OVRPosef.Buffer RenderPose, OVRMatrix4f.Buffer Matrix, double SensorSampleTime)
Initializes this struct with the specified values.int
sizeof()
static void
validate(long struct)
Validates pointer members that should not beNULL
.static void
validate(long array, int count)
Callsvalidate(long)
for each struct contained in the specified struct array.OVRRecti.Buffer
Viewport()
Returns aOVRRecti
.Buffer view of theViewport
field.OVRRecti
Viewport(int index)
Returns aOVRRecti
view of the struct at the specified index of theViewport
field.OVRLayerEyeMatrix
Viewport(int index, java.util.function.Consumer<OVRRecti> consumer)
Passes the element atindex
of theViewport
field to the specifiedConsumer
.OVRLayerEyeMatrix
Viewport(int index, OVRRecti value)
Copies the specifiedOVRRecti
at the specified index of theViewport
field.OVRLayerEyeMatrix
Viewport(java.util.function.Consumer<OVRRecti.Buffer> consumer)
Passes theViewport
field to the specifiedConsumer
.OVRLayerEyeMatrix
Viewport(OVRRecti.Buffer value)
Copies the specifiedOVRRecti.Buffer
to theViewport
field.
-
-
-
Constructor Detail
-
OVRLayerEyeMatrix
public OVRLayerEyeMatrix(java.nio.ByteBuffer container)
Creates aOVRLayerEyeMatrix
instance at the current position of the specifiedByteBuffer
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.
-
-
Method Detail
-
sizeof
public int sizeof()
- Specified by:
sizeof
in classorg.lwjgl.system.Struct
-
Header
public OVRLayerHeader Header()
Returns aOVRLayerHeader
view of theHeader
field.
-
ColorTexture
public org.lwjgl.PointerBuffer ColorTexture()
Returns aPointerBuffer
view of theColorTexture
field.
-
ColorTexture
public long ColorTexture(int index)
Returns the value at the specified index of theColorTexture
field.
-
Viewport
public OVRRecti.Buffer Viewport()
Returns aOVRRecti
.Buffer view of theViewport
field.
-
Viewport
public OVRRecti Viewport(int index)
Returns aOVRRecti
view of the struct at the specified index of theViewport
field.
-
RenderPose
public OVRPosef.Buffer RenderPose()
Returns aOVRPosef
.Buffer view of theRenderPose
field.
-
RenderPose
public OVRPosef RenderPose(int index)
Returns aOVRPosef
view of the struct at the specified index of theRenderPose
field.
-
Matrix
public OVRMatrix4f.Buffer Matrix()
Returns aOVRMatrix4f
.Buffer view of theMatrix
field.
-
Matrix
public OVRMatrix4f Matrix(int index)
Returns aOVRMatrix4f
view of the struct at the specified index of theMatrix
field.
-
SensorSampleTime
public double SensorSampleTime()
Returns the value of theSensorSampleTime
field.
-
Header
public OVRLayerEyeMatrix Header(OVRLayerHeader value)
Copies the specifiedOVRLayerHeader
to theHeader
field.
-
Header
public OVRLayerEyeMatrix Header(java.util.function.Consumer<OVRLayerHeader> consumer)
Passes theHeader
field to the specifiedConsumer
.
-
ColorTexture
public OVRLayerEyeMatrix ColorTexture(org.lwjgl.PointerBuffer value)
Copies the specifiedPointerBuffer
to theColorTexture
field.
-
ColorTexture
public OVRLayerEyeMatrix ColorTexture(int index, long value)
Sets the specified value at the specified index of theColorTexture
field.
-
Viewport
public OVRLayerEyeMatrix Viewport(OVRRecti.Buffer value)
Copies the specifiedOVRRecti.Buffer
to theViewport
field.
-
Viewport
public OVRLayerEyeMatrix Viewport(int index, OVRRecti value)
Copies the specifiedOVRRecti
at the specified index of theViewport
field.
-
Viewport
public OVRLayerEyeMatrix Viewport(java.util.function.Consumer<OVRRecti.Buffer> consumer)
Passes theViewport
field to the specifiedConsumer
.
-
Viewport
public OVRLayerEyeMatrix Viewport(int index, java.util.function.Consumer<OVRRecti> consumer)
Passes the element atindex
of theViewport
field to the specifiedConsumer
.
-
RenderPose
public OVRLayerEyeMatrix RenderPose(OVRPosef.Buffer value)
Copies the specifiedOVRPosef.Buffer
to theRenderPose
field.
-
RenderPose
public OVRLayerEyeMatrix RenderPose(int index, OVRPosef value)
Copies the specifiedOVRPosef
at the specified index of theRenderPose
field.
-
RenderPose
public OVRLayerEyeMatrix RenderPose(java.util.function.Consumer<OVRPosef.Buffer> consumer)
Passes theRenderPose
field to the specifiedConsumer
.
-
RenderPose
public OVRLayerEyeMatrix RenderPose(int index, java.util.function.Consumer<OVRPosef> consumer)
Passes the element atindex
of theRenderPose
field to the specifiedConsumer
.
-
Matrix
public OVRLayerEyeMatrix Matrix(OVRMatrix4f.Buffer value)
Copies the specifiedOVRMatrix4f.Buffer
to theMatrix
field.
-
Matrix
public OVRLayerEyeMatrix Matrix(int index, OVRMatrix4f value)
Copies the specifiedOVRMatrix4f
at the specified index of theMatrix
field.
-
Matrix
public OVRLayerEyeMatrix Matrix(java.util.function.Consumer<OVRMatrix4f.Buffer> consumer)
Passes theMatrix
field to the specifiedConsumer
.
-
Matrix
public OVRLayerEyeMatrix Matrix(int index, java.util.function.Consumer<OVRMatrix4f> consumer)
Passes the element atindex
of theMatrix
field to the specifiedConsumer
.
-
SensorSampleTime
public OVRLayerEyeMatrix SensorSampleTime(double value)
Sets the specified value to theSensorSampleTime
field.
-
set
public OVRLayerEyeMatrix set(OVRLayerHeader Header, org.lwjgl.PointerBuffer ColorTexture, OVRRecti.Buffer Viewport, OVRPosef.Buffer RenderPose, OVRMatrix4f.Buffer Matrix, double SensorSampleTime)
Initializes this struct with the specified values.
-
set
public OVRLayerEyeMatrix set(OVRLayerEyeMatrix src)
Copies the specified struct data to this struct.- Parameters:
src
- the source struct- Returns:
- this struct
-
malloc
public static OVRLayerEyeMatrix malloc()
Returns a newOVRLayerEyeMatrix
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static OVRLayerEyeMatrix calloc()
Returns a newOVRLayerEyeMatrix
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static OVRLayerEyeMatrix create()
Returns a newOVRLayerEyeMatrix
instance allocated withBufferUtils
.
-
create
public static OVRLayerEyeMatrix create(long address)
Returns a newOVRLayerEyeMatrix
instance for the specified memory address.
-
createSafe
@Nullable public static OVRLayerEyeMatrix createSafe(long address)
-
malloc
public static OVRLayerEyeMatrix.Buffer malloc(int capacity)
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static OVRLayerEyeMatrix.Buffer calloc(int capacity)
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static OVRLayerEyeMatrix.Buffer create(int capacity)
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static OVRLayerEyeMatrix.Buffer create(long address, int capacity)
Create aOVRLayerEyeMatrix.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
@Nullable public static OVRLayerEyeMatrix.Buffer createSafe(long address, int capacity)
-
mallocStack
public static OVRLayerEyeMatrix mallocStack()
Returns a newOVRLayerEyeMatrix
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static OVRLayerEyeMatrix callocStack()
Returns a newOVRLayerEyeMatrix
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static OVRLayerEyeMatrix mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newOVRLayerEyeMatrix
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static OVRLayerEyeMatrix callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newOVRLayerEyeMatrix
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
mallocStack
public static OVRLayerEyeMatrix.Buffer mallocStack(int capacity)
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static OVRLayerEyeMatrix.Buffer callocStack(int capacity)
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacity
-
mallocStack
public static OVRLayerEyeMatrix.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
callocStack
public static OVRLayerEyeMatrix.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
nHeader
public static OVRLayerHeader nHeader(long struct)
Unsafe version ofHeader()
.
-
nColorTexture
public static org.lwjgl.PointerBuffer nColorTexture(long struct)
Unsafe version ofColorTexture()
.
-
nColorTexture
public static long nColorTexture(long struct, int index)
Unsafe version ofColorTexture
.
-
nViewport
public static OVRRecti.Buffer nViewport(long struct)
Unsafe version ofViewport()
.
-
nRenderPose
public static OVRPosef.Buffer nRenderPose(long struct)
Unsafe version ofRenderPose()
.
-
nRenderPose
public static OVRPosef nRenderPose(long struct, int index)
Unsafe version ofRenderPose
.
-
nMatrix
public static OVRMatrix4f.Buffer nMatrix(long struct)
Unsafe version ofMatrix()
.
-
nMatrix
public static OVRMatrix4f nMatrix(long struct, int index)
Unsafe version ofMatrix
.
-
nSensorSampleTime
public static double nSensorSampleTime(long struct)
Unsafe version ofSensorSampleTime()
.
-
nHeader
public static void nHeader(long struct, OVRLayerHeader value)
Unsafe version ofHeader
.
-
nColorTexture
public static void nColorTexture(long struct, org.lwjgl.PointerBuffer value)
Unsafe version ofColorTexture
.
-
nColorTexture
public static void nColorTexture(long struct, int index, long value)
Unsafe version ofColorTexture
.
-
nViewport
public static void nViewport(long struct, OVRRecti.Buffer value)
Unsafe version ofViewport
.
-
nViewport
public static void nViewport(long struct, int index, OVRRecti value)
Unsafe version ofViewport
.
-
nRenderPose
public static void nRenderPose(long struct, OVRPosef.Buffer value)
Unsafe version ofRenderPose
.
-
nRenderPose
public static void nRenderPose(long struct, int index, OVRPosef value)
Unsafe version ofRenderPose
.
-
nMatrix
public static void nMatrix(long struct, OVRMatrix4f.Buffer value)
Unsafe version ofMatrix
.
-
nMatrix
public static void nMatrix(long struct, int index, OVRMatrix4f value)
Unsafe version ofMatrix
.
-
nSensorSampleTime
public static void nSensorSampleTime(long struct, double value)
Unsafe version ofSensorSampleTime
.
-
validate
public static void validate(long struct)
Validates pointer members that should not beNULL
.- Parameters:
struct
- the struct to validate
-
validate
public static void validate(long array, int count)
Callsvalidate(long)
for each struct contained in the specified struct array.- Parameters:
array
- the struct array to validatecount
- the number of structs inarray
-
-