Package org.lwjgl.ovr
Class OVRLayerEyeMatrix
- All Implemented Interfaces:
AutoCloseable
,NativeResource
,Pointer
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 use ovrLayerEyeFov
.
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.
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/interfaces inherited from class org.lwjgl.system.Struct
Struct.StructValidation
Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer
Pointer.Default
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
The struct alignment in bytes.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct size in bytes.static final int
The struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE
-
Constructor Summary
ConstructorDescriptionOVRLayerEyeMatrix
(ByteBuffer container) Creates aOVRLayerEyeMatrix
instance at the current position of the specifiedByteBuffer
container. -
Method Summary
Modifier and TypeMethodDescriptionstatic OVRLayerEyeMatrix
calloc()
Returns a newOVRLayerEyeMatrix
instance allocated withmemCalloc
.static OVRLayerEyeMatrix.Buffer
calloc
(int capacity) Returns a newOVRLayerEyeMatrix.Buffer
instance allocated withmemCalloc
.static OVRLayerEyeMatrix.Buffer
calloc
(int capacity, MemoryStack stack) Returns a newOVRLayerEyeMatrix.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static OVRLayerEyeMatrix
calloc
(MemoryStack stack) Returns a newOVRLayerEyeMatrix
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static OVRLayerEyeMatrix
Deprecated.static OVRLayerEyeMatrix.Buffer
callocStack
(int capacity) Deprecated.static OVRLayerEyeMatrix.Buffer
callocStack
(int capacity, MemoryStack stack) Deprecated.static OVRLayerEyeMatrix
callocStack
(MemoryStack stack) Deprecated.ovrTextureSwapChains
for the left and right eye respectively.long
ColorTexture
(int index) ovrTextureSwapChains
for the left and right eye respectively.ColorTexture
(int index, long value) Sets the specified value at the specified index of theColorTexture()
field.ColorTexture
(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) Header()
Header.Type
must beLayerType_EyeMatrix
Header
(Consumer<OVRLayerHeader> consumer) 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.Buffer
malloc
(int capacity, MemoryStack stack) Returns a newOVRLayerEyeMatrix.Buffer
instance allocated on the specifiedMemoryStack
.static OVRLayerEyeMatrix
malloc
(MemoryStack stack) Returns a newOVRLayerEyeMatrix
instance allocated on the specifiedMemoryStack
.static OVRLayerEyeMatrix
Deprecated.static OVRLayerEyeMatrix.Buffer
mallocStack
(int capacity) Deprecated.static OVRLayerEyeMatrix.Buffer
mallocStack
(int capacity, MemoryStack stack) Deprecated.static OVRLayerEyeMatrix
mallocStack
(MemoryStack stack) Deprecated.Matrix()
specifies the mapping from a view-space vector to a UV coordinate on the textures given above.Matrix
(int index) specifies the mapping from a view-space vector to a UV coordinate on the textures given above.Matrix
(int index, Consumer<OVRMatrix4f> consumer) Matrix
(int index, OVRMatrix4f value) Copies the specifiedOVRMatrix4f
at the specified index of theMatrix()
field.Matrix
(Consumer<OVRMatrix4f.Buffer> consumer) Matrix
(OVRMatrix4f.Buffer value) Copies the specifiedOVRMatrix4f.Buffer
to theMatrix()
field.static 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, 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
Unsafe version ofViewport
.static void
nViewport
(long struct, OVRRecti.Buffer value) Unsafe version ofViewport
.specifies the position and orientation of each eye view, with the position specified in meters.RenderPose
(int index) specifies the position and orientation of each eye view, with the position specified in meters.RenderPose
(int index, Consumer<OVRPosef> consumer) RenderPose
(int index, OVRPosef value) Copies the specifiedOVRPosef
at the specified index of theRenderPose()
field.RenderPose
(Consumer<OVRPosef.Buffer> consumer) Passes theRenderPose()
field to the specifiedConsumer
.RenderPose
(OVRPosef.Buffer value) Copies the specifiedOVRPosef.Buffer
to theRenderPose()
field.double
specifies the timestamp when the sourceovrPosef
(used in calculatingRenderPose
) was sampled from the SDK.SensorSampleTime
(double value) Sets the specified value to theSensorSampleTime()
field.set
(OVRLayerEyeMatrix src) Copies the specified struct data to this struct.set
(OVRLayerHeader Header, PointerBuffer ColorTexture, OVRRecti.Buffer Viewport, OVRPosef.Buffer RenderPose, OVRMatrix4f.Buffer Matrix, double SensorSampleTime) Initializes this struct with the specified values.int
sizeof()
Returnssizeof(struct)
.static void
validate
(long struct) Validates pointer members that should not beNULL
.Viewport()
specifies theColorTexture
sub-rect UV coordinates.Viewport
(int index) specifies theColorTexture
sub-rect UV coordinates.Copies the specifiedOVRRecti
at the specified index of theViewport()
field.Viewport
(Consumer<OVRRecti.Buffer> consumer) Passes theViewport()
field to the specifiedConsumer
.Viewport
(OVRRecti.Buffer value) Copies the specifiedOVRRecti.Buffer
to theViewport()
field.Methods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toString
Methods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
HEADER
public static final int HEADERThe struct member offsets. -
COLORTEXTURE
public static final int COLORTEXTUREThe struct member offsets. -
VIEWPORT
public static final int VIEWPORTThe struct member offsets. -
RENDERPOSE
public static final int RENDERPOSEThe struct member offsets. -
MATRIX
public static final int MATRIXThe struct member offsets. -
SENSORSAMPLETIME
public static final int SENSORSAMPLETIMEThe struct member offsets.
-
-
Constructor Details
-
OVRLayerEyeMatrix
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 Details
-
sizeof
public int sizeof()Description copied from class:Struct
Returnssizeof(struct)
.- Specified by:
sizeof
in classStruct<OVRLayerEyeMatrix>
-
Header
Header.Type
must beLayerType_EyeMatrix
-
ColorTexture
ovrTextureSwapChains
for the left and right eye respectively. The second one of which can beNULL
for cases described above. -
ColorTexture
public long ColorTexture(int index) ovrTextureSwapChains
for the left and right eye respectively. The second one of which can beNULL
for cases described above. -
Viewport
specifies theColorTexture
sub-rect UV coordinates. BothViewport[0]
andViewport[1]
must be valid. -
Viewport
specifies theColorTexture
sub-rect UV coordinates. BothViewport[0]
andViewport[1]
must be valid. -
RenderPose
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. -
RenderPose
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
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
-
Matrix
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
public double 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. -
Header
Copies the specifiedOVRLayerHeader
to theHeader()
field. -
Header
-
ColorTexture
Copies the specifiedPointerBuffer
to theColorTexture()
field. -
ColorTexture
Sets the specified value at the specified index of theColorTexture()
field. -
Viewport
Copies the specifiedOVRRecti.Buffer
to theViewport()
field. -
Viewport
Copies the specifiedOVRRecti
at the specified index of theViewport()
field. -
Viewport
Passes theViewport()
field to the specifiedConsumer
. -
Viewport
-
RenderPose
Copies the specifiedOVRPosef.Buffer
to theRenderPose()
field. -
RenderPose
Copies the specifiedOVRPosef
at the specified index of theRenderPose()
field. -
RenderPose
Passes theRenderPose()
field to the specifiedConsumer
. -
RenderPose
-
Matrix
Copies the specifiedOVRMatrix4f.Buffer
to theMatrix()
field. -
Matrix
Copies the specifiedOVRMatrix4f
at the specified index of theMatrix()
field. -
Matrix
-
Matrix
-
SensorSampleTime
Sets the specified value to theSensorSampleTime()
field. -
set
public OVRLayerEyeMatrix set(OVRLayerHeader Header, PointerBuffer ColorTexture, OVRRecti.Buffer Viewport, OVRPosef.Buffer RenderPose, OVRMatrix4f.Buffer Matrix, double SensorSampleTime) Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src
- the source struct- Returns:
- this struct
-
malloc
Returns a newOVRLayerEyeMatrix
instance allocated withmemAlloc
. The instance must be explicitly freed. -
calloc
Returns a newOVRLayerEyeMatrix
instance allocated withmemCalloc
. The instance must be explicitly freed. -
create
Returns a newOVRLayerEyeMatrix
instance allocated withBufferUtils
. -
create
Returns a newOVRLayerEyeMatrix
instance for the specified memory address. -
createSafe
-
malloc
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
Create aOVRLayerEyeMatrix.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
-
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)
instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)
instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)
instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)
instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)
instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)
instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)
instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)
instead. -
malloc
Returns a newOVRLayerEyeMatrix
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
calloc
Returns a newOVRLayerEyeMatrix
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
malloc
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
capacity
- the buffer capacitystack
- the stack from which to allocate
-
calloc
Returns a newOVRLayerEyeMatrix.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacitystack
- the stack from which to allocate
-
nHeader
Unsafe version ofHeader()
. -
nColorTexture
Unsafe version ofColorTexture()
. -
nColorTexture
public static long nColorTexture(long struct, int index) Unsafe version ofColorTexture
. -
nViewport
Unsafe version ofViewport()
. -
nViewport
Unsafe version ofViewport
. -
nRenderPose
Unsafe version ofRenderPose()
. -
nRenderPose
Unsafe version ofRenderPose
. -
nMatrix
Unsafe version ofMatrix()
. -
nMatrix
Unsafe version ofMatrix
. -
nSensorSampleTime
public static double nSensorSampleTime(long struct) Unsafe version ofSensorSampleTime()
. -
nHeader
Unsafe version ofHeader
. -
nColorTexture
Unsafe version ofColorTexture
. -
nColorTexture
public static void nColorTexture(long struct, int index, long value) Unsafe version ofColorTexture
. -
nViewport
Unsafe version ofViewport
. -
nViewport
Unsafe version ofViewport
. -
nRenderPose
Unsafe version ofRenderPose
. -
nRenderPose
Unsafe version ofRenderPose
. -
nMatrix
Unsafe version ofMatrix
. -
nMatrix
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
-